

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

# ユーザーに CodeBuild とのやり取りを許可
<a name="setting-up-service-permissions-group"></a>

 AWS CodeBuild 「」の手順に従って [コンソールを使用した開始方法](getting-started-overview.md#getting-started)に初めてアクセスする場合、ほとんどの場合、このトピックの情報は必要ありません。ただし、CodeBuild を引き続き使用すると、組織内の他のユーザーやグループに CodeBuild とやり取りする機能を付与することが必要になる場合があります。

IAM ユーザーまたはグループに操作を許可するには AWS CodeBuild、CodeBuild へのアクセス許可を付与する必要があります。このセクションでは、IAM コンソールまたは AWS CLIでこれを行う方法について説明します。

 AWS ルートアカウント (非推奨) または AWS アカウントの管理者ユーザーを使用して CodeBuild にアクセスする場合は、以下の手順に従う必要はありません。

 AWS ルートアカウントと管理者ユーザーの詳細については、[「 ユーザーガイド」の AWS アカウント 「ルートユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)」と[「最初の AWS アカウント ルートユーザーとグループの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)」を参照してください。 **<a name="setting-up-service-permissions-group-console"></a>

**IAM グループまたはユーザーに CodeBuild アクセス許可を追加するには (コンソール)**

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

   次のいずれか AWS マネジメントコンソール を使用して、 に既にサインインしている必要があります。
   +  AWS ルートアカウント。これは推奨されません。詳細については、*ユーザーガイド*の「[AWS アカウント ルートユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)」を参照してください。
   +  AWS アカウントの管理者ユーザー。詳細については、 *ユーザーガイド*の[「最初の AWS アカウント ルートユーザーとグループの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)」を参照してください。
   + 以下の最小アクションセットを実行するアクセス許可を持つ AWS アカウントのユーザー。

     ```
     iam:AttachGroupPolicy
     iam:AttachUserPolicy
     iam:CreatePolicy
     iam:ListAttachedGroupPolicies
     iam:ListAttachedUserPolicies
     iam:ListGroups
     iam:ListPolicies
     iam:ListUsers
     ```

     詳細については、*ユーザーガイド*の「[IAM ポリシーの概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)」を参照してください。

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

1. IAM グループまたは IAM ユーザーにアクセス AWS CodeBuild 許可のカスタムセットを追加するには、この手順のステップ 4 に進みます。

   IAM グループや IAM ユーザーにデフォルトの CodeBuild アクセス許可セットを追加するには、[**Policy Type**]、[**AWS Managed**] の順に選択し、以下の操作を行います。
   + CodeBuild へのフルアクセス許可を追加するには、**[AWSCodeBuildAdminAccess]** という名前のボックスを選択し、**[ポリシーアクション]**、**[アタッチ]** の順に選択します。対象の IAM グループやユーザーの横にあるボックスを選択し、**[Attach Policy]** (ポリシーのアタッチ) を選択します。**AmazonS3ReadOnlyAccess** ポリシーおよび **IAMFullAccess** ポリシーに対して、この操作を繰り返します。
   + ビルドプロジェクトの管理を除くすべてについて CodeBuild へのアクセス許可に追加するには、**[AWSCodeBuildDeveloperAccess]** という名前のボックスを選択し、**[Policy Actions]** (ポリシーアクション)、**[Attach]** (アタッチ) の順に選択します。対象の IAM グループやユーザーの横にあるボックスを選択し、**[Attach Policy]** (ポリシーのアタッチ) を選択します。**AmazonS3ReadOnlyAccess** ポリシーに対して、この操作を繰り返します。
   + CodeBuild への読み取り専用アクセス許可を追加するには、**[AWSCodeBuildReadOnlyAccess]** という名前のボックスを選択します。対象の IAM グループやユーザーの横にあるボックスを選択し、**[Attach Policy]** (ポリシーのアタッチ) を選択します。**AmazonS3ReadOnlyAccess** ポリシーに対して、この操作を繰り返します。

   これで、IAM グループまたはユーザーに CodeBuild へのデフォルトのアクセス許可セットが追加されました。この手順の残りの手順をスキップします。

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

1. [**Create Policy**] ページで、[**Create Your Own Policy**] の横にある [**Select**] を選択します。

1. [**ポリシーの確認**] ページの [**ポリシー名**] に、ポリシーの名前 (**CodeBuildAccessPolicy** など) を入力します。別の名前を使用する場合は、この手順全体でそれを使用してください。

1. [**ポリシードキュメント**] に、次のように入力し、[**ポリシーの作成**] を選択します。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CodeBuildAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "codebuild:*"
               ],
               "Resource": "*"
           },
           {
               "Sid": "CodeBuildRolePolicy",
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::{{111122223333}}:role/{{role-name}}"
           },
           {
               "Sid": "CloudWatchLogsAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "logs:FilterLogEvents",
                   "logs:GetLogEvents"
               ],
               "Resource": "*"
           },
           {
               "Sid": "S3AccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:CreateBucket",
                   "s3:GetObject",
                   "s3:List*",
                   "s3:PutObject"
               ],
               "Resource": "*"
           },
           {
               "Sid": "S3BucketIdentity",
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------
**注記**  
このポリシーは、すべての CodeBuild アクションと、潜在的に多数の AWS リソースへのアクセスを許可します。アクセス許可を特定の CodeBuild アクションに限定するには、CodeBuild ポリシーステートメントの `codebuild:*` の値を変更します。詳細については、「[ID とアクセス管理](auth-and-access-control.md)」を参照してください。特定の AWS リソースへのアクセスを制限するには、 `Resource` オブジェクトの値を変更します。詳細については、「[ID とアクセス管理](auth-and-access-control.md)」を参照してください。

1. ナビゲーションペインで、[**Groups**] または [**Users**] を選択します。

1. グループまたはユーザーのリストで、CodeBuild アクセス許可を追加する IAM グループまたは IAM ユーザーの名前を選択します。

1. グループの場合は、グループ設定ページの [**アクセス許可**] タブで [**管理ポリシー**] を展開し、[**ポリシーのアタッチ**] を選択します。

   ユーザーの場合は、ユーザー設定ページの [**Permissions**] タブで、[**Add permissions**] を選択します。

1. グループの場合は、**[Attach Policy]** (ポリシーのアタッチ) ページで **[CodeBuildAccessPolicy]**、**[Attach Policy]** (ポリシーのアタッチ) の順に選択します。

   ユーザーの場合は、[**Add permissions**] (アクセス許可の付与) ページで [**Attach existing policies directly**] (既存のポリシーを直接アタッチ) を選択します。[**CodeBuildAccessPolicy**] を選択し、[**Next: Reivew**] (次のステップ: 確認)、[**Add permissions**] (アクセス権限の追加) の順にクリックします。<a name="setting-up-service-permissions-group-cli"></a>

**IAM グループまたはユーザーに CodeBuild アクセス許可を追加するには (AWS CLI)**

1. 前の手順で説明したように、IAM エンティティの 1 つに対応する AWS アクセスキーと AWS シークレットアクセスキー AWS CLI で が設定されていることを確認します。詳細については、[AWS Command Line Interfaceユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)の「*AWS Command Line Interface のセットアップ*」を参照してください。

1. IAM グループまたは IAM ユーザーにアクセス AWS CodeBuild 許可のカスタムセットを追加するには、この手順のステップ 3 に進みます。

   IAM グループまたは IAM ユーザーに、CodeBuild アクセス許可のデフォルトセットを追加するには以下を実行します。

   IAM グループまたはユーザーのどちらにアクセス許可を追加するかに応じて、以下のいずれかのコマンドを実行します。

   ```
   aws iam attach-group-policy --group-name {{group-name}} --policy-arn {{policy-arn}}
   
   aws iam attach-user-policy --user-name {{user-name}} --policy-arn {{policy-arn}}
   ```

   コマンドは 3 回実行する必要があります。{{group-name}} または {{user-name}} は IAM グループ名またはユーザー名に置き換え、{{policy-arn}} は 1 回ごとに以下の各ポリシー Amazon リソースネーム (ARN) に置き換えてください。
   + CodeBuild にフルアクセス許可を追加するには、以下のポリシー ARN を使用します。
     + `arn:aws:iam::aws:policy/AWSCodeBuildAdminAccess`
     + `arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess`
     + `arn:aws:iam::aws:policy/IAMFullAccess`
   + ビルドプロジェクトの管理以外のすべてに対して CodeBuild にアクセス許可を追加するには、次のポリシー ARN を使用します。
     + `arn:aws:iam::aws:policy/AWSCodeBuildDeveloperAccess`
     + `arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess`
   + CodeBuild に読み取り専用アクセス許可を追加するには、以下のポリシー ARN を使用します。
     + `arn:aws:iam::aws:policy/AWSCodeBuildReadOnlyAccess`
     + `arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess`

   これで、IAM グループまたはユーザーに CodeBuild へのデフォルトのアクセス許可セットが追加されました。この手順の残りの手順をスキップします。

1.  AWS CLI がインストールされているローカルワークステーションまたはインスタンスの空のディレクトリに、 `put-group-policy.json`または という名前のファイルを作成します`put-user-policy.json`。別のファイル名を使用する場合は、この手順全体でそれを使用してください。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CodeBuildAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "codebuild:*"
               ],
               "Resource": "*"
           },
           {
               "Sid": "CodeBuildRolePolicy",
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::{{111122223333}}:role/{{role-name}}"
           },
           {
               "Sid": "CloudWatchLogsAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "logs:FilterLogEvents",
                   "logs:GetLogEvents"
               ],
               "Resource": "*"
           },
           {
               "Sid": "S3AccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:CreateBucket",
                   "s3:GetObject",
                   "s3:List*",
                   "s3:PutObject"
               ],
               "Resource": "*"
           },
           {
               "Sid": "S3BucketIdentity",
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketAcl",
                   "s3:GetBucketLocation"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------
**注記**  
このポリシーは、すべての CodeBuild アクションと、潜在的に多数の AWS リソースへのアクセスを許可します。アクセス許可を特定の CodeBuild アクションに限定するには、CodeBuild ポリシーステートメントの `codebuild:*` の値を変更します。詳細については、「[ID とアクセス管理](auth-and-access-control.md)」を参照してください。特定の AWS リソースへのアクセスを制限するには、関連する`Resource`オブジェクトの値を変更します。詳細については、「[ID とアクセス管理](auth-and-access-control.md)」または特定の AWS サービスのセキュリティドキュメントを参照してください。

1. ファイルを保存したディレクトリに移動し、以下のいずれかのコマンドを実行します。`CodeBuildGroupAccessPolicy` および `CodeBuildUserAccessPolicy` に異なる値を使用できます。異なる値を使用する場合は、ここでそれらを使用してください。

   IAM グループの場合:

   ```
   aws iam put-group-policy --group-name {{group-name}} --policy-name CodeBuildGroupAccessPolicy --policy-document file://put-group-policy.json
   ```

   ユーザーの場合:

   ```
   aws iam put-user-policy --user-name {{user-name}} --policy-name CodeBuildUserAccessPolicy --policy-document file://put-user-policy.json
   ```

   前述のコマンドで、{{group-name}} または {{user-name}} は、対象の IAM グループまたはユーザーの名前に置き換えます。