Se você seguir as etapas em Conceitos básicos que usam o console para acessar o AWS CodeBuild pela primeira vez, provavelmente não precisará das informações neste tópico. No entanto, à medida que você continua usando o CodeBuild, talvez queira realizar ações como criptografar artefatos de compilação.
Para o AWS CodeBuild criptografar os artefatos de saída de compilação, ele precisa ter acesso a uma chave do KMS. Por padrão, o CodeBuild usa a Chave gerenciada pela AWS para o Amazon S3 na conta da AWS.
Se você não quiser usar a Chave gerenciada pela AWS, deverá criar e configurar uma chave gerenciada pelo cliente por conta própria. Esta seção descreve como fazer isso pelo console do IAM.
Para obter informações sobre chaves gerenciadas pelo cliente, consulte AWS Key Management Service Concepts e Creating Keys no Guia do desenvolvedor do AWS KMS.
Para configurar uma chave gerenciada pelo cliente para uso pelo CodeBuild, siga as instruções da seção “How to Modify a Key Policy” de Modifying a Key Policy no Guia do desenvolvedor do AWS KMS. Em seguida, adicione as seguintes declarações (entre ### BEGIN ADDING STATEMENTS HERE ###
e ### END ADDING STATEMENTS HERE ###
) à política de chaves. As elipses (...
) são usadas para agilizar e para ajudá-lo a encontrar onde adicionar as declarações. Não remova nenhuma declaração e não digite essas elipses nas políticas de chaves.
{
"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
representa o ID da região da AWS onde os buckets do Amazon S3 associados ao CodeBuild estão localizados (por exemplo,us-east-1
). -
account-ID
representa o ID da conta da AWS proprietária da chave gerenciada pelo cliente. -
CodeBuild-service-role
representa o nome do perfil de serviço do CodeBuild que você criou ou identificou anteriormente neste tópico.
nota
Para criar ou configurar uma chave gerenciada pelo cliente pelo console do IAM, é necessário primeiro fazer login no AWS Management Console por uma das seguintes maneiras:
-
Sua conta raiz AWS. Isso não é recomendado. Para obter mais informações, consulte O usuário raiz da conta no Guia do usuário do .
-
Um usuário administrador na conta da AWS. Para obter mais informações, consulte Creating Your First Conta da AWS root user and Group no Guia do usuário.
-
Um usuário na conta da AWS com permissão para criar ou modificar a chave gerenciada pelo cliente. Para obter mais informações, consulte Permissões necessárias para usar o console do AWS KMS no Guia do desenvolvedor do AWS KMS.