翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CodeArtifact アクセス許可リファレンス
AWS CodeArtifact リソースとオペレーション
では 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 アクションcodeartifact:Describe*
を指定しますDescribe
。
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 ガイドのUpdateRepositoryリポジトリのアップストリーム設定を変更する「」または「」を参照してください。
アップストリームリポジトリとしてダウンストリームのリポジトリに追加できるようにするために、リポジトリに必要です。 |
|
パッケージグループ 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
。