AWS CodeBuild clés de condition - AWS CodeBuild

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS CodeBuild clés de condition

AWS CodeBuild fournit un ensemble de clés de condition que vous pouvez utiliser dans les politiques IAM pour appliquer les politiques de votre organisation sur les CodeBuild ressources telles que les projets et les flottes. Les clés de condition couvrent la plupart des contextes de demande d' CodeBuild API, notamment les paramètres réseau, les configurations d'informations d'identification et les restrictions de calcul.

Appliquez les paramètres de connectivité VPC à vos projets et à vos flottes

Cette politique permet à l'appelant d'utiliser les sous-réseaux et les groupes de sécurité sélectionnés VPCs lors de la création de CodeBuild projets et de flottes. Pour plus d'informations sur les clés de contexte à valeurs multiples, voir Clés de contexte à valeur unique ou clés de contexte à valeurs multiples.

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

Empêchez les modifications non autorisées des spécifications de construction du projet

Cette politique ne permet pas à l'appelant de remplacer les spécifications de construction dans le champ. buildspecOverride

Note

La clé de codebuild:source.buildspec condition prend uniquement en charge l'opérateur Null pour vérifier l'existence du champ API. Il n'évalue pas le contenu de la spécification de construction.

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

Limitez les types de calcul pour vos builds

Cette politique permet de créer des flottes capables de construire uniquement avec c5.large ou de m5.large calculer le type d'instance.

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

Réglages variables de l'environnement de contrôle

Cette politique permet à l'appelant de remplacer la variable d'STAGEenvironnement par l'une ou l'autreBETA. GAMMA Il nie également explicitement le remplacement par STAGE être et nie PRODUCTION le remplacement de la variable d'MY_APP_VERSIONenvironnement. Pour les clés de contexte à valeurs multiples, consultez la section Clés de contexte à valeur unique ou à valeurs multiples.

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

Utiliser des variables dans les noms des clés de condition

Vous pouvez utiliser des variables dans les noms de clés de condition, tels que secondarySources/${sourceIdentifier}.location etsecondaryArtifacts/${artifactIdentifier}.location, où vous pouvez spécifier votre source secondaire ou votre identifiant d'artefact secondaire dans la politique IAM. La politique ci-dessous permet à l'appelant de créer un projet avec un emplacement source spécifique pour la source mySecondSource secondaire.

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

Vérifier l'existence d'attributs dans les demandes d'API

CodeBuild prend en charge les clés de condition pour vérifier l'existence de certains champs dans la demande d'API. La politique applique l'exigence VPC lors de la création ou de la mise à jour de projets.

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