AWS CodeBuild claves de condición - AWS CodeBuild

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS CodeBuild claves de condición

AWS CodeBuild proporciona un conjunto de claves de condición que puede utilizar en las políticas de IAM para aplicar las políticas de su organización en relación con CodeBuild los recursos, como los proyectos y las flotas. Las claves de condición cubren la mayoría de los contextos de solicitud de CodeBuild API, incluidos los ajustes de red, las configuraciones de credenciales y las restricciones informáticas.

Aplique la configuración de conectividad de VPC en sus proyectos y flotas

Esta política permite a la persona que llama usar las subredes y los grupos de seguridad seleccionados VPCs al crear CodeBuild proyectos y flotas. Para obtener más información sobre las claves de contexto multivalor, consulte Claves de contexto de un solo valor frente a claves de contexto multivalor.

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

Impida modificaciones no autorizadas en las especificaciones de compilación del proyecto

Esta política no permite a la persona que llama anular la especificación de compilación en el campo. buildspecOverride

nota

La clave de codebuild:source.buildspec condición solo admite el operador Null para comprobar la existencia del campo API. No evalúa el contenido de la especificación de compilación.

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

Restringe los tipos de cómputo para tus compilaciones

Esta política permite crear flotas que pueden compilarse únicamente c5.large con un tipo de instancia de m5.large procesamiento.

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

Controle la configuración de las variables del entorno

Esta política permite a la persona que llama anular la variable de STAGE entorno para que sea una u otra. BETA GAMMA También niega explícitamente que se anule la variable de entorno STAGE y niega que PRODUCTION se anule la variable de entorno. MY_APP_VERSION Para las claves de contexto con varios valores, consulte Claves de contexto de un solo valor frente a claves de varios valores.

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

Utilice variables en los nombres de las claves de condición

Puede usar variables en nombres de claves de condición, como secondarySources/${sourceIdentifier}.location ysecondaryArtifacts/${artifactIdentifier}.location, donde puede especificar su identificador de fuente secundaria o artefacto secundario en la política de IAM. La siguiente política permite a la persona que llama crear un proyecto con una ubicación de origen específica para la fuente secundaria. mySecondSource

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

Comprueba la existencia de atributos en las solicitudes de API

CodeBuild admite claves de condición para comprobar la existencia de algunos campos en la solicitud de API. La política impone el requisito de VPC al crear o actualizar proyectos.

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