AWS CodeArtifact アクセス許可リファレンス - CodeArtifact

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CodeArtifact アクセス許可リファレンス

AWS CodeArtifact リソースとオペレーション

では AWS CodeArtifact、プライマリリソースはドメインです。ポリシーで Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。リポジトリはリソースでもあり、ARN が関連付けられています。詳細については、「Amazon Web Services 全般のリファレンス」の「Amazon Resource Names (ARNs)」を参照してください。

リソースタイプ ARN 形式
[ドメイン]

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

リポジトリ

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

パッケージグループ

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

ネームスペースを持つパッケージ

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ネームスペースを持たないパッケージ

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format//my_package

すべての CodeArtifact リソース

arn:aws:codeartifact:*

指定された AWS リージョン内の指定されたアカウントが所有するすべての CodeArtifact リソース

arn:aws:codeartifact:region-ID:account-ID:*

どのリソース ARN を指定するかは、アクセスをコントロールする対象のアクションによって異なります。

以下のように ARN を使用して、ステートメント内で特定のドメイン (myDomain) を指定できます。

"Resource": "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain"

以下のように ARN を使用して、ステートメント内で特定のリポジトリ (myRepo) を指定できます。

"Resource": "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain/myRepo"

単一のステートメントに複数のリソースを指定するには、コンマで ARN を区切ります。次のステートメントは、特定のドメインのすべてのパッケージとリポジトリに適用されます。

"Resource": [ "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain", "arn:aws:codeartifact:us-east-2:123456789012:repository/myDomain/*", "arn:aws:codeartifact:us-east-2:123456789012:package/myDomain/*" ]
注記

多くの AWS サービスでは、ARN 内のコロン (:) またはスラッシュ (/) は同じ文字として扱われARNs。ただし、 はリソースパターンとルールで完全一致 CodeArtifact を使用します。イベントパターンの作成時に正しい文字を使用して、リソース内の ARN 構文とそれらの文字が一致する必要があります。

AWS CodeArtifact API オペレーションとアクセス許可

アクセスコントロールをセットアップし、IAM アイデンティティ (アイデンティティベースのポリシー) にアタッチできるアクセス権限ポリシーを作成する際に、以下の表をリファレンスとして使用できます。

AWS CodeArtifact ポリシーで AWS全体の条件キーを使用して、条件を表現できます。表の詳細については、[IAM ユーザーガイド]の「IAM JSON ポリシー要素のリファレンス」を参照してください。

アクションは、ポリシーの Action フィールドで指定します。アクションを指定するには、API オペレーション名 (例えば、codeartifact:codeartifact:CreateDomain) の前に codeartifact:AssociateExternalConnection プレフィックスを使用します。単一のステートメントに複数のアクションを指定するには、コンマで区切ります (例えば、"Action": [ "codeartifact:CreateDomain", "codeartifact:AssociateExternalConnection" ])。

ワイルドカード文字の使用

ポリシーの Resource フィールドでリソース値として、ワイルドカード文字 (*) を使用して、または使用せずに ARN を指定します。ワイルドカードを使用して複数のアクションまたはリソースを指定することができます。例えば、 codeartifact:*はすべての CodeArtifact アクションを指定し、 は という単語で始まるすべての CodeArtifact アクションcodeartifact:Describe*を指定しますDescribe

CodeArtifact API オペレーションとアクションに必要なアクセス許可
AWS CodeArtifact API オペレーション 必要な許可 (API アクション) リソース
AssociateExternalConnection

codeartifact:AssociateExternalConnection

リポジトリに外部接続を追加するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

CopyPackageVersions

ソースリポジトリからターゲットリポジトリにパッケージバージョンをコピーするには、次の手順に従います。

codeartifact:CopyPackageVersions

ターゲットリポジトリで必要です。

codeartifact:ReadFromRepository

ソースリポジトリで必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

CreateDomain

codeartifact:CreateDomain

ドメインの作成に必要です。

kms:DescribeKey および kms:CreateGrant

デフォルトではない encryptionKey を指定する場合は、指定された KMS キーに必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

CreatePackageGroup

codeartifact:CreatePackageGroup

パッケージグループを作成するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

CreateRepository

codeartifact:CreateRepository

リポジトリを作成するのに必要です。

codeartifact:AssociateWithDownstreamRepository

アップストリームリポジトリとしてダウンストリームのリポジトリに追加できるようにするために、リポジトリに必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DeleteDomain

codeartifact:DeleteDomain

ドメインの削除に必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DeleteDomainPermissionsPolicy

codeartifact:DeleteDomainPermissionsPolicy

ドメインのリソースポリシーを削除するために必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DeletePackage

codeartifact:DeletePackage

パッケージを削除するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DeletePackageGroup

codeartifact:DeletePackageGroup

パッケージグループを削除するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

DeletePackageVersions

codeartifact:DeletePackageVersions

パッケージのバージョンを削除するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DeleteRepository

codeartifact:DeleteRepository

リポジトリを削除するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DeleteRepositoryPermissionsPolicy

codeartifact:DeleteRepositoryPermissionsPolicy

ドメインのリソースポリシーを削除するために必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DescribeDomain

codeartifact:DescribeDomain

ドメインに関する情報を取得するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DescribePackage

codeartifact:DescribePackage

パッケージに関する情報を取得するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DescribePackageGroup

codeartifact:DescribePackageGroup

パッケージグループに関する情報を取得するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

DescribePackageVersion

codeartifact:DescribePackageVersion

パッケージのバージョンに関する情報を取得するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DescribeRepository

codeartifact:DescribeRepository

ひとつのリポジトリに関する情報を取得するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DisassociateExternalConnection

codeartifact:DisassociateExternalConnection

リポジトリに外部接続を削除するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DisposePackageVersions

codeartifact:DisposePackageVersions

パッケージのバージョンを削除するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

GetAssociatedPackageGroup

codeartifact:GetAssociatedPackageGroup

パッケージの関連付けられたパッケージグループを取得するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

GetAuthorizationToken

codeartifact:GetAuthorizationToken

sts:GetServiceBearerToken

リポジトリにアクセスするための一時的な認証トークンを取得するために必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

GetDomainPermissionsPolicy

codeartifact:GetDomainPermissionsPolicy

ドメインリソースポリシーを取得するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

GetPackageVersionAsset

codeartifact:GetPackageVersionAsset

パッケージバージョンでアセットを取得するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package
GetPackageVersionReadme

codeartifact:GetPackageVersionReadme

パッケージバージョンの readme を取得するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

GetRepositoryEndpoint

codeartifact:GetRepositoryEndpoint

リポジトリエンドポイントを取得するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

GetRepositoryPermissionsPolicy

codeartifact:GetRepositoryPermissionsPolicy

リポジトリリソースポリシーを取得するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ListAssociatedPackages

codeartifact:ListAssociatedPackages

パッケージグループに関連付けられたパッケージのリストを返すために必要です。

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

ListDomains

codeartifact:ListDomains

AWS アカウントのドメインのページ分割されたリストを返すために必要です。

*

ListPackageGroups

codeartifact:ListPackageGroups

ドメイン内のパッケージグループのページ分割されたリストを返すために必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

ListPackages

codeartifact:ListPackages

リポジトリのパッケージのページ分割されたリストを返すために必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ListPackageVersionAssets

codeartifact:ListPackageVersionAssets

パッケージバージョンのアセットのページ分割されたリストを返すために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListPackageVersionDependencies

codeartifact:ListPackageVersionDependencies

パッケージバージョンの依存関係のページ分割されたリストを返すために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListPackageVersions

codeartifact:ListPackageVersions

リポジトリのパッケージのページ分割されたリストを返すために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListRepositories

codeartifact:ListRepositories

AWS アカウントのリポジトリのページ分割されたリストを返すために必要です。

*

ListRepositoriesInDomain

codeartifact:ListRepositoriesInDomain

ドメインのリポジトリのページ分割されたリストを返すために必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

ListSubPackageGroups

codeartifact:ListSubPackageGroups

パッケージグループの直接の子パッケージグループのリストを返すために必要です。

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

ListTagsForResource

codeartifact:ListTagsForResource

指定したリソースのタグを一覧表示するために必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

PublishPackageVersion

codeartifact:PublishPackageVersion

パッケージバージョンをリポジトリに公開するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutDomainPermissionsPolicy

codeartifact:PutDomainPermissionsPolicy

ドメインリソースポリシーを取得するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

PutPackageMetadata

codeartifact:PutPackageMetadata

Maven パッケージのバージョンをリポジトリに公開したり、npm パッケージバージョンから npm タグを追加または削除したりするために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutPackageOriginConfiguration

codeartifact:PutPackageOriginConfiguration

パッケージのオリジン設定を更新するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutRepositoryPermissionsPolicy

codeartifact:PutRepositoryPermissionsPolicy

リソースポリシーをリポジトリに追加するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ReadFromRepository

codeartifact:ReadFromRepository

パッケージマネージャークライアントを使用してリポジトリから読み取るために必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

TagResource

codeartifact:TagResource

リソースにタグを付けるために必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

UntagResource

codeartifact:UntagResource

リソースからタグを削除するために必要です。

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

UpdatePackageGroup

codeartifact:UpdatePackageGroup

パッケージグループを更新するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

UpdatePackageGroupOriginConfiguration

codeartifact:UpdatePackageGroupOriginConfiguration

パッケージグループのオリジン設定を更新するために必要です。

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

UpdatePackageVersionsStatus

codeartifact:UpdatePackageVersionsStatus

パッケージバージョンのステータスを変更するのに必要です。

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

UpdateRepository

codeartifact:UpdateRepository

リポジトリの説明、または、アップストリーム接続を更新するために必要です。詳細については、 CodeArtifact API ガイドUpdateRepositoryリポジトリのアップストリーム設定を変更する「」または「」を参照してください。

codeartifact:AssociateWithDownstreamRepository

アップストリームリポジトリとしてダウンストリームのリポジトリに追加できるようにするために、リポジトリに必要です。

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

パッケージグループ ARNs

注記

このセクションでは、パッケージグループの ARNs とパターンエンコーディングがどのように情報であるかについて説明します。コンソールから ARNs をコピーするか、エンコードパターンARNs の構築の代わりに DescribePackageGroup API を使用して ARNsを取得することをお勧めします。

IAM ポリシーでは、ワイルドカード文字 を使用して*、複数の IAM アクションまたは複数のリソースを照合します。パッケージグループのパターンでは、 *文字も使用します。1 つのパッケージグループに一致する IAM ポリシーをより簡単に記述するために、パッケージグループ ARN 形式はパッケージグループパターンのエンコードされたバージョンを使用します。

具体的には、パッケージグループの ARN 形式は次のとおりです。

arn:aws:codeartifact:region:account-ID:package-group/my_domain/encoded_package_group_pattern

ここで、エンコードされたパッケージグループパターンはパッケージグループパターンであり、特定の特殊文字はパーセントエンコードされた値に置き換えられます。次のリストには、文字とそれに対応するパーセントエンコードされた値が含まれています。

  • * : %2a

  • $ : %24

  • % : %25

例えば、ドメインのルートパッケージグループの ARN (/*) は次のようになります。

arn:aws:codeartifact:us-east-1:111122223333:package-group/my_domain/%2a

リストに含まれていない文字はエンコードできず、ARNsでは大文字と小文字が区別されるため、 %2aではなく としてエンコード*する必要があります%2A