View a markdown version of this page

AWS CodeBuild chiavi di condizione - AWS CodeBuild

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS CodeBuild chiavi di condizione

AWS CodeBuild fornisce una serie di chiavi di condizione che è possibile utilizzare nelle politiche IAM per applicare le politiche organizzative su CodeBuild risorse come progetti e flotte. Le chiavi di condizione coprono la maggior parte dei contesti di richiesta CodeBuild API, comprese le impostazioni di rete, le configurazioni delle credenziali e le restrizioni di calcolo.

Applica le impostazioni di connettività VPC ai tuoi progetti e alle tue flotte

Questa policy consente al chiamante di utilizzare i VPC, le sottoreti e i gruppi di sicurezza selezionati durante la creazione di progetti e flotte. CodeBuild Per ulteriori informazioni sulle chiavi di contesto multivalore, consulta la sezione Rispetto alle chiavi di contesto multivalore. Single-valued

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

Impedisci modifiche non autorizzate al buildspec del progetto

Questa policy non consente al chiamante di sovrascrivere il buildspec nel campo. buildspecOverride

Nota

La chiave di codebuild:source.buildspec condizione supporta solo l'operatore Null per verificare l'esistenza del campo API. Non valuta il contenuto del buildspec.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "codebuild:StartBuild", "Resource": "*" }, { "Effect": "Deny", "Action": "codebuild:StartBuild", "Resource": "*", "Condition": { "Null": { "codebuild:source.buildspec": "false" } } }] }

Limita i tipi di calcolo per le tue build

Questa policy consente di creare flotte che possono essere compilate con una sola istanza di calcolo c5.large o m5.large con un tipo di istanza di calcolo.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "codebuild:CreateFleet", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "codebuild:computeConfiguration.instanceType": ["c5.large", "m5.large"] } } }] }

Controlla le impostazioni delle variabili di ambiente

Questa policy consente al chiamante di sostituire la variabile di STAGE ambiente impostandola su o. BETA GAMMA Inoltre, nega esplicitamente l'override di be e STAGE nega l'override della PRODUCTION variabile di ambiente. MY_APP_VERSION Per le chiavi di contesto con più valori, consulta Single-valued la sezione Rispetto alle chiavi di contesto multivalore.

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

Usa le variabili nei nomi delle chiavi di condizione

Puoi utilizzare variabili nei nomi delle chiavi di condizione come secondarySources/${sourceIdentifier}.location esecondaryArtifacts/${artifactIdentifier}.location, dove puoi specificare la fonte secondaria o l'identificatore secondario dell'artefatto nella policy IAM. La politica seguente consente al chiamante di creare un progetto con una posizione di origine specifica per la fonte secondaria. mySecondSource

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateProject", "Resource": "*", "Condition": { "StringEquals": { "codebuild:secondarySources/mySecondSource.location": "my-source-location" } } } ] }

Verifica l'esistenza degli attributi nelle richieste API

CodeBuild supporta le chiavi di condizione per verificare l'esistenza di alcuni campi nella richiesta API. La policy impone il requisito VPC durante la creazione o l'aggiornamento dei progetti.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "codebuild:CreateProject", "codebuild:UpdateProject" ], "Resource": "*", "Condition": { "Null": { "codebuild:vpcConfig.vpcId": "false" } } }] }