删除存储库 - CodeArtifact

删除存储库

您可以使用 CodeArtifact 控制台或 AWS CLI 删除存储库。删除存储库后,即不能再向存储库推送程序包或从中提取程序包。存储库中的所有程序包都变为永久不可用且无法还原。您可以创建一个同名的存储库,但其内容将为空。

重要

删除存储库的操作无法撤销。删除存储库后,您无法再将其恢复,也无法进行还原。

删除存储库(控制台)

  1. 打开 AWS CodeArtifact 控制台,网址为:https://console.aws.amazon.com/codesuite/codeartifact/home

  2. 在导航窗格上,选择存储库,然后选择要删除的存储库。

  3. 选择删除,然后按照步骤删除域。

删除存储库 (AWS CLI)

使用 delete-repository 命令来删除存储库。

aws codeartifact delete-repository --domain my_domain --domain-owner 111122223333 --repository my_repo

输出示例:

{ "repository": { "name": "my_repo", "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "123456789012", "arn": "arn:aws:codeartifact:region-id:123456789012:repository/my_domain/my_repo", "description": "My new repository", "upstreams": [], "externalConnections": [] } }

保护存储库免遭删除

可以通过添加类似于以下内容的域策略,来防止存储库被意外删除:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyRepositoryDeletion", "Action": [ "codeartifact:DeleteRepository" ], "Effect": "Deny", "Resource": "*", "Principal": "*" } ] }

此策略阻止所有主体删除存储库,但如果您之后决定需要删除存储库,可按以下步骤进行操作:

  1. 在域策略中,将策略更新为以下内容:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "DenyRepositoryDeletion", "Action": [ "codeartifact:DeleteRepository" ], "Effect": "Deny", "NotResource": "arn:aws:iam::*:role/Service*", "Principal": "*" } ] }

    repository-arn 替换为您要删除的存储库的 ARN。

  2. 在 AWS CodeArtifact 控制台中,选择存储库,然后删除所选的存储库。

  3. 删除存储库后,您可以更改回之前的策略以防止意外删除。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "DenyRepositoryDeletion", "Action": [ "codeartifact:DeleteRepository" ], "Effect": "Deny", "Resource": "*", "Principal": "*" } ] }

或者,也可以在存储库策略中包含相同的拒绝语句。这样便可以更灵活地保护高价值存储库免遭删除。