As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AWS CodeBuild chaves de condição
AWS CodeBuild fornece um conjunto de chaves de condição que você pode usar nas políticas do IAM para aplicar suas políticas organizacionais em CodeBuild recursos como projetos e frotas. As chaves de condição abrangem a maioria dos contextos de solicitação da CodeBuild API, incluindo configurações de rede, configurações de credenciais e restrições computacionais.
Aplique as configurações de conectividade VPC em seus projetos e frotas
Essa política permite que o chamador use os grupos selecionados VPCs, sub-redes e segurança ao criar CodeBuild projetos e frotas. Para obter mais informações sobre chaves de contexto de valores múltiplos, consulte Chaves de contexto de valor único versus chaves de contexto de valores múltiplos.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "codebuild:CreateProject", "codebuild:CreateFleet" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "codebuild:vpcConfig.vpcId": [ "vpc-01234567890abcdef", "vpc-abcdef01234567890" ], "codebuild:vpcConfig.subnets": [ "subnet-1234abcd", "subnet-5678abcd" ], "codebuild:vpcConfig.securityGroupIds": [ "sg-12345678abcdefghij", "sg-01234567abcdefghij" ] } } }] }
Evite modificações não autorizadas no buildspec do projeto
Essa política não permite que o chamador substitua a especificação de construção no campo. buildspecOverride
nota
A chave de codebuild:source.buildspec
condição suporta somente o operador Null para verificar a existência do campo da API. Ele não avalia o conteúdo do buildspec.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "codebuild:StartBuild", "Resource": "*" }, { "Effect": "Deny", "Action": "codebuild:StartBuild", "Resource": "*", "Condition": { "Null": { "codebuild:source.buildspec": "false" } } }] }
Restrinja os tipos de computação para suas compilações
Essa política permite criar frotas que podem ser criadas somente com o tipo de instância de m5.large
computação c5.large
ou com ele.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "codebuild:CreateFleet", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "codebuild:computeConfiguration.instanceType": ["c5.large", "m5.large"] } } }] }
Configurações variáveis do ambiente de controle
Essa política permite que o chamador substitua a variável de STAGE
ambiente para ser ouBETA
. GAMMA
Também nega explicitamente a substituição de ser PRODUCTION
e nega STAGE
a substituição da variável de ambiente. MY_APP_VERSION
Para chaves de contexto de vários valores, consulte Chaves de contexto de valor único versus chaves de contexto de valores múltiplos.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codebuild:StartBuild" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "codebuild:environment.environmentVariables/STAGE.value": [ "BETA", "GAMMA" ] } } }, { "Effect": "Deny", "Action": [ "codebuild:StartBuild" ], "Resource": "*", "Condition": { "StringEquals": { "codebuild:environment.environmentVariables/STAGE.value": "PRODUCTION" }, "ForAnyValue:StringEquals": { "codebuild:environment.environmentVariables.name": [ "MY_APP_VERSION" ] } } } ] }
Use variáveis em nomes de chaves de condição
Você pode usar variáveis em nomes de chaves de condição, como secondarySources/${sourceIdentifier}.location
esecondaryArtifacts/${artifactIdentifier}.location
, onde você pode especificar sua fonte secundária ou identificador de artefato secundário na política do IAM. A política abaixo permite que o chamador crie um projeto com um local de origem específico para a fonte mySecondSource
secundária.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateProject", "Resource": "*", "Condition": { "StringEquals": { "codebuild:secondarySources/mySecondSource.location": "my-source-location" } } } ] }
Verifique a existência de atributos nas solicitações de API
CodeBuild suporta chaves de condição para verificar a existência de alguns campos na solicitação da API. A política impõe o requisito de VPC ao criar ou atualizar projetos.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "codebuild:CreateProject", "codebuild:UpdateProject" ], "Resource": "*", "Condition": { "Null": { "codebuild:vpcConfig": "false" } } }] }