

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) を使用してリソースを指定します。これは、*リソースレベルの許可*と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

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

```
"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": "*"
        }
    ]
}
```

------

# タグを使用してアカウント接続リソースへのアクセスを制御する
<a name="id-based-policy-examples-tags"></a>

タグは、リソースにアタッチしたり、タグ付けをサポートするサービスへのリクエストに渡したりすることができます。ポリシーでは、リソースにタグを付けることができ、一部のアクションにタグを含めることができます。タグ付け条件キーには、`aws:RequestTag` および `aws:ResourceTag` 条件キーが含まれます。IAM ポリシーを作成するときに、タグ条件キーを使用して以下をコントロールできます。
+ どのユーザーが接続リソースに対してアクションを実行できるか (リソースに既に付けられているタグに基づいて)。
+ どのタグをアクションのリクエストで渡すことができるか。
+ リクエストで特定のタグキーを使用できるかどうか。

次の例は、CodeCatalyst アカウント接続ユーザー用のポリシーでタグ条件を指定する方法を示しています。条件キーの詳細については、[IAM のポリシー条件キー](security-iam.md#id-based-policies-conditionkeys) を参照してください。

## 例 1: リクエストのタグに基づいてアクションを許可する
<a name="id-based-policy-examples-tags-request"></a>

次のポリシーでは、アカウント接続を承認するアクセス許可をユーザーに付与します。

これを行うには、リクエストに指定されているタグ `Project` の値が `ProjectA` である場合に、`AcceptConnection` アクションと `TagResource` アクションを許可します。(この `aws:RequestTag` 条件キーを使用して、IAM リクエストで渡すことができるタグをコントロールします)。`aws:TagKeys` 条件は、タグキーの大文字と小文字を区別します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecatalyst:AcceptConnection",
        "codecatalyst:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/Project": "ProjectA"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

------

## 例 2: リソースタグに基づいてアクションを許可する
<a name="id-based-policy-examples-tags-resource"></a>

次のポリシーは、アカウント接続リソースに対する操作と情報の取得を行うアクセス許可をユーザーに付与します。

これを行うために、接続に含まれているタグ `Project` の値が `ProjectA` である場合に、特定のアクションを許可します。(この `aws:ResourceTag` 条件キーを使用して、IAM リクエストで渡すことができるタグをコントロールします)。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecatalyst:GetConnection",
        "codecatalyst:DeleteConnection",
        "codecatalyst:AssociateIamRoleToConnection",
        "codecatalyst:DisassociateIamRoleFromConnection",
        "codecatalyst:ListIamRolesForConnection",
        "codecatalyst:PutBillingAuthorization"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Project": "ProjectA"
        }
      }
    }
  ]
}
```

------

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

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

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

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


****  

| アカウント接続用 CodeCatalyst アクセス許可 | 必要な許可 | リソース | 
| --- | --- | --- | 
| AcceptConnection | このアカウントを CodeCatalyst スペースに接続するリクエストを承認するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 |  ポリシーの `Resource` 要素ではワイルドカード (\$1) のみがサポートされます。  | 
| AssociateIamRoleToConnection | IAM ロールをアカウント接続に関連付けるために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| DeleteConnection | アカウント接続を削除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| DisassociateIamRoleFromConnection | アカウント接続から IAM ロールの関連付けを解除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| GetBillingAuthorization | アカウント接続の請求承認を記述するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| GetConnection | アカウント接続を取得するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| GetPendingConnection | このアカウントを CodeCatalyst スペースに接続する保留リクエストを取得するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 |  ポリシーの `Resource` 要素ではワイルドカード (\$1) のみがサポートされます。  | 
| ListConnections | 保留中でないアカウント接続を一覧するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 |  ポリシーの `Resource` 要素ではワイルドカード (\$1) のみがサポートされます。  | 
| ListIamRolesForConnection | アカウント接続に関連付けられた IAM ロールを一覧するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| ListTagsForResource | アカウント接続に関連付けられたタグを一覧するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| PutBillingAuthorization | アカウント接続の請求承認を作成または更新するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| RejectConnection | このアカウントを CodeCatalyst スペースに接続するリクエストを拒否するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 |  ポリシーの `Resource` 要素ではワイルドカード (\$1) のみがサポートされます。  | 
| TagResource | アカウント接続に関連付けられたタグを作成または編集するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| UntagResource | アカウント接続に関連付けられたタグを削除するために必要です。これは単なる IAM ポリシーのアクセス許可であり、API アクションではありません。 | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 

### IAM アイデンティティセンターアプリケーションに必要なアクセス許可
<a name="permissions-reference-applications"></a>

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


****  

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

# CodeCatalyst のサービスリンクロールの使用
<a name="using-service-linked-roles"></a>

Amazon CodeCatalyst は AWS Identity and Access Management (IAM) [サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用します。サービスリンクロールは、CodeCatalyst に直接リンクされる一意のタイプの IAM ロールです。サービスにリンクされたロールは CodeCatalyst によって事前定義されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。

サービスリンクロールを使用すれば、必要なアクセス許可を手動で追加する必要がなくなるため、CodeCatalyst の設定が容易になります。CodeCatalyst は、サービスリンクロールのアクセス許可を定義します。特に定義されている場合を除き、そのロールを引き受けることができるのは CodeCatalyst のみです。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

サービスリンクロールを削除するには、最初に関連リソースを削除する必要があります。これにより、CodeCatalyst リソースにアクセスするためのアクセス許可を誤って削除することがなくなるため、リソースが保護されます。

サービスにリンクされたロールをサポートする他のサービスの詳細については、[AWS 「IAM と連携するサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照し、「サービス**にリンクされたロール**」列で**「はい**」があるサービスを探します。サービスリンクロールに関するドキュメントをサービスで表示するには、リンクで **[はい]** を選択します。

## CodeCatalyst のサービスリンクロールのアクセス許可
<a name="slr-permissions"></a>

CodeCatalyst は **AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization** という名前のサービスリンクロールを使用します。これは、ユーザーに代わってアプリケーションインスタンスプロファイルおよび関連付けられたディレクトリのユーザーとグループへの Amazon CodeCatalyst 読み取り専用アクセスを許可します。

AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization サービスリンクロールは、以下のサービスを信頼してロールを引き受けます。
+ `codecatalyst.amazonaws.com`

AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy という名前のロールアクセス許可ポリシーは、指定されたリソースで次のアクションを完了することを CodeCatalyst に許可します。
+ アクション: `CodeCatalyst spaces that support identity federation and SSO users and groups`の`View application instance profiles and associated directory users and groups`

ユーザー、グループ、またはロールにサービスリンクロールの作成、編集、または削除を許可するには、アクセス許可を設定する必要があります。詳細については*IAM ユーザーガイド* の「[サービスにリンクされた役割のアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

## CodeCatalyst のサービスリンクロールの作成
<a name="create-slr"></a>

サービスリンクロールを手動で作成する必要はありません。 AWS マネジメントコンソール、、 AWS CLIまたは AWS API にスペースを作成すると、CodeCatalyst によってサービスにリンクされたロールが作成されます。

**重要**  
このサービスリンクロールはこのロールでサポートされている機能を使用する別のサービスでアクションが完了した場合にアカウントに表示されます。また、サービスリンクロールのサポートが開始された 2023 年 11 月 17 日より前に CodeCatalyst サービスを使用していた場合、CodeCatalyst によってアカウントに AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization ロールが作成されます。詳細については、[「新しいロールが AWS アカウント](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)」を参照してください。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。スペースを作成すると、CodeCatalyst ではサービスリンクロールがもう一度作成されます。

IAM コンソールを使用して、**「アプリケーションインスタンスプロファイルおよび関連付けられたディレクトリのユーザーとグループを表示する」**ユースケースでサービスリンクロールを作成することもできます。 AWS CLI または AWS API で、サービス名を使用して`codecatalyst.amazonaws.com`サービスにリンクされたロールを作成します。詳細については、*IAM ユーザーガイド*の「[サービスリンクロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)」を参照してください。このサービスリンクロールを削除しても、同じ方法でロールを再作成できます。

## CodeCatalyst のサービスリンクロールの編集
<a name="edit-slr"></a>

CodeCatalyst では、AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization サービスリンクロールを編集することはできません。サービスリンクロールの作成後は、さまざまなエンティティがロールを参照する可能性があるため、ロール名を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

## CodeCatalyst のサービスリンクロールの削除
<a name="delete-slr"></a>

AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization ロールを手動で削除する必要はありません。 AWS マネジメントコンソール、、または AWS API でスペースを削除すると、CodeCatalyst はリソースをクリーンアップし AWS CLI、サービスにリンクされたロールを削除します。

IAM コンソール、、 AWS CLI または AWS API を使用して、サービスにリンクされたロールを手動で削除することもできます。そのためにはまず、サービスリンクロールのリソースをクリーンアップする必要があります。その後で、手動で削除できます。

**注記**  
リソースの削除を試みるときに CodeCatalyst サービスでロールが使用されている場合、削除は失敗する可能性があります。失敗した場合は数分待ってから操作を再試行してください。

**AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization で使用されている CodeCatalyst リソースを削除するには**
+ [スペース を削除します](https://docs.aws.amazon.com/codecatalyst/latest/userguide/spaces-delete.htm)。

**サービスリンクロールを IAM で手動削除するには**

IAM コンソール、 AWS CLI、または AWS API を使用して、AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationサービスにリンクされたロールを削除します。詳細については、「*IAM ユーザーガイド*」の「[サービスにリンクされたロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」を参照してください。

## CodeCatalyst のサービスリンクロールがサポートされているリージョン
<a name="slr-regions"></a>

CodeCatalyst は、サービスが使用可能なすべてのリージョンで、サービスリンクロールの使用をサポートします。詳細については、「[AWS リージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html)」を参照してください。

CodeCatalyst は、サービスが使用可能なすべてのリージョンで、サービスリンクロールの使用をサポートしているわけではありません。以下のリージョンでは、AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization ロールを使用できます。


****  

| リージョン名 | リージョン識別子 | CodeCatalyst のサポート | 
| --- | --- | --- | 
| 米国東部 (バージニア北部) | us–east–1 | いいえ | 
| 米国東部 (オハイオ) | us-east-2 | いいえ | 
| 米国西部（北カリフォルニア) | us-west-1 | いいえ | 
| 米国西部 (オレゴン) | us-west-2 | はい | 
| アフリカ (ケープタウン) | af-south-1 | いいえ | 
| アジアパシフィック (香港) | ap-east-1 | いいえ | 
| アジアパシフィック (ジャカルタ) | ap-southeast-3 | いいえ | 
| アジアパシフィック (ムンバイ) | ap-south-1 | いいえ | 
| アジアパシフィック (大阪) | ap-northeast-3 | いいえ | 
| アジアパシフィック (ソウル) | ap-northeast-2 | いいえ | 
| アジアパシフィック (シンガポール) | ap-southeast-1 | いいえ | 
| アジアパシフィック (シドニー) | ap-southeast-2 | いいえ | 
| アジアパシフィック (東京) | ap-northeast-1 | いいえ | 
| カナダ (中部) | ca-central-1 | いいえ | 
| 欧州 (フランクフルト) | eu-central-1 | いいえ | 
| 欧州 (アイルランド) | eu-west-1 | はい | 
| 欧州 (ロンドン) | eu-west-2 | いいえ | 
| 欧州 (ミラノ) | eu-south-1 | いいえ | 
| 欧州 (パリ) | eu-west-3 | いいえ | 
| 欧州 (ストックホルム) | eu-north-1 | いいえ | 
| 中東 (バーレーン) | me-south-1 | いいえ | 
| 中東 (UAE) | me-central-1 | いいえ | 
| 南米 (サンパウロ） | sa-east-1 | いいえ | 
| AWS GovCloud (米国東部) | us-gov-east-1 | いいえ | 
| AWS GovCloud (米国西部) | us-gov-west-1 | いいえ | 

# AWS Amazon CodeCatalyst の マネージドポリシー
<a name="security-iam-awsmanpol"></a>





 AWS 管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーです AWS。 AWS 管理ポリシーは、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できるように、多くの一般的なユースケースにアクセス許可を付与するように設計されています。

 AWS 管理ポリシーは、すべての AWS お客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケースに固有の[カスタマー管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)を定義して、アクセス許可を絞り込むことをお勧めします。

 AWS 管理ポリシーで定義されているアクセス許可は変更できません。が AWS マネージドポリシーで定義されたアクセス許可 AWS を更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) に影響します。 AWS は、新しい が起動されるか、新しい API オペレーション AWS のサービス が既存のサービスで使用できるようになったときに、 AWS マネージドポリシーを更新する可能性が高くなります。

詳細については、「**IAM ユーザーガイド」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。













## AWS 管理ポリシー: AmazonCodeCatalystSupportAccess
<a name="security-iam-awsmanpol-AmazonCodeCatalystSupportAccess"></a>





これは、すべてのスペース管理者とスペースメンバーに、スペース請求アカウントに関連付けられたビジネスまたはエンタープライズプレミアムサポートプランを利用するアクセス許可を付与するポリシーです。これらのアクセス許可により、スペース管理者とメンバーは、CodeCatalyst アクセス許可ポリシー内でアクセス許可を持つリソースのプレミアムサポートプランを利用できます。



**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。




+ `support` – ユーザーが AWS サポートケースを検索、作成、解決できるようにするアクセス許可を付与します。また、通信、重要度レベル、添付ファイル、および関連するサポートケースの詳細を記述するアクセス許可も付与します。



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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "support:DescribeAttachment",
        "support:DescribeCaseAttributes",
        "support:DescribeCases",
        "support:DescribeCommunications",
        "support:DescribeIssueTypes",
        "support:DescribeServices",
        "support:DescribeSeverityLevels",
        "support:DescribeSupportLevel",
        "support:SearchForCases",
        "support:AddAttachmentsToSet",
        "support:AddCommunicationToCase",
        "support:CreateCase",
        "support:InitiateCallForCase",
        "support:InitiateChatForCase",
        "support:PutCaseAttributes",
        "support:RateCaseCommunication",
        "support:ResolveCase"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## AWS 管理ポリシー: AmazonCodeCatalystFullAccess
<a name="security-iam-awsmanpol-AmazonCodeCatalystFullAccess"></a>





これは、 AWS マネジメントコンソールの [Amazon CodeCatalyst スペース] ページで CodeCatalyst スペースと接続済みアカウントを管理するためにアクセス許可を付与するポリシーです。このアプリケーションは、CodeCatalyst のスペースに接続されている AWS アカウント を設定するために使用されます。



**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。




+ `codecatalyst` – AWS マネジメントコンソールの [Amazon CodeCatalyst スペース] ページへの完全なアクセス許可を付与します。



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CodeCatalystResourceAccess",
            "Effect": "Allow",
            "Action": [
                "codecatalyst:*",
                "iam:ListRoles"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CodeCatalystAssociateIAMRole",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "codecatalyst.amazonaws.com",
                        "codecatalyst-runner.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## AWS 管理ポリシー: AmazonCodeCatalystReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonCodeCatalystReadOnlyAccess"></a>





これは、 AWS マネジメントコンソールの [Amazon CodeCatalyst スペース] ページでスペースと接続さ済みアカウントの情報を表示するためにアクセス許可を付与するポリシーです。このアプリケーションは、CodeCatalyst のスペースに接続されている AWS アカウント を設定するために使用されます。



**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。




+ `codecatalyst` – AWS マネジメントコンソールの [Amazon CodeCatalyst スペース] ページへの読み取り専用アクセス許可を付与します。



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

****  

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

------

## AWS 管理ポリシー: AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy
<a name="security-iam-awsmanpol-AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy"></a>



IAM エンティティに AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy を追加することはできません。このポリシーは、ユーザーに代わって CodeCatalyst がアクションを実行することを許可する、サービスにリンクされたロールにアタッチされます。詳細については、「[CodeCatalyst のサービスリンクロールの使用](using-service-linked-roles.md)」を参照してください。



このポリシーにより、CodeCatalyst でスペースを管理するときに、アプリケーションインスタンスプロファイルと関連するディレクトリのユーザーとグループを表示できます。お客様は、ID フェデレーションと SSO ユーザーとグループをサポートするスペースを管理するときに、これらのリソースを表示します。



**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。




+ `sso` – CodeCatalyst の関連付けられたスペースについて、IAM アイデンティティセンターで管理されているアプリケーションインスタンスプロファイルをユーザーが表示できるようにするアクセス許可を付与します。



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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy",
			"Effect": "Allow",
			"Action": [
				"sso:ListInstances",
				"sso:ListApplications",
				"sso:ListApplicationAssignments",
				"sso:DescribeInstance",
				"sso:DescribeApplication"
			],
			"Resource": "*"
		}
	]
}
```

------

## CodeCatalyst AWS の管理ポリシーの更新
<a name="security-iam-awsmanpol-updates"></a>



このサービスがこれらの変更の追跡を開始してからの CodeCatalyst の AWS マネージドポリシーの更新に関する詳細を表示します。このページでの変更に関する自動通知を受信するには、CodeCatalyst [[ドキュメント履歴]](doc-history.md) ページの RSS フィードをサブスクライブします。




| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
|  [AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy](#security-iam-awsmanpol-AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy) - 新しいポリシー  |  CodeCatalyst がポリシーを追加しました。 CodeCatalyst ユーザーがアプリケーションインスタンスプロファイルと関連するディレクトリのユーザーとグループを表示できるようにするアクセス許可を付与します。  | 2023 年 11 月 17 日 | 
|  [AmazonCodeCatalystSupportAccess](#security-iam-awsmanpol-AmazonCodeCatalystSupportAccess) - 新しいポリシー  |  CodeCatalyst がポリシーを追加しました。 CodeCatalyst ユーザーがサポートケースを検索、作成、解決し、関連する通信や詳細を表示できるようにするアクセス許可を付与します。  | 2023 年 4 月 20 日 | 
|  [AmazonCodeCatalystFullAccess](#security-iam-awsmanpol-AmazonCodeCatalystFullAccess) - 新しいポリシー  |  CodeCatalyst がポリシーを追加しました。 CodeCatalyst へのフルアクセスを許可します。  | 2023 年 4 月 20 日 | 
|  [AmazonCodeCatalystReadOnlyAccess](#security-iam-awsmanpol-AmazonCodeCatalystReadOnlyAccess) - 新しいポリシー  |  CodeCatalyst がポリシーを追加しました。 CodeCatalyst への読み取り専用アクセス許可を付与します。  | 2023 年 4 月 20 日 | 
|  CodeCatalyst が変更の追跡を開始しました  |  CodeCatalyst は AWS 、管理ポリシーの変更の追跡を開始しました。  | 2023 年 4 月 20 日 | 



# IAM ロールを使用してプロジェクト AWS リソースへのアクセスを許可する
<a name="ipa-iam-roles"></a>

CodeCatalyst は、 AWS アカウント を CodeCatalyst スペースに接続 AWS することでリソースにアクセスできます。その後、次のサービスロールを作成し、アカウントを接続するときに関連付けることができます。

JSON ポリシーで使用するすべての要素については、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。
+ CodeCatalyst プロジェクトとワークフロー AWS アカウント の のリソースにアクセスするには、まず CodeCatalyst がユーザーに代わってそれらのリソースにアクセスするためのアクセス許可を付与する必要があります。そのためには、CodeCatalyst AWS アカウント がスペース内のユーザーとプロジェクトに代わって引き受けることができる接続された にサービスロールを作成する必要があります。**CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールを作成して使用するか、カスタマイズされたサービスロールを作成してこれらの IAM ポリシーとロールを手動で設定するかを選択できます。ベストプラクティスとして、これらのロールには必要最小限のアクセス許可を割り当てます。
**注記**  
カスタマイズされたサービスロールには、CodeCatalyst サービスプリンシパルが必要です。CodeCatalyst サービスプリンシパルと信頼モデルの詳細については、「[CodeCatalyst 信頼モデルについて](trust-model.md)」を参照してください。
+ 接続された を介してスペースのサポートを管理するには AWS アカウント、CodeCatalyst ユーザーがサポートにアクセスできるようにする**AWSRoleForCodeCatalystSupport**サービスロールを作成して使用できます。CodeCatalyst スペースのサポートの詳細については、「[Amazon CodeCatalyst の サポート](support.md)」を参照してください。



## **CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールについて
<a name="ipa-iam-roles-service-role"></a>

CodeCatalyst が接続された AWS アカウントでリソースを作成およびアクセスするために使用できる IAM ロールをスペースに追加できます。これは[サービスロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)と呼ばれます。サービスロールを作成する最も簡単な方法は、スペースを作成するときにサービスロールを追加し、そのロールに **CodeCatalystWorkflowDevelopmentRole-*spaceName*** オプションを選択することです。これにより、`AdministratorAccess` がアタッチされたサービスロールが作成されるだけでなく、CodeCatalyst がスペース内のプロジェクトでユーザーに代わってロールを引き受けることを許可する信頼ポリシーも作成されます。サービスロールは、個々のプロジェクトではなく、スペースに範囲が限定されます。このロールの作成については、「[アカウントとスペース用の **CodeCatalystWorkflowDevelopmentRole-*spaceName*** ロールを作成する](#ipa-iam-roles-service-create)」を参照してください。各アカウントのスペースごとに作成できるロールは 1 つのみです。

**注記**  
このロールは開発アカウントでのみ使用が推奨され、 `AdministratorAccess` AWS マネージドポリシーを使用して、このロールに新しいポリシーとリソースを作成するためのフルアクセスを付与します AWS アカウント。

**CodeCatalystWorkflowDevelopmentRole-*spaceName*** ロールにアタッチされたポリシーは、スペース内のブループリントで作成されたプロジェクトで機能するように設計されています。このポリシーにより、こうしたプロジェクトのユーザーは、接続された AWS アカウントのリソースを使用してコードを開発、ビルド、テスト、デプロイできます。詳細については、[「 AWS サービスのロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」を参照してください。

**CodeCatalystWorkflowDevelopmentRole-*spaceName*** ロールにアタッチされたポリシーは、 `AdministratorAccess`の管理ポリシーです AWS。これは、すべての AWS アクションとリソースへのフルアクセスを許可するポリシーです。IAM コンソールで JSON ポリシードキュメントを表示するには、[AdministratorAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AdministratorAccess)」を参照してください。

次の信頼ポリシーは、CodeCatalyst が **CodeCatalystWorkflowDevelopmentRole-*spaceName*** ロールを引き受けることを許可します。CodeCatalyst 信頼モデルの詳細については、「[CodeCatalyst 信頼モデルについて](trust-model.md)」を参照してください。

```
"Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
             "Principal": { 
                "Service": [ 
                    "codecatalyst-runner.amazonaws.com",
                    "codecatalyst.amazonaws.com" 
                ] 
            }, 
            "Action": "sts:AssumeRole",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:codecatalyst:::space/spaceId/project/*"
                }
            }
        }
    ]
```

## アカウントとスペース用の **CodeCatalystWorkflowDevelopmentRole-*spaceName*** ロールを作成する
<a name="ipa-iam-roles-service-create"></a>

以下の手順に従って、スペース内のワークフローに使用される `CodeCatalystWorkflowDevelopmentRole-spaceName` ロールを作成します。スペース内のプロジェクトで使用する IAM ロールを持たせたいアカウントごとに、デベロッパーロールなどのロールを追加する必要があります。

開始する前に、 の管理者権限を持っている AWS アカウント か、管理者と連携できる必要があります。CodeCatalyst で AWS アカウント および IAM ロールを使用する方法の詳細については、「」を参照してください[接続された AWS リソースへのアクセスを許可する AWS アカウント](ipa-connect-account.md)。

**CodeCatalyst **CodeCatalystWorkflowDevelopmentRole-*spaceName*** を作成して追加するには**

1. CodeCatalyst コンソールで を開始する前に、 を開き AWS マネジメントコンソール、スペース AWS アカウント に対して同じ でログインしていることを確認します。

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. CodeCatalyst スペースに移動します。**[設定]**、**[AWS アカウント]** の順に選択します。

1. ロールを作成する AWS アカウント のリンクを選択します。**[AWS アカウント の詳細]** ページが表示されます。

1. **ロールの管理 AWS マネジメントコンソール**を選択します。

    AWS マネジメントコンソールで **[Amazon CodeCatalyst スペースに IAM ロールを追加]** ページが開きます。これは **[Amazon CodeCatalyst スペース]** ページです。ページにアクセスするには、ログインが必要な場合があります。

1. **[IAM で CodeCatalyst 開発管理者ロールを作成]** を選択します。このオプションにより、開発ロールのためのアクセス許可ポリシーと信頼ポリシーを含むサービスロールが作成されます。ロールには `CodeCatalystWorkflowDevelopmentRole-spaceName` という名前が付けられます。ロールとロールポリシーの詳細については、「[**CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールについて](#ipa-iam-roles-service-role)」を参照してください。
**注記**  
このロールはデベロッパーアカウントでのみ使用が推奨され、 `AdministratorAccess` AWS マネージドポリシーを使用して、このロールに新しいポリシーとリソースを作成するためのフルアクセスを付与します AWS アカウント。

1. **[開発ロールを作成]** を選択します。

1. [接続] ページの **[CodeCatalyst で使用できる IAM ロール]** で、アカウントに追加された IAM ロールの一覧に `CodeCatalystWorkflowDevelopmentRole-spaceName` ロールが表示されます。

1. スペースに戻るには、**[Amazon CodeCatalyst に移動]** を選択します。

## **AWSRoleForCodeCatalystSupport** サービスロールについて
<a name="ipa-iam-roles-support-role"></a>

スペースの CodeCatalyst ユーザーがサポートケースの作成とアクセスに使用できる IAM ロールをスペースに追加できます。これは、サポート用の[サービスロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)と呼ばれます。サポート用のサービスロールを作成する最も簡単な方法は、スペースを作成するときにサービスロールを追加し、そのロールの `AWSRoleForCodeCatalystSupport` オプションを選択することです。これにより、ポリシーとロールが作成されるだけでなく、CodeCatalyst がスペース内のプロジェクトでユーザーに代わってロールを引き受けることを許可する信頼ポリシーも作成されます。サービスロールは、個々のプロジェクトではなく、スペースに範囲が限定されます。このロールの作成については、「[アカウントとスペース用の **AWSRoleForCodeCatalystSupport** ロールを作成する](#ipa-iam-roles-support-create)」を参照してください。

`AWSRoleForCodeCatalystSupport` ロールにアタッチされたポリシーは、サポートアクセス許可へのアクセスを提供するマネージドポリシーです。詳細については、「[AWS 管理ポリシー: AmazonCodeCatalystSupportAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonCodeCatalystSupportAccess)」を参照してください。

このポリシーの信頼ロールにより、CodeCatalyst がロールを引き受けることができます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "codecatalyst.amazonaws.com",
                    "codecatalyst-runner.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

## アカウントとスペース用の **AWSRoleForCodeCatalystSupport** ロールを作成する
<a name="ipa-iam-roles-support-create"></a>

スペース内のサポートケースに使用される `AWSRoleForCodeCatalystSupport` ロールを作成する手順は次のとおりです。このロールを、スペースに指定された請求アカウントに追加する必要があります。

開始する前に、 の管理者権限を持っている AWS アカウント か、管理者と連携できる必要があります。CodeCatalyst で AWS アカウント および IAM ロールを使用する方法の詳細については、「」を参照してください[接続された AWS リソースへのアクセスを許可する AWS アカウント](ipa-connect-account.md)。

**CodeCatalyst **AWSRoleForCodeCatalystSupport** を作成して追加するには**

1. CodeCatalyst コンソールで を開始する前に、 を開き AWS マネジメントコンソール、スペース AWS アカウント に対して同じ でログインしていることを確認します。

1. CodeCatalyst スペースに移動します。**[設定]**、**[AWS アカウント]** の順に選択します。

1. ロールを作成する AWS アカウント のリンクを選択します。**[AWS アカウント の詳細]** ページが表示されます。

1. **ロールの管理を選択します AWS マネジメントコンソール**。

    AWS マネジメントコンソールで **[Amazon CodeCatalyst スペースに IAM ロールを追加]** ページが開きます。これは **[Amazon CodeCatalyst スペース]** ページです。ページにアクセスするには、サインインが必要な場合があります。

1. **[CodeCatalyst スペースの詳細]** で、**[CodeCatalyst サポートロールの追加]** を選択します。このオプションでは、プレビュー開発ロールのための許可ポリシーと信頼ポリシーを含むサービスロールを作成します。ロールには、一意の識別子が追加された **AWSRoleForCodeCatalystSupport** という名前が付けられます。ロールとロールポリシーの詳細については、「[**AWSRoleForCodeCatalystSupport** サービスロールについて](#ipa-iam-roles-support-role)」を参照してください。

1. **[CodeCatalyst サポートのロールを追加]** ページで、デフォルトを選択したままにし、**[ロールを作成]** を選択します。

1. **[CodeCatalyst で使用できる IAM ロール]** で、アカウントに追加された IAM ロールの一覧に `CodeCatalystWorkflowDevelopmentRole-spaceName` ロールが表示されます。

1. スペースに戻るには、**[Amazon CodeCatalyst に移動]** を選択します。

## CodeCatalyst のワークフローアクションに IAM ロールを設定する
<a name="ipa-iam-roles-policies"></a>

このセクションでは、CodeCatalyst アカウントで使用できる IAM ロールとポリシーについて詳しく説明します。サンプルロールの作成手順については、「[ワークフローアクション用のロールを手動で作成する](#ipa-iam-roles-actions)」を参照してください。IAM ロールを作成したら、ロール ARN をコピーしてアカウント接続に IAM ロールを追加し、プロジェクト環境に関連付けます。詳細については[IAM ロールをアカウント接続に追加する](ipa-connect-account-addroles.md)を参照してください。

### Amazon S3 アクセス用の CodeCatalyst ビルドロール
<a name="ipa-iam-rolepolicy-BuildRoleS3"></a>

CodeCatalyst ワークフローのビルドアクションでは、デフォルトの **CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールを使用するか、**CodeCatalystBuildRoleforS3Access** という名前の IAM ロールを作成できます。このロールは、CodeCatalyst が の CloudFormation リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+ Amazon S3 バケットに書き込む｡
+ で リソースの構築をサポートします CloudFormation。これには Amazon S3 アクセスが必要です。

このロールは以下のポリシーを使用します。

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### の CodeCatalyst ビルドロール CloudFormation
<a name="ipa-iam-rolepolicy-BuildRoleCloudFormation"></a>

CodeCatalyst ワークフローのビルドアクションでは、デフォルトの **CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールを使用するか、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、CodeCatalyst が の CloudFormation リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+ で リソースの構築をサポートします CloudFormation。これは、Amazon S3 アクセス用の CodeCatalyst ビルドロールと、 CloudFormation用の CodeCatalyst デプロイロールと共に必要です。

このロールには、次の AWS 管理ポリシーをアタッチする必要があります。
+ **AWSCloudFormationFullAccess**
+ **IAMFullAccess**
+ **AmazonS3FullAccess**
+ **AmazonAPIGatewayAdministrator**
+ **AWSLambdaFullAccess**

### CDK 用の CodeCatalyst ビルドロール
<a name="ipa-iam-rolepolicy-BuildRoleCDK"></a>

「Modern three-tier web application」などの CDK ビルドアクションを実行する CodeCatalyst ワークフローでは、デフォルトの **CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールを使用するか、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、CodeCatalyst が の CloudFormation リソースの CDK ビルドコマンドをブートストラップして実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+ Amazon S3 バケットに書き込む｡
+ CDK コンストラクトと CloudFormation リソーススタックの構築をサポートします。これには、アーティファクトストレージ用の Amazon S3、イメージリポジトリサポート用の Amazon ECR、仮想インスタンスのシステムガバナンスおよびモニタリング用の SSM へのアクセスが必要です。

このロールは以下のポリシーを使用します。

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### の CodeCatalyst デプロイロール CloudFormation
<a name="ipa-iam-rolepolicy-DeployCloudFormation"></a>

が使用する CodeCatalyst ワークフローデプロイアクションでは CloudFormation、デフォルトの**CodeCatalystWorkflowDevelopmentRole-*spaceName***サービスロールを使用するか、CodeCatalyst が の CloudFormation リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用できます AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+ CodeCatalyst が CloudFormationを通じてブルー/グリーンデプロイを実行する Lambda 関数を呼び出すことを許可する。
+ CodeCatalyst がスタックと変更セットを作成および更新できるようにします CloudFormation。

このロールは以下のポリシーを使用します。

```
{"Action": [
        "cloudformation:CreateStack",
        "cloudformation:DeleteStack",
        "cloudformation:Describe*",
        "cloudformation:UpdateStack",
        "cloudformation:CreateChangeSet",
        "cloudformation:DeleteChangeSet",
        "cloudformation:ExecuteChangeSet",
        "cloudformation:SetStackPolicy",
        "cloudformation:ValidateTemplate",
        "cloudformation:List*",
        "iam:PassRole"
    ],
    "Resource": "resource_ARN",
    "Effect": "Allow"
}
```

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### Amazon EC2 用の CodeCatalyst デプロイロール
<a name="ipa-iam-rolepolicy-DeployEC2"></a>

CodeCatalyst ワークフローデプロイアクションは、必要なアクセス許可を持つ IAM ロールを使用します。このロールは、CodeCatalyst が の Amazon EC2 リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。**CodeCatalystWorkflowDevelopmentRole-*spaceName*** ロールのデフォルトポリシーには、Amazon EC2 または Amazon EC2 Auto Scaling のアクセス許可は含まれません。

このロールにより、以下のアクセス許可が付与されます。
+ Amazon EC2 デプロイを作成する。
+ インスタンスのタグを読み取る、または Auto Scaling グループ名により Amazon EC2 インスタンスを識別する。
+ Amazon EC2 Auto Scaling グループ、ライフサイクルフック、スケーリングポリシーの読み取り、作成、更新、削除を行います。
+ Amazon SNS トピックに情報を公開します。
+ CloudWatch アラームに関する情報を取得します。
+ Elastic Load Balancing を読み、更新します。

このロールは以下のポリシーを使用します。

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### Amazon ECS 用の CodeCatalyst デプロイロール
<a name="ipa-iam-rolepolicy-DeployECS"></a>

CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。デフォルトの **CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールを使用するか、Lambda デプロイに使用する CodeCatalyst デプロイアクション用の IAM ロールを作成できます。このロールは、CodeCatalyst が の Amazon ECS リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+ CodeCatalyst 接続で指定されたアカウントで、CodeCatalyst ユーザーに代わって Amazon ECS のローリングデプロイを開始する。
+ Amazon ECS タスクセットを読んで、更新、削除します。
+ Elastic Load Balancing ターゲットグループ、リスナー、ルールを更新します。
+ Lambda 関数を呼び出す。
+ Amazon S3 バケットのリビジョンファイルにアクセスします。
+ CloudWatch アラームに関する情報を取得します。
+ Amazon SNS トピックに情報を公開します。

このロールは以下のポリシーを使用します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
    "Action":[
      "ecs:DescribeServices",
      "ecs:CreateTaskSet",
      "ecs:DeleteTaskSet",
      "ecs:ListClusters",
      "ecs:RegisterTaskDefinition",
      "ecs:UpdateServicePrimaryTaskSet",
      "ecs:UpdateService",
      "elasticloadbalancing:DescribeTargetGroups",
      "elasticloadbalancing:DescribeListeners",
      "elasticloadbalancing:ModifyListener",
      "elasticloadbalancing:DescribeRules",
      "elasticloadbalancing:ModifyRule",
      "lambda:InvokeFunction",
      "lambda:ListFunctions",
      "cloudwatch:DescribeAlarms",
      "sns:Publish",
      "sns:ListTopics", 
      "s3:GetObject",
      "s3:GetObjectVersion",
      "codedeploy:CreateApplication", 
      "codedeploy:CreateDeployment", 
      "codedeploy:CreateDeploymentGroup", 
      "codedeploy:GetApplication", 
      "codedeploy:GetDeployment", 
      "codedeploy:GetDeploymentGroup", 
      "codedeploy:ListApplications", 
      "codedeploy:ListDeploymentGroups", 
      "codedeploy:ListDeployments", 
      "codedeploy:StopDeployment", 
      "codedeploy:GetDeploymentTarget", 
      "codedeploy:ListDeploymentTargets", 
      "codedeploy:GetDeploymentConfig", 
      "codedeploy:GetApplicationRevision", 
      "codedeploy:RegisterApplicationRevision", 
      "codedeploy:BatchGetApplicationRevisions", 
      "codedeploy:BatchGetDeploymentGroups", 
      "codedeploy:BatchGetDeployments", 
      "codedeploy:BatchGetApplications", 
      "codedeploy:ListApplicationRevisions", 
      "codedeploy:ListDeploymentConfigs", 
      "codedeploy:ContinueDeployment"           
   ],
   "Resource":"*",
   "Effect":"Allow"
},{"Action":[
      "iam:PassRole"
   ],
   "Effect":"Allow",
   "Resource":"*",
   "Condition":{"StringLike":{"iam:PassedToService":[
            "ecs-tasks.amazonaws.com",
            "codedeploy.amazonaws.com"
         ]
      }
   }
}]
}
```

------

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### Lambda 用の CodeCatalyst デプロイロール
<a name="ipa-iam-rolepolicy-DeployLambda"></a>

 CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。デフォルトの **CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールを使用するか、Lambda デプロイに使用する CodeCatalyst デプロイアクション用の IAM ロールを作成できます。このロールは、CodeCatalyst が の Lambda リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+ Lambda 関数およびエイリアスの読み取り、更新、呼び出しを行う。
+ Amazon S3 バケットのリビジョンファイルにアクセスします。
+ CloudWatch Events アラームに関する情報を取得する。
+ Amazon SNS トピックに情報を公開します。

このロールは以下のポリシーを使用します。

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### Lambda 用の CodeCatalyst デプロイロール
<a name="ipa-iam-rolepolicy-DeployLambda"></a>

CodeCatalyst ワークフローアクションでは、デフォルトの **CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールを使用するか、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、CodeCatalyst が の Lambda リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+ Lambda 関数およびエイリアスの読み取り、更新、呼び出しを行う。
+ Amazon S3 バケットのリビジョンファイルにアクセスします。
+ CloudWatch アラームに関する情報を取得します。
+ Amazon SNS トピックに情報を公開します。

このロールは以下のポリシーを使用します。

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### の CodeCatalyst デプロイロール AWS SAM
<a name="ipa-iam-rolepolicy-DeploySAM"></a>

CodeCatalyst ワークフローアクションでは、デフォルトの **CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールを使用するか、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、CodeCatalyst が の AWS SAM および CloudFormation リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+ CodeCatalyst が Lambda 関数を呼び出して、サーバーレスアプリケーションおよび AWS SAM CLI アプリケーションのデプロイを実行することを許可する。
+ CodeCatalyst がスタックと変更セットを作成および更新できるようにします CloudFormation。

このロールは以下のポリシーを使用します。

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### Amazon EC2 用の CodeCatalyst 読み取り専用ロール
<a name="ipa-iam-rolepolicy-ReadOnlyEC2"></a>

CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、CodeCatalyst が の Amazon EC2 リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。**CodeCatalystWorkflowDevelopmentRole-*spaceName*** サービスロールには、Amazon EC2 のアクセス許可や説明されている Amazon CloudWatch のアクションは含まれません。

このロールにより、以下のアクセス許可が付与されます。
+ Amazon EC2 インスタンスのステータスを取得する。
+ Amazon EC2 インスタンスの CloudWatch メトリクスを取得する。

このロールは以下のポリシーを使用します。

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### Amazon ECS 用の CodeCatalyst 読み取り専用ロール
<a name="ipa-iam-rolepolicy-ReadOnlyECS"></a>

CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、CodeCatalyst が の Amazon ECS リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+ Amazon ECS のタスクセットを読み取る。
+ CloudWatch アラームに関する情報を取得します。

このロールは以下のポリシーを使用します。

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

### Lambda 用の CodeCatalyst 読み取り専用ロール
<a name="ipa-iam-rolepolicy-ReadOnlyLambda"></a>

CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、CodeCatalyst が の Lambda リソースでタスクを実行するために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールにより、以下のアクセス許可が付与されます。
+  Lambda 関数とエイリアスを読み取る。
+ Amazon S3 バケットのリビジョンファイルにアクセスします。
+ CloudWatch アラームに関する情報を取得します。

このロールは以下の ポリシーを使用します。

**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

## ワークフローアクション用のロールを手動で作成する
<a name="ipa-iam-roles-actions"></a>

CodeCatalyst ワークフローアクションでは、**ビルドロール**、**デプロイロール**、**スタックロール**という名前で作成した IAM ロールを使用します。

IAM ロールを作成する手順は次のとおりです。

**デプロイロールを作成するには**

1. ロールのポリシーを以下の手順で作成します。

   1. にサインインします AWS。

   1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

   1. ナビゲーションペインで、**ポリシー** を選択してください。

   1. **[Create policy]** (ポリシーを作成) を選択します。

   1. **JSON** タブを選択します。

   1. 既存のコードを削除します。

   1. 次のコードを貼り付けます。
**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

   1. [**Next: Tags (次へ: タグ)**] を選択します。

   1. **[次へ: レビュー]** を選択します。

   1. **[名前]** に次のように入力します。

      ```
      codecatalyst-deploy-policy
      ```

   1. [**Create policy**] (ポリシーの作成) を選択します。

      これで、アクセス許可ポリシーが作成されました。

1. 次のようにデプロイロールを作成します。

   1. ナビゲーションペインで **ロール** を選択してから、**ロールを作成する** を選択します。

   1. **[カスタム信頼ポリシー]** を選択します。

   1. 既存のカスタム信頼ポリシーを削除します。

   1. 次の信頼ポリシーを追加します。

   1. [**次へ**] を選択します。

   1. **[アクセス許可ポリシー]** で `codecatalyst-deploy-policy` を検索し、チェックボックスをオンにします。

   1. [**次へ**] を選択します。

   1. **[ロール名]** には、次のように入力します。

      ```
      codecatalyst-deploy-role
      ```

   1. **[ロールの説明]** には、次のように入力します。

      ```
      CodeCatalyst deploy role
      ```

   1. [**ロールの作成**] を選択してください。

   これで、信頼ポリシーとアクセス許可ポリシーを使用してデプロイロールが作成されました。

1. デプロイロール ARN を次のように取得します。

   1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

   1. 検索ボックスに、作成したロールの名前 (`codecatalyst-deploy-role`) を入力します。

   1. 使用するロールを一覧から選択します。

      ロールの **[概要]** ページが表示されます。

   1. 上部で、**[ARN]** 値をコピーします。

   これで、適切なアクセス許可を持つデプロイロールを作成し、ARN を取得しました。

**ビルドロールを作成するには**

1. ロールのポリシーを以下の手順で作成します。

   1. にサインインします AWS。

   1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

   1. ナビゲーションペインで、**ポリシー** を選択してください。

   1. **[Create policy]** (ポリシーを作成) を選択します。

   1. **JSON** タブを選択します。

   1. 既存のコードを削除します。

   1. 次のコードを貼り付けます。
**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

   1. [**Next: Tags (次へ: タグ)**] を選択します。

   1. **[次へ: レビュー]** を選択します。

   1. **[名前]** に次のように入力します。

      ```
      codecatalyst-build-policy
      ```

   1. [**Create policy**] (ポリシーの作成) を選択します。

      これで、アクセス許可ポリシーが作成されました。

1. 次のようにビルドロールを作成します。

   1. ナビゲーションペインで **ロール** を選択してから、**ロールを作成する** を選択します。

   1. **[カスタム信頼ポリシー]** を選択します。

   1. 既存のカスタム信頼ポリシーを削除します。

   1. 次の信頼ポリシーを追加します。

   1. [**次へ**] を選択します。

   1. **[アクセス許可ポリシー]** で `codecatalyst-build-policy` を検索し、チェックボックスをオンにします。

   1. [**次へ**] を選択します。

   1. **[ロール名]** には、次のように入力します。

      ```
      codecatalyst-build-role
      ```

   1. **[ロールの説明]** には、次のように入力します。

      ```
      CodeCatalyst build role
      ```

   1. [**ロールの作成**] を選択してください。

   これで、信頼ポリシーとアクセス許可ポリシーを使用してビルドロールが作成されました。

1. 次のようにビルドロール ARN を取得します。

   1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

   1. 検索ボックスに、作成したロールの名前 (`codecatalyst-build-role`) を入力します。

   1. 使用するロールを一覧から選択します。

      ロールの **[概要]** ページが表示されます。

   1. 上部で、**[ARN]** 値をコピーします。

   これで、適切なアクセス許可を持つビルドロールを作成し、その ARN を取得しました。

**スタックロールを作成するには**
**注記**  
スタックロールを作成する必要はありませんが、セキュリティ上の理由から作成することをお勧めします。スタックロールを作成しない場合は、この手順で詳しく説明するアクセス許可ポリシーをデプロイロールに追加する必要があります。

1. スタックをデプロイするアカウント AWS を使用して にサインインします。

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. ナビゲーションペインで **[ロール]** を選択した後、**[ロールの作成]** を選択します。

1. 上部の **[AWS のサービス]** を選択します。

1. サービスのリストから、**CloudFormation** を選択します。

1. **[Next: Permissions]** (次のステップ: 許可) を選択します。

1. 検索ボックスに、スタック内のリソースへのアクセスに必要なポリシーをすべて追加します。たとえば、スタックに AWS Lambda 関数が含まれている場合は、Lambda へのアクセスを許可するポリシーを追加する必要があります。
**ヒント**  
追加するポリシーが不明な場合は、現時点では省略できます。アクションをテストするときに、適切なアクセス許可がない場合、 は追加する必要があるアクセス許可を示すエラー CloudFormation を生成します。

1. [**Next: Tags (次へ: タグ)**] を選択します。

1. **[次へ: レビュー]** を選択します。

1. **[ロール名]** には、次のように入力します。

   ```
   codecatalyst-stack-role
   ```

1. [**ロールの作成**] を選択してください。

1. スタックロールの ARN を取得するには、次の手順を実行します。

   1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

   1. 検索ボックスに、作成したロールの名前 (`codecatalyst-stack-role`) を入力します。

   1. 使用するロールを一覧から選択します。

   1. **[概要]** ページで、**[ロール ARN]** をコピーします。

## AWS CloudFormation を使用して IAM でポリシーとロールを作成する
<a name="ipa-iam-roles-cfn"></a>

 AWS CloudFormation テンプレートを作成して使用すると、CodeCatalyst プロジェクトとワークフロー AWS アカウント の のリソースにアクセスするために必要なポリシーとロールを作成できます。 CloudFormation は、 AWS リソースのモデル化とセットアップに役立つサービスです。これにより、リソースの管理時間を短縮し、実行されるアプリケーションに集中できます AWS。複数の でロールを作成する場合は AWS アカウント、テンプレートを作成すると、このタスクをより迅速に実行できます。

次のサンプルテンプレートは、デプロイアクションロールとポリシーを作成します。

```
Parameters:
  CodeCatalystAccountId:
    Type: String
    Description: Account ID from the connections page
  ExternalId:
    Type: String
    Description: External ID from the connections page
Resources:
  CrossAccountRole:
    Type: 'AWS::IAM::Role'
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"		 	 	 
        Statement:
          - Effect: Allow
            Principal:
              AWS:
                - !Ref CodeCatalystAccountId
            Action:
              - 'sts:AssumeRole'
            Condition:
              StringEquals:
                sts:ExternalId: !Ref ExternalId
      Path: /
      Policies:
        - PolicyName: CodeCatalyst-CloudFormation-action-policy
          PolicyDocument:
            Version: "2012-10-17"		 	 	 
            Statement:
              - Effect: Allow
                Action:
                  - 'cloudformation:CreateStack'
                  - 'cloudformation:DeleteStack'
                  - 'cloudformation:Describe*'
                  - 'cloudformation:UpdateStack'
                  - 'cloudformation:CreateChangeSet'
                  - 'cloudformation:DeleteChangeSet'
                  - 'cloudformation:ExecuteChangeSet'
                  - 'cloudformation:SetStackPolicy'
                  - 'cloudformation:ValidateTemplate'
                  - 'cloudformation:List*'
                  - 'iam:PassRole'
                Resource: '*'
```

## ウェブアプリケーションブループリント用のロールを手動で作成する
<a name="ipa-iam-roles-webapp-blueprint"></a>

CodeCatalyst ウェブアプリケーションブループリントでは、**CDK 用のビルドロール**、**デプロイロール**、**スタックロール**という名前で作成した IAM ロールを使用します。

IAM でロールを作成する手順は次のとおりです。

**ビルドロールを作成するには**

1. ロールのポリシーを以下の手順で作成します。

   1. にサインインします AWS。

   1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

   1. ナビゲーションペインで、**ポリシー** を選択してください。

   1. **[ポリシーを作成]** を選択します。

   1. **JSON** タブを選択します。

   1. 既存のコードを削除します。

   1. 次のコードを貼り付けます。
**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

   1. [**Next: Tags (次へ: タグ)**] を選択します。

   1. **[次へ: レビュー]** を選択します。

   1. **[名前]** に次のように入力します。

      ```
      codecatalyst-webapp-build-policy
      ```

   1. [**Create policy**] (ポリシーの作成) を選択します。

      これで、アクセス許可ポリシーが作成されました。

1. 次のようにビルドロールを作成します。

   1. ナビゲーションペインで **ロール** を選択してから、**ロールを作成する** を選択します。

   1. **[カスタム信頼ポリシー]** を選択します。

   1. 既存のカスタム信頼ポリシーを削除します。

   1. 次の信頼ポリシーを追加します。

   1. [**次へ**] を選択します。

   1. アクセス許可ポリシーをビルドロールにアタッチします。**[許可を追加]** ページで、**[アクセス許可ポリシー]** セクションで `codecatalyst-webapp-build-policy` を検索し、そのチェックボックスをオンにします。

   1. [**次へ**] を選択します。

   1. **[ロール名]** には、次のように入力します。

      ```
      codecatalyst-webapp-build-role
      ```

   1. **[ロールの説明]** には、次のように入力します。

      ```
      CodeCatalyst Web app build role
      ```

   1. [**ロールの作成**] を選択してください。

   これで、信頼ポリシーとアクセス許可ポリシーを使用してビルドロールが作成されました。

1. 次の手順で、アクセス許可ポリシーをこのビルドにアタッチします。

   1. ナビゲーションペインで **[ロール]** を選択した後、`codecatalyst-webapp-build-role``` を検索します。

   1. `codecatalyst-webapp-build-role``` を選択して詳細を表示します。

   1. **[アクセス許可]** タブで、**[許可を追加]** を選択してから、**[ポリシーをアタッチ]** を選択します。

   1. `codecatalyst-webapp-build-policy` を検索してチェックボックスをオンにし、**[ポリシーをアタッチ]** を選択します。

      これで、アクセス許可ポリシーをビルドロールにアタッチできました。このビルドロールには、2 つのポリシー (アクセス許可ポリシーと信頼ポリシー) がアタッチされています。

1. ビルドロール ARN を次の手順で取得します。

   1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

   1. 検索ボックスに、作成したロールの名前 (`codecatalyst-webapp-build-role`) を入力します。

   1. 使用するロールを一覧から選択します。

      ロールの **[概要]** ページが表示されます。

   1. 上部で、**[ARN]** 値をコピーします。

   これで、適切なアクセス許可を持つビルドロールを作成し、その ARN を取得しました。

## SAM ブループリント用のロールを手動で作成する
<a name="ipa-iam-roles-SAM-blueprint"></a>

CodeCatalyst SAM ブループリントでは、**CloudFormation 用のビルドロール**と **SAM 用のデプロイロール**という名前で作成した IAM ロールを使用します。

IAM でロールを作成する手順は次のとおりです。

**CloudFormation 用のビルドロールを作成するには**

1. ロールのポリシーを以下の手順で作成します。

   1. にサインインします AWS。

   1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

   1. ナビゲーションペインで、**ポリシー** を選択してください。

   1. **[ポリシーを作成]** を選択します。

   1. **JSON** タブを選択します。

   1. 既存のコードを削除します。

   1. 次のコードを貼り付けます。

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:*",
                      "cloudformation:*"
                  ],
                  "Resource": "*"
              }
          ]
      }
      ```

------
**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

   1. [**Next: Tags (次へ: タグ)**] を選択します。

   1. **[次へ: レビュー]** を選択します。

   1. **[名前]** に次のように入力します。

      ```
      codecatalyst-SAM-build-policy
      ```

   1. [**Create policy**] (ポリシーの作成) を選択します。

      これで、アクセス許可ポリシーが作成されました。

1. 次のようにビルドロールを作成します。

   1. ナビゲーションペインで **ロール** を選択してから、**ロールを作成する** を選択します。

   1. **[カスタム信頼ポリシー]** を選択します。

   1. 既存のカスタム信頼ポリシーを削除します。

   1. 次の信頼ポリシーを追加します。

   1. [**次へ**] を選択します。

   1. アクセス許可ポリシーをビルドロールにアタッチします。**[許可を追加]** ページで、**[アクセス許可ポリシー]** セクションで `codecatalyst-SAM-build-policy` を検索し、そのチェックボックスをオンにします。

   1. [**次へ**] を選択します。

   1. **[ロール名]** には、次のように入力します。

      ```
      codecatalyst-SAM-build-role
      ```

   1. **[ロールの説明]** には、次のように入力します。

      ```
      CodeCatalyst SAM build role
      ```

   1. [**ロールの作成**] を選択してください。

   これで、信頼ポリシーとアクセス許可ポリシーを使用してビルドロールが作成されました。

1. 次の手順で、アクセス許可ポリシーをこのビルドにアタッチします。

   1. ナビゲーションペインで **[ロール]** を選択した後、`codecatalyst-SAM-build-role``` を検索します。

   1. `codecatalyst-SAM-build-role``` を選択して詳細を表示します。

   1. **[アクセス許可]** タブで、**[許可を追加]** を選択してから、**[ポリシーをアタッチ]** を選択します。

   1. `codecatalyst-SAM-build-policy` を検索してチェックボックスをオンにし、**[ポリシーをアタッチ]** を選択します。

      これで、アクセス許可ポリシーをビルドロールにアタッチできました。このビルドロールには、2 つのポリシー (アクセス許可ポリシーと信頼ポリシー) がアタッチされています。

1. ビルドロール ARN を次の手順で取得します。

   1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

   1. 検索ボックスに、作成したロールの名前 (`codecatalyst-SAM-build-role`) を入力します。

   1. 使用するロールを一覧から選択します。

      ロールの **[概要]** ページが表示されます。

   1. 上部で、**[ARN]** 値をコピーします。

   これで、適切なアクセス許可を持つビルドロールを作成し、その ARN を取得しました。

**SAM 用のデプロイロールを作成するには**

1. ロールのポリシーを次の手順で作成します。

   1. にサインインします AWS。

   1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

   1. ナビゲーションペインで、**ポリシー** を選択してください。

   1. **[ポリシーを作成]** を選択します。

   1. **JSON** タブを選択します。

   1. 既存のコードを削除します。

   1. 次のコードを貼り付けます。
**注記**  
ロールがワークフローアクションの実行に初めて使用されるときは、リソースポリシーステートメントでワイルドカードを使用し、利用可能になった後にリソース名でポリシーの範囲を絞り込みます。  

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

   1. [**Next: Tags (次へ: タグ)**] を選択します。

   1. **[次へ: レビュー]** を選択します。

   1. **[名前]** に次のように入力します。

      ```
      codecatalyst-SAM-deploy-policy
      ```

   1. [**Create policy**] (ポリシーの作成) を選択します。

      これで、アクセス許可ポリシーが作成されました。

1. 次のようにビルドロールを作成します。

   1. ナビゲーションペインで **ロール** を選択してから、**ロールを作成する** を選択します。

   1. **[カスタム信頼ポリシー]** を選択します。

   1. 既存のカスタム信頼ポリシーを削除します。

   1. 次の信頼ポリシーを追加します。

   1. [**次へ**] を選択します。

   1. アクセス許可ポリシーをビルドロールにアタッチします。**[許可を追加]** ページで、**[アクセス許可ポリシー]** セクションで `codecatalyst-SAM-deploy-policy` を検索し、そのチェックボックスをオンにします。

   1. [**次へ**] を選択します。

   1. **[ロール名]** には、次のように入力します。

      ```
      codecatalyst-SAM-deploy-role
      ```

   1. **[ロールの説明]** には、次のように入力します。

      ```
      CodeCatalyst SAM deploy role
      ```

   1. [**ロールの作成**] を選択してください。

   これで、信頼ポリシーとアクセス許可ポリシーを使用してビルドロールが作成されました。

1. 次の手順で、アクセス許可ポリシーをこのビルドにアタッチします。

   1. ナビゲーションペインで **[ロール]** を選択した後、`codecatalyst-SAM-deploy-role``` を検索します。

   1. `codecatalyst-SAM-deploy-role``` を選択して詳細を表示します。

   1. **[アクセス許可]** タブで、**[許可を追加]** を選択してから、**[ポリシーをアタッチ]** を選択します。

   1. `codecatalyst-SAM-deploy-policy` を検索してチェックボックスをオンにし、**[ポリシーをアタッチ]** を選択します。

      これで、アクセス許可ポリシーをビルドロールにアタッチできました。このビルドロールには、2 つのポリシー (アクセス許可ポリシーと信頼ポリシー) がアタッチされています。

1. ビルドロール ARN を次の手順で取得します。

   1. ナビゲーションペインで **Roles (ロール) ** を選択してください。

   1. 検索ボックスに、作成したロールの名前 (`codecatalyst-SAM-deploy-role`) を入力します。

   1. 使用するロールを一覧から選択します。

      ロールの **[概要]** ページが表示されます。

   1. 上部で、**[ARN]** 値をコピーします。

   これで、適切なアクセス許可を持つビルドロールを作成し、その ARN を取得しました。