「コンソールを使用した開始方法」の手順に従って初めて AWS CodeBuild にアクセスする場合、このトピックの情報は必要ないと考えられます。ただし、CodeBuild を引き続き使用すると、ビルドアーティファクトの暗号化などが必要になる場合があります。
AWS CodeBuild がビルド出力アーティファクトを暗号化するには、KMS キーにアクセスする必要があります。デフォルトでは、CodeBuild は AWS アカウントの Amazon S3 用 AWS マネージドキー を使用します。
AWS マネージドキー を使用しない場合は、カスタマー管理のキーを自分で作成して設定する必要があります。このセクションでは、IAM コンソールを使用してこれを行う方法を説明します。
カスタマー管理のキーの詳細については、AWS KMS デベロッパーガイドの「AWS Key Management Service の概念およびキーの作成」を参照してください。
CodeBuild で使用するカスタマー管理のキーを設定するには、AWS KMS 開発者ガイドの「キーポリシーの変更」の手順に従ってください。次に、キーポリシーに以下のステートメント (###BEGIN ADDING STATEMENTS HERE###
と ###END ADDING STATEMENTS HERE###
の間) を追加します。省略記号 (...
) は、簡潔にするために使用され、ステートメントを追加する場所の特定に役立ちます。ステートメントを削除しないでください、また、これらの省略記号をキーポリシーに入力しないでください。
{
"Version": "2012-10-17",
"Id": "...",
"Statement": [
### BEGIN ADDING STATEMENTS HERE ###
{
"Sid": "Allow access through Amazon S3 for all principals in the account that are authorized to use Amazon S3",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": "s3.region-ID
.amazonaws.com",
"kms:CallerAccount": "account-ID
"
}
}
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account-ID
:role/CodeBuild-service-role
"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
},
### END ADDING STATEMENTS HERE ###
{
"Sid": "Enable IAM User Permissions",
...
},
{
"Sid": "Allow access for Key Administrators",
...
},
{
"Sid": "Allow use of the key",
...
},
{
"Sid": "Allow attachment of persistent resources",
...
}
]
}
-
region-ID
は、CodeBuild に関連付けられた Amazon S3 バケットが配置されている AWS リージョンの ID を表します (たとえば、us-east-1
)。 -
アカウント ID
は、AWSカスタマー管理のキーを所有する アカウントのID を表します。 -
CodeBuild-service-role
は、このトピックの前半で作成または識別した CodeBuild サービスロールの名前を表します。
注記
IAM コンソールでカスタマー管理のキーを作成または設定するには、まず次のいずれかを使用して AWS Management Console にサインインする必要があります。
-
AWS ルートアカウント。これは推奨されません。詳細については、ユーザーガイドの「アカウントルートユーザー」を参照してください。
-
AWS アカウントの管理者ユーザー。詳細については、ユーザーガイドの「最初の AWS アカウントルートユーザーおよびグループの作成」を参照してください。
-
カスタマー管理のキーを作成または変更するアクセス許可を持つ AWS アカウントの IAM ユーザー。詳細については、AWS KMS 開発者ガイドの、「AWS KMS コンソールを使用するために必要なアクセス許可」を参照してください。