Identity and Access Management と Amazon CodeCatalyst - Amazon CodeCatalyst

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

Identity and Access Management と Amazon CodeCatalyst

Amazon では CodeCatalyst、サインインしてスペースとプロジェクトにアクセスするために Builder ID AWS を作成して使用します。 AWS Builder ID は AWS Identity and Access Management (IAM) のアイデンティティではなく、 には存在しません AWS アカウント。ただし、請求目的でスペースを検証する場合や、 に接続してその でリソースを作成および使用する場合 AWS アカウント 、 CodeCatalyst は IAM と統合されます AWS アカウント。

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、リソースを使用するための認証 (サインイン) および許可 (アクセス許可を持たせる) を行うことができる人を制御します。IAM は、追加料金なしで AWS のサービス 使用できる です。

Amazon でスペースを作成するときは CodeCatalyst、スペースの請求アカウントとして を接続する AWS アカウント 必要があります。 CodeCatalyst スペースを検証するには AWS アカウント 、 に管理者権限を持っているか、 権限を持っている必要があります。また、接続された でリソースを作成およびアクセスするために CodeCatalyst が使用できるスペースに IAM ロールを追加することもできます AWS アカウント。これはサービスロール と呼ばれます。複数の への接続を作成し AWS アカウント 、それらの各アカウント CodeCatalyst で のサービスロールを作成することもできます。

注記

の請求 CodeCatalyst は、請求アカウントとして AWS アカウント 指定された で行われます。ただし、その AWS アカウント または他の接続された で CodeCatalyst サービスロールを作成すると AWS アカウント、 CodeCatalyst サービスロールによって作成および使用されるリソースは、接続された で課金されます AWS アカウント。詳細については、「Amazon CodeCatalyst 管理者ガイド」の「請求の管理」を参照してください。

IAM のアイデンティティベースのポリシー

アイデンティティベースのポリシーは、アイデンティティにアタッチできる JSON アクセス許可ポリシードキュメントです。そのアイデンティティは、ユーザー、ユーザーのグループ、またはロールです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースのポリシーを作成する方法については、『IAM ユーザーガイド』の「IAM ポリシーの作成」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。プリンシパルは、それが添付されているユーザーまたはロールに適用されるため、アイデンティティベースのポリシーでは指定できません。JSON ポリシーで使用できるすべての要素については、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。

CodeCatalyst のアイデンティティベースのポリシーの例

CodeCatalyst アイデンティティベースのポリシーの例を表示するには、「」を参照してください接続の CodeCatalystアイデンティティベースのポリシーの例

IAM のポリシーアクション

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソース に対してどのアクションを実行できるか、どの条件でどのアクションを実行できるかです

JSON ポリシーのAction要素には、ポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。ポリシーアクションの名前は通常、関連付けられた AWS API オペレーションと同じです。一致する API オペレーションのない権限のみのアクションなど、いくつかの例外があります。また、ポリシーに複数アクションが必要なオペレーションもあります。これらの追加アクションは、 依存アクション と呼ばれます。

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

"Action": [ "prefix:action1", "prefix:action2" ]

IAM のポリシーリソース

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのアクションを実行できるか、どの条件でどのアクションを実行できるかです

Resource JSON ポリシー要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource要素を含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの権限と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。

"Resource": "*"

IAM のポリシー条件キー

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソース に対してどのアクションを実行できるか、どの条件でどのアクションを実行できるかです

Condition 要素 (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition 要素はオプションです。イコールや未満などの 条件演算子 を使用して条件式を作成することで、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の Condition 要素を指定するか、1 つの Condition 要素に複数のキーを指定すると、 AWS は AND 論理演算子を使用してそれらを評価します。単一の条件キーに複数の値を指定すると、 AWS は OR 論理演算子を使用して条件を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。詳細については、『IAM ユーザーガイド』の「‭‬IAM ポリシーの要素: 変数およびタグ‭‬」を参照してください。

AWS は、グローバル条件キーとサービス固有の条件キーをサポートします。すべての AWS グローバル条件キーを確認するには、『IAM ユーザーガイド』の「AWS グローバル条件コンテキストキー」を参照してください。

接続の CodeCatalystアイデンティティベースのポリシーの例

AWS アカウント では CodeCatalyst、スペースの請求を管理し、プロジェクトワークフローのリソースにアクセスするために が必要です。アカウント接続は、スペース AWS アカウント への追加を許可するために使用されます。アイデンティティベースのポリシーは、接続された で使用されます AWS アカウント。

デフォルトでは、ユーザーとロールにはリソースを作成または変更 CodeCatalystするアクセス許可はありません。また、、 AWS Command Line Interface (AWS CLI) AWS Management Console、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、リソースで必要なアクションを実行するための許可をユーザーとロールに付与する IAM ポリシーを作成する必要があります。次に、管理者はこれらのポリシーを必要とするユーザーに、ポリシーをアタッチする必要があります。

次の IAM ポリシーの例では、アカウント接続に関連するアクションのアクセス許可を付与します。これらを使用して、アカウントを に接続するためのアクセスを制限します CodeCatalyst。

例 1: ユーザーが 1 つの で接続リクエストを受け入れることを許可する AWS リージョン

次のアクセス許可ポリシーでは、ユーザーが と 間の接続リクエストを表示 CodeCatalyst および承諾することのみを許可します AWS アカウント。さらに、ポリシーは 条件を使用して、us-west-2 リージョンのアクションのみを許可し、他の からのアクションは許可しません AWS リージョン。リクエストを表示して承認するには、ユーザーはリクエストで指定されたアカウントと同じアカウント AWS Management Console で にサインインします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecatalyst:AcceptConnection", "codecatalyst:GetPendingConnection" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-west-2" } } } ] }

例 2: コンソールで 1 つの の接続の管理を許可する AWS リージョン

次のアクセス許可ポリシーでは、ユーザーは 1 つのリージョン AWS アカウント で と 間の CodeCatalyst接続を管理できます。このポリシーは、 条件を使用して、us-west-2 リージョンのアクションのみを許可し、他の からのアクションは許可しません AWS リージョン。接続を作成したら、 の オプションを選択してCodeCatalystWorkflowDevelopmentRole-spaceNameロールを作成できます AWS Management Console。このポリシー例では、 iam:PassRoleアクションの条件に のサービスプリンシパルが含まれます CodeCatalyst。そのアクセス権を持つロールのみが に作成されます AWS Management Console。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecatalyst:*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-west-2" } } }, { "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "iam:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "codecatalyst.amazonaws.com", "codecatalyst-runner.amazonaws.com" ] } } } ] }

例 3: 接続の管理を拒否する

次のアクセス許可ポリシーは、ユーザーが CodeCatalyst と 間の接続を管理する機能を拒否します AWS アカウント。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codecatalyst:*" ], "Resource": "*" } ] }

CodeCatalyst アクセス許可リファレンス

このセクションでは、 AWS アカウント に接続されている のアカウント接続リソースで使用されるアクションのアクセス許可リファレンスを提供します CodeCatalyst。次のセクションでは、アカウントの接続に関連するアクセス許可のみのアクションについて説明します。

アカウント接続に必要なアクセス許可

アカウント接続を使用するには、次のアクセス許可が必要です。

CodeCatalyst アカウント接続の アクセス許可 必要な許可 リソース
AcceptConnection このアカウント CodeCatalystをスペースに接続するリクエストを受け入れるために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。

ポリシーの Resource 要素ではワイルドカード (*) のみがサポートされます。

AssociateIamRoleToConnection IAM ロールをアカウント接続に関連付けるために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID
DeleteConnection アカウント接続を削除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID
DisassociateIamRoleFromConnection アカウント接続から IAM ロールの関連付けを解除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID
GetBillingAuthorization アカウント接続の請求承認を記述するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID
GetConnection アカウント接続を取得するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID
GetPendingConnection このアカウント CodeCatalystをスペースに接続するための保留中のリクエストを取得するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。

ポリシーの Resource 要素ではワイルドカード (*) のみがサポートされます。

ListConnections 保留中でないアカウント接続を一覧表示するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。

ポリシーの Resource 要素ではワイルドカード (*) のみがサポートされます。

ListIamRolesForConnection アカウント接続に関連付けられた IAM ロールを一覧表示するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID
ListTagsForResource アカウント接続に関連付けられたタグを一覧表示するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID
PutBillingAuthorization アカウント接続の請求承認を作成または更新するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID
RejectConnection このアカウント CodeCatalystをスペースに接続するリクエストを拒否するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。

ポリシーの Resource 要素ではワイルドカード (*) のみがサポートされます。

TagResource アカウント接続に関連付けられたタグを作成または編集するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID
UntagResource アカウント接続に関連付けられたタグを削除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/connections/connection_ID

IAM Identity Center アプリケーションに必要なアクセス許可

IAM Identity Center アプリケーションを使用するには、次のアクセス許可が必要です。

CodeCatalyst IAM Identity Center アプリケーションの アクセス許可 必要な許可 リソース
AssociateIdentityCenterApplicationToSpace IAM Identity Center アプリケーションを CodeCatalyst スペースに関連付けるために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
AssociateIdentityToIdentityCenterApplication スペースの IAM Identity Center アプリケーションに ID を関連付けるために CodeCatalyst必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
BatchAssociateIdentitiesToIdentityCenterApplication CodeCatalyst スペースの IAM Identity Center アプリケーションに複数の ID を関連付けるために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
BatchDisassociateIdentitiesFromIdentityCenterApplication CodeCatalyst スペースの IAM Identity Center アプリケーションから複数の ID の関連付けを解除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
CreateIdentityCenterApplication IAM Identity Center アプリケーションの作成に必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
CreateSpaceAdminRoleAssignment 特定の CodeCatalystスペースと IAM Identity Center アプリケーションの管理者ロール割り当てを作成するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
DeleteIdentityCenterApplication IAM Identity Center アプリケーションを削除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
DisassociateIdentityCenterApplicationFromSpace IAM Identity Center アプリケーションを CodeCatalyst スペースから関連付け解除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
DisassociateIdentityFromIdentityCenterApplication CodeCatalyst スペースの IAM Identity Center アプリケーションから ID の関連付けを解除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
GetIdentityCenterApplication IAM Identity Center アプリケーションに関する情報を取得するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
ListIdentityCenterApplications アカウント内のすべての IAM Identity Center アプリケーションのリストを表示するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。

ポリシーの Resource 要素ではワイルドカード (*) のみがサポートされます。

ListIdentityCenterApplicationsForSpace IAM Identity Center アプリケーションのリストを CodeCatalyst スペース別に表示するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
ListSpacesForIdentityCenterApplication IAM Identity Center アプリケーションによって CodeCatalyst スペースのリストを表示するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
SynchronizeIdentityCenterApplication IAM Identity Center アプリケーションをバッキング ID ストアと同期させるのに必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID
UpdateIdentityCenterApplication IAM Identity Center アプリケーションを更新するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 arn:aws:codecatalyst:region:account_ID:/identity-center-applications/identity-center-application_ID