AWS CodeBuild chaves de condição - AWS CodeBuild

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" } } }] }