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