本文說明如何建立及管理清除政策。
必要的角色
如要取得套用或移除清除政策所需的權限,請要求管理員授予您存放區專案的 Artifact Registry 管理員 (roles/artifactregistry.admin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色具備套用或移除清除政策所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要套用或移除清除政策,您必須具備下列權限:
-
artifactregistry.repositories.update
-
如要刪除符合資源清理政策條件的構件:
artifactregistry.versions.delete
Artifact Registry 服務代理的預設角色包含 artifactregistry.versions.delete
權限,這是刪除符合清除政策條件的映像檔時的必要權限。
建立政策檔案
政策檔案是 JSON 檔案,用於定義刪除和保留政策。您可以建立及編輯 JSON 檔案來建立政策檔案,然後使用 Google Cloud CLI 套用政策,或使用 Google Cloud 控制台。刪除政策會指定刪除構件的條件。保留政策會指定保留構件的條件,或要保留的最新版本數量。您無法在同一項保留政策中使用條件和最新版本。
建立刪除政策
刪除政策可讓您指定刪除構件的最低或最高年齡,以及其他篩選條件,將政策限制為特定構件。
如有任何原因導致您不想刪除特定構件,請建立條件式保留政策或最新版本保留政策,以及刪除政策。如果構件同時符合刪除政策和保留政策的條件,系統會保留該構件。
主控台
您可以為新存放區或現有存放區建立刪除政策。
如要為現有存放區新增刪除政策,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中選取存放區,然後按一下「編輯存放區」。
在「資源清理政策」部分中,選取「模擬測試」,先測試新政策,再決定是否要刪除任何構件。如要進一步瞭解如何查看測試結果,請參閱「模擬執行」。
確認政策運作正常後,請再次編輯存放區設定,然後選取「刪除構件」,套用清理政策並刪除所選構件。
按一下「新增資源清理政策」,然後新增下列項目:
以下是定義刪除政策的選用方式:
- 標記前置字元:以半形逗號分隔的標記前置字元清單。舉例來說,前置字串
test
和staging
會比對標記為testenv
和staging-1.5
的圖片。如要使用代碼前置字元,tagState
必須設為TAGGED
。 - 版本前置字串:是以逗號分隔的構件版本前置字串清單。舉例來說,
v1
、v2
會比對v1.5
、v2.0alpha
和v10.2
版本。 - 套件前置字串:構件名稱前置字串清單。如要輸入多個前置字串,請在各個前置字串之間按下
Enter
或,
。 舉例來說,red, blue
會建立red
和blue
兩個前置字串,並比對構件名稱red-team
、redis
和bluebird
。 - 早於:是指構件版本在存放區中建立後經過的最短時間,以時間長度表示。例如
30d
是 30 天。如要指定秒、分、時或天數,請分別附加s
、m
、h
或d
。 - 新於:是構件版本在存放區中建立後經過的最長時間,以時間長度表示。例如
30d
是 30 天。
- 標記前置字元:以半形逗號分隔的標記前置字元清單。舉例來說,前置字串
如要新增更多資源清理政策,請按一下「加入資源清理政策」。
按一下「更新」。
系統會將清理政策套用至存放區。按一下「顯示更多」,即可在「存放區詳細資料」部分查看清除政策。
JSON
{
"name": "DELETE_POLICY_NAME",
"action": {"type": "Delete"},
"condition": {
"tagState": "TAG_STATUS",
"tagPrefixes": ["TAG_PREFIXES"],
"versionNamePrefixes": ["VERSION_PREFIXES"],
"packageNamePrefixes": ["PACKAGE_PREFIXES"],
"olderThan": "OLDER_THAN_DURATION",
"newerThan": "NEWER_THAN_DURATION"
}
}
刪除政策必須包含名稱、動作和至少一個條件。
name
- 在刪除政策程式碼片段中,DELETE_POLICY_NAME 是政策名稱。您套用至存放區的政策群組中,名稱不得重複。
action
- 如果是刪除政策,值為
{"type": "Delete"}
。 condition
- 指定下列一或多項條件:
tagState
:TAG_STATUS 表示政策應檢查已標記或未標記的構件。將映像檔推送至存放區或從存放區提取映像檔時,系統會為構件加上標記。支援的值如下:tagged
:僅適用於已標記的構件。untagged
:僅適用於未加上標記的構件。any
:忽略標記狀態,適用於已標記和未標記的構件。
不支援標記的格式會視為
untagged
。如果存放區已啟用不可變更的標記,就無法刪除已標記的構件。如要進一步瞭解 Docker 標記,請參閱「容器概念」。
tagPrefixes
:TAG_PREFIXES 是以半形逗號分隔的標記前置字串清單。舉例來說,"test", "staging"
會比對標記為"testenv"
和"staging-1.5"
的圖片。如要使用代碼前置字元,tagState
必須設為TAGGED
。versionNamePrefixes
:VERSION_PREFIXES 是以逗號分隔的構件版本前置字串清單。舉例來說,"v1", "v2"
會比對"v1.5"
、"v2.0alpha"
和"v10.2"
版本。packageNamePrefixes
:PACKAGE_PREFIXES 是以逗號分隔的構件名稱前置字元清單。舉例來說,"red", "blue"
會比對構件名稱"red-team"
、"redis"
和"bluebird"
。olderThan
:OLDER_THAN_DURATION 是指從在存放區中建立構件版本起算的最短時間,以時間長度表示。例如30d
是 30 天。如要指定秒、分、時或天數,請分別附加s
、m
、h
或d
。newerThan
:NEWER_THAN_DURATION 是指在存放區中建立構件版本後經過的最長時間,以時間長度表示。例如30d
是 30 天。
Artifact Registry 會使用定期執行的背景工作,模擬測試及實際執行清除政策。變更會在約一天內生效。
建立有條件保留政策
有條件保留政策會指定保留構件的條件。保留政策會與刪除政策搭配使用,保留根據刪除政策規格應刪除,但您想保留的構件。如果構件同時符合刪除政策和保留政策的條件,系統會保留該構件。
主控台
您可以為新的或現有的存放區建立保留政策。
如要為現有存放區新增保留政策:
在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中選取存放區,然後按一下「編輯存放區」。
在「資源清理政策」部分中,選取「模擬測試」,先測試新政策,再決定是否要刪除任何構件。您必須設定至少一項刪除政策,才能查看保留政策的結果。如要進一步瞭解如何查看測試結果,請參閱模擬執行。
確認政策運作正常後,請再次編輯存放區設定,然後選取「刪除構件」,套用清理政策並刪除所選構件。
按一下「新增資源清理政策」,然後新增下列項目:
以下是定義保留政策的選用方式:
- 標記前置字元:以半形逗號分隔的標記前置字元清單。舉例來說,前置字串
test
和staging
會比對標記為testenv
和staging-1.5
的圖片。如要使用代碼前置字元,tagState
必須設為TAGGED
。 - 版本前置字串:是以逗號分隔的構件版本前置字串清單。舉例來說,
v1
、v2
會比對v1.5
、v2.0alpha
和v10.2
版本。 - 套件前置字元:以半形逗號分隔的構件名稱前置字元清單。
舉例來說,
red, blue
會比對構件名稱red-team
、redis
和bluebird
。
- 早於:是指構件版本在存放區中建立後經過的最短時間,以時間長度表示。例如
30d
是 30 天。如要指定秒、分、時或天數,請分別附加s
、m
、h
或d
。 - 新於:是構件版本在存放區中建立後經過的最長時間,以時間長度表示。例如
30d
是 30 天。
- 標記前置字元:以半形逗號分隔的標記前置字元清單。舉例來說,前置字串
如要新增更多資源清理政策,請按一下「加入資源清理政策」。
按一下「更新」。
系統會將清理政策套用至存放區。
JSON
格式與刪除政策類似。如果是保留政策,action
的值為 {"type": "Keep"}
。
{
"name": "KEEP_POLICY_NAME",
"action": {"type": "Keep"},
"condition": {
"tagState": "TAG_STATUS",
"tagPrefixes": ["TAG_PREFIXES"],
"versionNamePrefixes": ["VERSION_PREFIXES"],
"packageNamePrefixes": ["PACKAGE_PREFIXES"],
"olderThan": "OLDER_THAN_DURATION",
"newerThan": "NEWER_THAN_DURATION"
}
}
更改下列內容:
- 將
KEEP_POLICY_NAME
替換為資源清理政策的名稱。您套用至存放區的政策群組中,名稱不得重複。 TAG_STATUS
標記狀態,指出政策應檢查已標記或未標記的構件。將映像檔推送至存放區或從存放區提取映像檔時,系統會為構件加上標記。如要進一步瞭解 Docker 標記,請參閱「容器概念」。選項如下:
tagged
:僅適用於已標記的構件。untagged
:僅適用於未加上標記的構件。any
:適用於所有版本
不支援標記的格式會視為
untagged
。 如果存放區已啟用不可變更的標記,就無法刪除已加上標記的構件。如要進一步瞭解適用於清除政策的標記狀態,請參閱標記狀態參考資料。TAG_PREFIXES
,並以逗號分隔標記前置字串。舉例來說,前置字串test
和staging
會比對標記為testenv
和staging-1.5
的圖片。如要使用代碼前置字元,tagState
必須設為TAGGED
。VERSION_PREFIXES
,並以半形逗號分隔構件版本前置字元清單。舉例來說,v1, v2
會比對v1.5
、v2.0alpha
和v10.2
版本。PACKAGE_PREFIXES
,並以半形逗號分隔構件名稱前置字元。舉例來說,red, blue
會比對構件名稱red-team
、redis
和bluebird
。
OLDER_THAN_DURATION
,並指定時間長度,表示從在存放區中建立構件版本以來經過的最短時間。例如30d
是 30 天。如要指定秒、分、時或天數,請分別附加s
、m
、h
或d
。NEWER_THAN_DURATION
,並以時間長度為單位,指定在存放區中建立構件版本後的最長時間。例如30d
是 30 天。
Artifact Registry 會使用定期執行的背景工作,模擬測試及實際執行清除政策。變更會在約一天內生效。
建立保留最新版本的政策
您可以建立保留政策,保留特定數量的版本。您無法在同一個保留政策中,同時使用「有條件保留」和「保留最新版本」條件。
保留政策會與刪除政策搭配運作,保留根據刪除政策規格應刪除,但您想保留的構件。如果構件符合刪除政策和保留政策的條件,系統會保留該構件。
主控台
您可以為新的或現有的存放區建立「保留最新版本」政策。
如要將「保留最新版本」政策新增至現有存放區,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中選取存放區,然後按一下「編輯存放區」。
在「資源清理政策」部分中,選取「模擬測試」,先測試新政策,再決定是否要刪除任何構件。您必須設定至少一項刪除政策,才能查看保留政策的結果。如要進一步瞭解如何查看測試結果,請參閱模擬執行。
確認政策運作正常後,請再次編輯存放區設定,然後選取「刪除構件」,套用清理政策並刪除所選構件。
按一下「新增資源清理政策」,然後新增下列項目:
- 「名稱」:為資源清理政策命名。您套用至存放區的政策群組中,名稱不得重複。
- 政策類型:選取「保留最新版本」。
在「Keep count」(保留計數) 欄位中,輸入要保留在存放區中的構件版本數量。
選用:選取「套件前置字元」,指定要套用保留政策的套件前置字元。舉例來說,
red, blue
會比對構件名稱red-team
、redis
和bluebird
。如要新增更多資源清理政策,請按一下「加入資源清理政策」。
按一下「更新」。
系統會將清理政策套用至存放區。按一下「顯示更多」,即可在「存放區詳細資料」部分查看清除政策。
JSON
格式與刪除政策類似。如果是保留政策,action
的值為 {"type": "Keep"}
。
保留特定版本數量的保留政策會包含 mostRecentVersions
區段,而非 condition
區段。
{
"name": "KEEP_POLICY_NAME",
"action": {"type": "Keep"},
"mostRecentVersions": {
"packageNamePrefixes": ["PACKAGE_PREFIXES"],
"keepCount": MINIMUM_NUMBER
}
}
更改下列內容:
KEEP_POLICY_NAME
,並為保留政策命名。這個名稱在您套用至存放區的政策群組中不得重複。PACKAGE_PREFIXES
,並視需要提供要套用保留政策的套件前置字串。舉例來說,red, blue
會比對構件名稱red-team
、redis
和bluebird
。
MINIMUM_NUMBER
,其中包含要在存放區中保留的構件版本數量。
如要將保留政策套用至存放區中的所有套件,請省略 packageNamePrefixes
條件。系統會保留存放區中每個套件指定數量的近期版本。
Artifact Registry 會使用定期執行的背景工作,模擬測試及實際執行清除政策。變更會在約一天內生效。
範例政策檔案
以下政策檔案範例有一個刪除政策和兩個保留政策。
- 如果構件開頭為
alpha
或v0
,delete-prerelease
政策會在上傳 30 天後移除構件版本。 keep-tagged-release
政策會保留以release
前置字串標記的構件,這些構件的檔案名稱開頭為webapp
或mobile
。keep-minimum-versions
政策會保留檔案名稱開頭為webapp
、mobile
或sandbox
的構件,最多保留五個最新版本。
[
{
"name": "delete-prerelease",
"action": {"type": "Delete"},
"condition": {
"tagState": "tagged",
"tagPrefixes": ["alpha", "v0"],
"olderThan": "30d"
}
},
{
"name": "keep-tagged-release",
"action": {"type": "Keep"},
"condition": {
"tagState": "tagged",
"tagPrefixes": ["release"],
"packageNamePrefixes": ["webapp", "mobile"]
}
},
{
"name": "keep-minimum-versions",
"action": {"type": "Keep"},
"mostRecentVersions": {
"packageNamePrefixes": ["webapp", "mobile", "sandbox"],
"keepCount": 5
}
}
]
透過模擬測試政策
如要測試清理政策,您可以在控制台中將清理政策設為模擬測試,或執行 gcloud artifacts set-cleanup-policies
指令並搭配使用 --dry-run
標記。
如要分析清除政策的影響,可以查看 Artifact Registry 資料存取稽核記錄。如要接收清理政策的資料存取稽核記錄,您必須明確啟用 Artifact Registry 服務的資料寫入類型資料存取稽核記錄。如要啟用資料存取稽核記錄,請參閱「啟用稽核記錄」一文。
主控台
在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中選取存放區,然後按一下「編輯存放區」。
在「資源清理政策」部分中,選取「模擬測試」。
按一下「更新」。
如果刪除政策導致 BatchDeleteVersions
動作,參數 validateOnly
會評估為 "true"
。
Artifact Registry 會使用定期執行的背景工作,模擬測試及實際執行清除政策。變更會在約一天內生效。
請等待至少一天,再查詢模擬測試的稽核記錄。
如要查詢清理政策模擬測試的稽核記錄,請執行下列指令:
gcloud logging read 'protoPayload.serviceName="artifactregistry.googleapis.com" AND protoPayload.request.parent="projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY" AND protoPayload.request.validateOnly=true' \
--resource-names="projects/PROJECT_ID" \
--project=PROJECT_ID
輸出結果會與下列內容相似:
insertId: qwe123ty3
logName: projects/my-project/logs/cloudaudit.googleapis.com%2Fdata_access
operation:
first: true
id: projects/my-project/locations/us-west1/operations/12345abc-fb9b-4b6f-b02c-9a397ee807d4
producer: artifactregistry.googleapis.com
protoPayload:
'@type': type.googleapis.com/google.cloud.audit.AuditLog
authenticationInfo:
principalEmail: service-774919394028@gcp-sa-staging-artreg.iam.gserviceaccount.com
authorizationInfo:
- granted: true
permission: artifactregistry.versions.delete
resource: projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/-
resourceAttributes: {}
methodName: google.devtools.artifactregistry.v1.ArtifactRegistry.BatchDeleteVersions
request:
'@type': type.googleapis.com/google.devtools.artifactregistry.v1.BatchDeleteVersionsRequest
names:
- projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/docker-load-thursday/versions/sha256:4bb3756e4e75dfbc3ced87521ed62b26d16fb4e17993ae6877165f2b6551fb55
- projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/docker-load-thursday/versions/sha256:e8185538b50df953529b300be4963b2c21158808becac7aa0d610f61de8ba701
- projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/docker-load-thursday/versions/sha256:7f7fb0a9453da49f831fe92eb8b1751be13acefe1bbd44cc3f0d63d41c422246
- projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/docker-load-thursday/versions/sha256:84ac871a34560b39dd7bde57b4d333f18a7e8c1b61c8d350c1fefeb1fcd2b3ac
parent: projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/-
validateOnly: true
requestMetadata:
callerIp: private
callerSuppliedUserAgent: stubby_client
destinationAttributes: {}
requestAttributes:
auth: {}
time: '2023-05-26T04:31:21.909465579Z'
resourceName: projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/-
serviceName: artifactregistry.googleapis.com
receiveTimestamp: '2023-05-26T04:31:22.641338594Z'
resource:
labels:
method: google.devtools.artifactregistry.v1.ArtifactRegistry.BatchDeleteVersions
project_id: my-project
service: artifactregistry.googleapis.com
type: audited_resource
severity: INFO
timestamp: '2023-05-26T04:31:21.909004200Z'
gcloud
如要使用清理政策進行試運轉,請執行下列指令:
gcloud artifacts repositories set-cleanup-policies REPOSITORY \
--project=PROJECT_ID \
--location=LOCATION \
--policy=POLICY_FILE \
--dry-run
更改下列內容:
- 將
REPOSITORY
替換為存放區的名稱。 - 將
PROJECT_ID
替換為專案的 ID。 Google Cloud -
LOCATION
是存放區的區域或多區域位置。
如果刪除政策導致 BatchDeleteVersions
動作,參數 validateOnly
會評估為 "true"
。
Artifact Registry 會使用定期執行的背景工作,模擬測試及實際執行清除政策。變更會在約一天內生效。
請等待至少一天,再查詢模擬測試的稽核記錄。
如要查詢清理政策模擬測試的稽核記錄,請執行下列指令:
gcloud logging read 'protoPayload.serviceName="artifactregistry.googleapis.com" AND protoPayload.request.parent="projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY" AND protoPayload.request.validateOnly=true' \
--resource-names="projects/PROJECT_ID" \
--project=PROJECT_ID
輸出結果會與下列內容相似:
insertId: qwe123ty3
logName: projects/my-project/logs/cloudaudit.googleapis.com%2Fdata_access
operation:
first: true
id: projects/my-project/locations/us-west1/operations/12345abc-fb9b-4b6f-b02c-9a397ee807d4
producer: artifactregistry.googleapis.com
protoPayload:
'@type': type.googleapis.com/google.cloud.audit.AuditLog
authenticationInfo:
principalEmail: service-774919394028@gcp-sa-staging-artreg.iam.gserviceaccount.com
authorizationInfo:
- granted: true
permission: artifactregistry.versions.delete
resource: projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/-
resourceAttributes: {}
methodName: google.devtools.artifactregistry.v1.ArtifactRegistry.BatchDeleteVersions
request:
'@type': type.googleapis.com/google.devtools.artifactregistry.v1.BatchDeleteVersionsRequest
names:
- projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/docker-load-thursday/versions/sha256:4bb3756e4e75dfbc3ced87521ed62b26d16fb4e17993ae6877165f2b6551fb55
- projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/docker-load-thursday/versions/sha256:e8185538b50df953529b300be4963b2c21158808becac7aa0d610f61de8ba701
- projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/docker-load-thursday/versions/sha256:7f7fb0a9453da49f831fe92eb8b1751be13acefe1bbd44cc3f0d63d41c422246
- projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/docker-load-thursday/versions/sha256:84ac871a34560b39dd7bde57b4d333f18a7e8c1b61c8d350c1fefeb1fcd2b3ac
parent: projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/-
validateOnly: true
requestMetadata:
callerIp: private
callerSuppliedUserAgent: stubby_client
destinationAttributes: {}
requestAttributes:
auth: {}
time: '2023-05-26T04:31:21.909465579Z'
resourceName: projects/my-project/locations/us-west1/repositories/docker-test-dryrun/packages/-
serviceName: artifactregistry.googleapis.com
receiveTimestamp: '2023-05-26T04:31:22.641338594Z'
resource:
labels:
method: google.devtools.artifactregistry.v1.ArtifactRegistry.BatchDeleteVersions
project_id: my-project
service: artifactregistry.googleapis.com
type: audited_resource
severity: INFO
timestamp: '2023-05-26T04:31:21.909004200Z'
對存放區套用政策
如要使用本機 JSON 檔案中定義的清除政策,請使用 gcloud CLI 將政策套用至要由 Artifact Registry 自動刪除構件版本的存放區。
如要在控制台中套用設為「模擬測試」的資源清理政策,請將政策設為「刪除構件」。
您只能對標準存放區套用清理政策。您無法對下列項目套用清除政策:
- Google Cloud 專案。
主控台
如要套用資源清理政策,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中選取存放區,然後按一下「編輯存放區」。
在「清除政策」部分,選取「刪除構件」。
Artifact Registry 會定期執行背景工作,根據政策刪除及保留構件。變更應會在一天內生效。
gcloud
如要套用清除政策,請在包含清除政策檔案的目錄中執行下列指令。
gcloud artifacts repositories set-cleanup-policies REPOSITORY \
--project=PROJECT_ID \
--location=LOCATION \
--policy=POLICY_FILE \
--no-dry-run
更改下列內容:
- 將
REPOSITORY
替換為存放區的名稱。 - 將
PROJECT_ID
替換為專案的 ID。 Google Cloud -
LOCATION
是存放區的區域或多區域位置。 POLICY_FILE
是包含清除政策的檔案名稱。
--no-dry-run
旗標會停用存放區的試執行功能。
舉例來說,下列指令會將 policy.json
中的政策套用至專案 my-project
中 us-west1
地區的存放區 my-repo
。
gcloud artifacts repositories set-cleanup-policies my-repo \
--project=my-project \
--location=us-west1 \
--policy=policy.json
Artifact Registry 會使用定期執行的背景工作,刪除及保留符合政策的構件。變更應會在一天內生效。
更新政策
主控台
在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中選取存放區,然後按一下「編輯存放區」。
在「清除政策」部分,按一下要設定或修改的政策名稱。
編輯資源清理政策,然後按一下「更新」。
系統會將清理政策套用至存放區。
gcloud
如要更新現有政策,請編輯政策檔案中的設定,然後再次執行下列指令套用政策。
gcloud artifacts repositories set-cleanup-policies REPOSITORY \
--project=PROJECT_ID \
--location=LOCATION \
--policy=POLICY_FILE \
--no-dry-run
更改下列內容:
- 將
REPOSITORY
替換為存放區的名稱。 - 將
PROJECT_ID
替換為專案的 ID。 Google Cloud -
LOCATION
是存放區的區域或多區域位置。 POLICY_FILE
是包含清除政策的檔案名稱。
--no-dry-run
旗標會停用存放區的試執行功能。
列出存放區資源清理政策
您可以查看與存放區相關聯的資源清理政策。
主控台
在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中,選取要查看的存放區。
在「存放區詳細資料」部分,按一下「顯示更多」。
系統會顯示清除政策名稱。
如要查看或編輯存放區的清理政策詳細資料,請按一下「編輯存放區」。
現有的資源清理政策詳細資料會列在「資源清理政策」專區。
gcloud
執行下列指令:
gcloud artifacts repositories list-cleanup-policies REPOSITORY \
--project=PROJECT_ID \
--location=LOCATION
更改下列內容:
- 將
REPOSITORY
替換為存放區的名稱。 - 將
PROJECT_ID
替換為專案的 ID。 Google Cloud -
LOCATION
是存放區的區域或多區域位置。
從存放區移除政策
如果不想再讓 Artifact Registry 自動刪除構件版本,請從存放區移除清理政策。
主控台
在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中選取存放區,然後按一下「編輯存放區」。
在「清除政策」部分,將游標懸停在要刪除的政策名稱上。
按一下「刪除」圖示。
按一下「更新」。
已刪除清理政策。
gcloud
執行下列指令:
gcloud artifacts repositories delete-cleanup-policies REPOSITORY \
--policynames=POLICY_NAMES \
--project=PROJECT_ID \
--location=LOCATION
更改下列內容:
REPOSITORY
是存放區的名稱。PROJECT_ID
是 Google Cloud 專案的 ID。-
LOCATION
是存放區的區域或多區域位置。 POLICY_NAMES
是以半形逗號分隔的政策名稱清單,列出要移除的政策。
舉例來說,下列指令會從專案 my-project
中,位於 us-west1
地區的存放區 my-repo
移除名為 delete-test
的政策:
gcloud artifacts repositories delete-cleanup-policies my-repo \
--policynames=delete-test \
--project=my-project \
--location=us-west1
資源清理政策的稽核記錄項目
如要在 Cloud Logging 中查看清除政策記錄項目,請啟用 DATA_WRITE
記錄功能。
在存放區中設定資源清理政策時,這項作業會記錄為存放區更新 (UpdateRepository
作業)。
Artifact Registry 刪除構件版本時,會在 Cloud Logging 資料存取記錄中記錄該事件。記錄項目顯示 Artifact Registry 服務帳戶執行了刪除作業。Artifact Registry 服務帳戶 ID 的格式為 service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com