リポジトリを削除する - CodeArtifact

リポジトリを削除する

CodeArtifact コンソールまたは AWS CLI を使用してリポジトリを削除できます。リポジトリを削除すると、そのリポジトリにパッケージをプッシュしたり、そこからパッケージをプルしたりすることはできなくなります。リポジトリ内のすべてのパッケージは永続的に使用できなくなり、復元できなくなります。同じ名前のリポジトリを作成できますが、その内容は空になります。

重要

リポジトリを削除したら、元に戻すことはできません。リポジトリの削除後は、そのリポジトリを復元できなくなります。

リポジトリを削除する (コンソール)

  1. AWSCodeArtifact コンソールは (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": "*" } ] }

または、同じ拒否ステートメントをリポジトリポリシーに含めることができます。これにより、価値の高いリポジトリを削除から保護するために、より柔軟に対応できるようになります。