翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CodeArtifact アクセス許可リファレンス
AWS CodeArtifact リソースとオペレーション
In AWS CodeArtifact、プライマリリソースはドメインです。ポリシーで Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。リポジトリはリソースでもあり、ARN が関連付けられています。詳細については、「Amazon Web Services 全般のリファレンス」の「Amazon Resource Names (ARNs)」を参照してください。
| リソースタイプ | ARN 形式 |
|---|---|
| ドメイン |
|
| リポジトリ |
|
| パッケージグループ |
|
| ネームスペースを持つパッケージ |
|
| ネームスペースを持たないパッケージ |
|
|
すべての CodeArtifact リソース |
|
|
特定の AWS リージョンの特定アカウントに所有されるすべての CodeArtifact リソース |
|
どのリソース 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:Describe* は、Describe という単語で始まるすべての CodeArtifact アクションを指定します。
| AWS CodeArtifact API オペレーション | 必要な許可 (API アクション) | リソース |
|---|---|---|
AssociateExternalConnection |
リポジトリに外部接続を追加するのに必要です。 |
|
CopyPackageVersions |
ソースリポジトリからターゲットリポジトリにパッケージバージョンをコピーするには、次の手順に従います。
ターゲットリポジトリで必要です。
ソースリポジトリで必要です。 |
|
CreateDomain |
ドメインの作成に必要です。
デフォルトではない |
|
CreatePackageGroup |
パッケージグループを作成するために必要です。 |
|
CreateRepository |
リポジトリを作成するのに必要です。
アップストリームリポジトリとしてダウンストリームのリポジトリに追加できるようにするために、リポジトリに必要です。 |
|
DeleteDomain |
ドメインの削除に必要です。 |
|
DeleteDomainPermissionsPolicy |
ドメインのリソースポリシーを削除するために必要です。 |
|
DeletePackage |
パッケージを削除するのに必要です。 |
|
DeletePackageGroup |
パッケージグループを削除するために必要です。 |
|
DeletePackageVersions |
パッケージのバージョンを削除するために必要です。 |
|
DeleteRepository |
リポジトリを削除するのに必要です。 |
|
DeleteRepositoryPermissionsPolicy |
ドメインのリソースポリシーを削除するために必要です。 |
|
DescribeDomain |
ドメインに関する情報を取得するのに必要です。 |
|
DescribePackage |
パッケージに関する情報を取得するのに必要です。 |
|
DescribePackageGroup |
パッケージグループに関する情報を取得するために必要です。 |
|
DescribePackageVersion |
パッケージのバージョンに関する情報を取得するのに必要です。 |
|
DescribeRepository |
ひとつのリポジトリに関する情報を取得するのに必要です。 |
|
DisassociateExternalConnection |
リポジトリに外部接続を削除するのに必要です。 |
|
DisposePackageVersions |
パッケージのバージョンを削除するために必要です。 |
|
GetAssociatedPackageGroup |
パッケージの関連付けられたパッケージグループを取得するために必要です。 |
|
GetAuthorizationToken |
リポジトリにアクセスするための一時的な認可トークンを取得するために必要です。 |
|
GetDomainPermissionsPolicy |
ドメインリソースポリシーを取得するのに必要です。 |
|
GetPackageVersionAsset |
パッケージバージョンでアセットを取得するために必要です。 |
arn:aws:codeartifact: |
GetPackageVersionReadme |
パッケージバージョンの readme を取得するために必要です。 |
|
GetRepositoryEndpoint |
リポジトリエンドポイントを取得するのに必要です。 |
|
GetRepositoryPermissionsPolicy |
リポジトリリソースポリシーを取得するのに必要です。 |
|
ListAssociatedPackages |
パッケージグループに関連付けられたパッケージのリストを返すために必要です。 |
|
ListDomains |
AWS アカウントのドメインのページ分割されたリストを返すために必要です。 |
|
ListPackageGroups |
ドメイン内のパッケージグループのページ分割されたリストを返すために必要です。 |
|
ListPackages |
リポジトリのパッケージのページ分割されたリストを返すために必要です。 |
|
ListPackageVersionAssets |
パッケージバージョンのアセットのページ分割されたリストを返すために必要です。 |
|
ListPackageVersionDependencies |
パッケージバージョンの依存関係のページ分割されたリストを返すために必要です。 |
|
ListPackageVersions |
リポジトリのパッケージのページ分割されたリストを返すために必要です。 |
|
ListRepositories |
AWS アカウントのリポジトリのページ分割されたリストを返すために必要です。 |
|
ListRepositoriesInDomain |
ドメインのリポジトリのページ分割されたリストを返すために必要です。 |
|
ListSubPackageGroups |
パッケージグループの直接子パッケージグループのリストを返すために必要です。 |
|
ListTagsForResource |
指定したリソースのタグを一覧表示するために必要です。 |
|
PublishPackageVersion |
パッケージバージョンをリポジトリに公開するために必要です。 |
|
PutDomainPermissionsPolicy |
ドメインリソースポリシーを取得するのに必要です。 |
|
PutPackageMetadata |
Maven パッケージのバージョンをリポジトリに公開したり、npm パッケージバージョンから npm タグを追加または削除したりするために必要です。 |
|
PutPackageOriginConfiguration |
パッケージのオリジン設定を更新するために必要です。 |
|
PutRepositoryPermissionsPolicy |
リソースポリシーをリポジトリに追加するのに必要です。 |
|
ReadFromRepository |
パッケージマネージャークライアントを使用してリポジトリから読み取るために必要です。 |
|
TagResource |
リソースにタグを付けるために必要です。 |
|
UntagResource |
リソースからタグを削除するために必要です。 |
|
UpdatePackageGroup |
パッケージグループを更新するために必要です。 |
|
UpdatePackageGroupOriginConfiguration |
パッケージグループのオリジン設定を更新するために必要です。 |
|
UpdatePackageVersionsStatus |
パッケージバージョンのステータスを変更するのに必要です。 |
|
UpdateRepository |
リポジトリの説明、または、アップストリーム接続を更新するために必要です。詳細については、リポジトリのアップストリーム設定を変更する または [リポジトリの更新] の [CodeArtifact API ガイド]を参照してください。
アップストリームリポジトリとしてダウンストリームのリポジトリに追加できるようにするために、リポジトリに必要です。 |
|
パッケージグループ ARNs
注記
このセクションでは、パッケージグループの ARNs とパターンエンコーディングが情報としてどのように役立つかについて説明します。コンソールから ARNs をコピーするか、パターンをエンコードして ARNs を構築する代わりに DescribePackageGroup API を使用して ARNs を取得することをお勧めします。
IAM ポリシーは、ワイルドカード文字 を使用して*、複数の IAM アクションまたは複数のリソースを照合します。パッケージグループのパターンも *文字を使用します。単一のパッケージグループに一致する 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。