

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

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

# Identity and Access Management と Amazon CodeCatalyst
<a name="security-iam"></a>

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

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

Amazon CodeCatalyst でスペースを作成するときは、スペースの請求アカウントとして AWS アカウント を接続する必要があります。CodeCatalyst スペースを検証するには、 AWS アカウント で管理者権限を持っているか、アクセス許可を持っている必要があります。CodeCatalyst がその接続された AWS アカウントでリソースを作成およびアクセスするために使用できるスペースに IAM ロールを追加することもできます。これは[サービスロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)と呼ばれます。複数の への接続を作成し AWS アカウント 、それらの各アカウントで CodeCatalyst のサービスロールを作成できます。

**注記**  
CodeCatalyst の請求は、請求アカウントとして AWS アカウント 指定された で行われます。ただし、その AWS アカウント または他の接続された で CodeCatalyst サービスロールを作成すると AWS アカウント、CodeCatalyst サービスロールによって作成および使用されるリソースは、接続された で課金されます AWS アカウント。詳細については、「Amazon CodeCatalyst Administrator Guide」の「[請求管理](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-billing.html)」を参照してください。

**Topics**
+ [IAM のアイデンティティベースポリシー](#id-based-policies)
+ [IAM でのポリシーアクション](#id-based-policies-actions)
+ [IAM のポリシーリソース](#id-based-policies-resources)
+ [IAM のポリシー条件キー](#id-based-policies-conditionkeys)
+ [CodeCatalyst 接続のアイデンティティベースポリシー例](#id-based-policy-examples)
+ [タグを使用してアカウント接続リソースへのアクセスを制御する](id-based-policy-examples-tags.md)
+ [CodeCatalyst アクセス許可リファレンス](#permissions-reference)
+ [CodeCatalyst のサービスリンクロールの使用](using-service-linked-roles.md)
+ [AWS Amazon CodeCatalyst の マネージドポリシー](security-iam-awsmanpol.md)
+ [IAM ロールを使用してプロジェクト AWS リソースへのアクセスを許可する](ipa-iam-roles.md)

## IAM のアイデンティティベースポリシー
<a name="id-based-policies"></a>

アイデンティティベースポリシーは、アイデンティティに追加する JSON アクセス許可ポリシーです。そのアイデンティティは、ユーザー、ユーザーのグループまたはロールのいずれかになります。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースのポリシーを作成する方法については、*IAM ユーザーガイド*の[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)を参照してください。

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

### CodeCatalyst のアイデンティティベースポリシー例
<a name="id-based-policies-examples"></a>



CodeCatalyst アイデンティティベースポリシーの例については、「[CodeCatalyst 接続のアイデンティティベースポリシー例](#id-based-policy-examples)」を参照してください。

## IAM でのポリシーアクション
<a name="id-based-policies-actions"></a>

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

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

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

```
"Action": [
      "prefix:{{action1}}",
      "prefix:{{action2}}"
         ]
```

## IAM のポリシーリソース
<a name="id-based-policies-resources"></a>

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

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ステートメントには`Resource` または `NotResource` 要素を含める必要があります。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) を使用してリソースを指定します。これは、*リソースレベルの許可*と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

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

```
"Resource": "*"
```

## IAM のポリシー条件キー
<a name="id-based-policies-conditionkeys"></a>

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

`Condition` 要素 (または `Condition` *ブロック*) を使用すると、ステートメントが有効な条件を指定できます。`Condition` 要素はオプションです。イコールや未満などの [条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。

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

 条件を指定する際にプレースホルダー変数も使用できます。詳細については、「*IAM ユーザーガイド*」の「[‬IAM ポリシーの要素: 変数およびタグ‭](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)」‬を参照してください。

AWS は、グローバル条件キーとサービス固有の条件キーをサポートしています。すべての AWS グローバル条件キーを確認するには、*IAM ユーザーガイド*の[AWS グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)を参照してください。

## CodeCatalyst 接続のアイデンティティベースポリシー例
<a name="id-based-policy-examples"></a>

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

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

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

### 例 1: ユーザーが 1 つの で接続リクエストを受け入れることを許可する AWS リージョン
<a name="id-based-policy-examples-accept-only"></a>

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

------
#### [ JSON ]

****  

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

------

### 例 2: コンソールで 1 つの の接続の管理を許可する AWS リージョン
<a name="id-based-policy-examples-allow"></a>

次のアクセス許可ポリシーにより、ユーザーは CodeCatalyst と 間の接続を 1 つのリージョン AWS アカウント で管理できます。このポリシーは、us-west-2 リージョンのアクションのみを許可する条件を使用し、他のリージョンからのアクションは許可しません AWS リージョン。接続を作成後、 AWS マネジメントコンソールのオプションを選択すると、**CodeCatalystWorkflowDevelopmentRole-{{spaceName}}** ロールを作成できます。ポリシー例では、`iam:PassRole` アクションの条件に、CodeCatalyst のサービスプリンシパルが含まれます。 AWS マネジメントコンソールでは、そのアクセス許可が付与されているロールのみが作成されます。

------
#### [ JSON ]

****  

```
{
    "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: 接続の管理を拒否する
<a name="id-based-policy-examples-deny"></a>

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

------
#### [ JSON ]

****  

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

------

## CodeCatalyst アクセス許可リファレンス
<a name="permissions-reference"></a>

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

### アカウント接続に必要なアクセス許可
<a name="permissions-reference-connections"></a>

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


****  

| アカウント接続用 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 アイデンティティセンターアプリケーションに必要なアクセス許可
<a name="permissions-reference-applications"></a>

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


****  

| IAM アイデンティティセンターアプリケーション用 CodeCatalyst アクセス許可 | 必要な許可 | リソース | 
| --- | --- | --- | 
| AssociateIdentityCenterApplicationToSpace | IAM アイデンティティセンターアプリケーションを CodeCatalyst スペースに関連付けるために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| AssociateIdentityToIdentityCenterApplication | CodeCatalyst スペース用 IAM アイデンティティセンターアプリケーションをアイデンティティに関連付けるために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| BatchAssociateIdentitiesToIdentityCenterApplication | CodeCatalyst スペース用 IAM アイデンティティセンターアプリケーションを複数のアイデンティティに関連付けるために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| BatchDisassociateIdentitiesFromIdentityCenterApplication | CodeCatalyst スペース用 IAM アイデンティティセンターアプリケーションと複数のアイデンティティの関連付けを解除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| CreateIdentityCenterApplication | IAM アイデンティティセンターアプリケーションの作成に必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| CreateSpaceAdminRoleAssignment | 特定の CodeCatalyst スペースと IAM アイデンティティセンターアプリケーション用管理者ロール割り当てを作成するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| DeleteIdentityCenterApplication | IAM アイデンティティセンターアプリケーションの削除に必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| DisassociateIdentityCenterApplicationFromSpace | CodeCatalyst スペースと IAM アイデンティティセンターアプリケーションの関連付けを解除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| DisassociateIdentityFromIdentityCenterApplication | CodeCatalyst スペース用 IAM アイデンティティセンターアプリケーションとアイデンティティの関連付けを解除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| GetIdentityCenterApplication | IAM アイデンティティセンターアプリケーションに関する情報を取得するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| ListIdentityCenterApplications | アカウント内のすべての IAM アイデンティティセンターアプリケーションのリストを表示するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | ポリシーの `Resource` 要素ではワイルドカード (\*) のみがサポートされます。 | 
| ListIdentityCenterApplicationsForSpace | CodeCatalyst スペース別の IAM アイデンティティセンターアプリケーションのリストを表示するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| ListSpacesForIdentityCenterApplication | IAM アイデンティティセンターアプリケーション別の CodeCatalyst スペースのリストを表示するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| SynchronizeIdentityCenterApplication | IAM アイデンティティセンターアプリケーションをバッキングアイデンティティストアと同期するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 
| UpdateIdentityCenterApplication | IAM アイデンティティセンターアプリケーションの更新に必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:{{account\_ID}}:/identity-center-applications/{{identity-center-application\_ID}} | 