翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
How AWS CodeArtifact と IAM の連携
IAM を使用して CodeArtifact へのアクセスを管理する前に、CodeArtifact で利用できる IAM の機能について学びます。
| IAM 機能 | CodeArtifact のサポート |
|---|---|
|
あり |
|
|
はい |
|
|
あり |
|
|
はい |
|
|
いいえ |
|
|
なし |
|
|
部分的 |
|
|
あり |
|
|
あり |
|
|
いいえ |
|
|
いいえ |
CodeArtifact およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要については、IAM ユーザーガイドのAWS 「IAM と連携する のサービス」を参照してください。
CodeArtifact でのアイデンティティベースのポリシー
アイデンティティベースのポリシーのサポート: あり
アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。
IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。
CodeArtifact のアイデンティティベースのポリシー例
CodeArtifact アイデンティティベースのポリシーの例については、「AWS CodeArtifact のアイデンティティベースのポリシーの例」を参照してください。
CodeArtifact 内のリソースベースのポリシー
リソースベースのポリシーのサポート: あり
リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM ロールの信頼ポリシーや Amazon S3 バケットポリシーがあげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、プリンシパルを指定する必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。
クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイドのIAM でのクロスアカウントリソースアクセスを参照してください。
CodeArtifact のポリシーアクション
ポリシーアクションのサポート: あり
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
CodeArtifact アクションのリストを確認するには、「サービス認可リファレンス」のAWS CodeArtifact で定義されるアクション」を参照してください。
CodeArtifact のポリシーアクションは、アクションの前に次のプレフィックスを追加します。
codeartifact
単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。
"Action": [ "codeartifact:action1", "codeartifact:action2" ]
ワイルドカード (*) を使用して複数アクションを指定できます。例えば、Describe という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。
"Action": "codeartifact:Describe*"
CodeArtifact アイデンティティベースのポリシーの例については、「AWS CodeArtifact のアイデンティティベースのポリシーの例」を参照してください。
CodeArtifact のポリシーリソース
ポリシーリソースのサポート: あり
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。
"Resource": "*"
CodeArtifact リソースタイプとその ARNsAWS CodeArtifact で定義されるリソース」を参照してください。 各リソースの ARN を指定できるアクションについては、AWS CodeArtifact で定義されるアクション」を参照してください。ポリシーで CodeArtifact リソース ARN を指定する例については、「AWS CodeArtifact リソースとオペレーション」を参照してください。
CodeArtifact のポリシー条件キー
サービス固有のポリシー条件キーへのサポート: なし
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの条件演算子を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「グローバル条件コンテキストキー」を参照してください。
CodeArtifact 条件キーのリストを確認するには、「サービス認可リファレンス」のAWS CodeArtifact の条件キー」を参照してください。条件キーを使用できるアクションとリソースについては、AWS CodeArtifact で定義されるアクション」を参照してください。
CodeArtifact アイデンティティベースのポリシーの例については、「AWS CodeArtifact のアイデンティティベースのポリシーの例」を参照してください。
CodeArtifact 内の ACL
ACL のサポート: なし
アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。
CodeArtifact での ABAC
ABAC (ポリシー内のタグ) のサポート: 一部
属性ベースのアクセスコントロール (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。
タグに基づいてアクセスを管理するには、aws:ResourceTag/、key-nameaws:RequestTag/、または key-nameaws:TagKeys の条件キーを使用して、ポリシーの条件要素でタグ情報を提供します。
サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。
ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用する」を参照してください。
リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースのポリシーの例など、CodeArtifact リソースのタグ付けの詳細については、「タグを使用した CodeArtifact リソースへのアクセスのコントロール」を参照してください。
CodeArtifact での一時的な認証情報の使用
一時的な認証情報のサポート: あり
一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたは切り替えロールを使用する場合に自動的に作成されます。 AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、「IAM ユーザーガイド」の「IAM の一時的な認証情報」および「AWS のサービス と IAM との連携」を参照してください。
CodeArtifact のクロスサービスプリンシパル許可
転送アクセスセッション (FAS) のサポート: あり
転送アクセスセッション (FAS) は、 を呼び出すプリンシパルのアクセス許可と AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする を使用します。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。
呼び出し側のプリンシパルに他のサービスの権限が必要な CodeArtifact API アクションは 2 つあります。
GetAuthorizationTokenではsts:GetServiceBearerTokenとcodeartifact:GetAuthorizationTokenが必要です。CreateDomainがデフォルト以外の暗号化キーを指定する場合は、codeartifact:CreateDomainに加えて KMS キーにkms:DescribeKeyとkms:CreateGrantの両方が必要です。
CodeArtifact のアクションで必要な権限とリソースの詳細については、「AWS CodeArtifact アクセス許可リファレンス」を参照してください。
CodeArtifact のサービスロール
サービスロールのサポート: なし
サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける IAM ロールです。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイドの AWS のサービスに許可を委任するロールを作成するを参照してください。
警告
サービスロールの権限を変更すると、CodeArtifact の機能が使用できなくなる場合があります。CodeArtifact で指示されないかぎり、サービスロールを編集しないでください。
CodeArtifact のサービスにリンクされたロール
サービスにリンクされたロールのサポート: なし
サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。
サービスにリンクされたロールの作成または管理の詳細については、「IAM と提携するAWS のサービス」を参照してください。表の「サービスリンクロール」列に Yes と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。