

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 tasti di condizione
<a name="action-context-keys"></a>

AWS CodeBuild fornisce un set 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 elaborazione.

**Topics**
+ [Applica le impostazioni di connettività VPC ai tuoi progetti e alle tue flotte](#action-context-keys-example-overrideVPC)
+ [Impedisci modifiche non autorizzate al progetto buildspec](#action-context-keys-example-overridebuildspec)
+ [Limita i tipi di calcolo per le tue build](#action-context-keys-example-computechoice)
+ [Controlla le impostazioni delle variabili d'ambiente](#action-context-keys-example-env-variables)
+ [Usa le variabili nei nomi delle chiavi delle condizioni](#action-context-keys-example-variables)
+ [Verifica l'esistenza di attributi nelle richieste API](#action-context-keys-example-env-denyoverride)

## Applica le impostazioni di connettività VPC ai tuoi progetti e alle tue flotte
<a name="action-context-keys-example-overrideVPC"></a>

Questa policy consente al chiamante di utilizzare le sottoreti e i gruppi di sicurezza selezionati VPCs durante la creazione di progetti e flotte. CodeBuild [Per ulteriori informazioni sulle chiavi di contesto multivalore, consulta Chiavi di contesto a valore singolo e chiavi di contesto multivalore.](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html)

------
#### [ 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 progetto buildspec
<a name="action-context-keys-example-overridebuildspec"></a>

Questa politica non consente al chiamante di sovrascrivere il buildspec sul campo. `buildspecOverride`

**Nota**  
La chiave `codebuild:source.buildspec` condition 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
<a name="action-context-keys-example-computechoice"></a>

[Questa policy consente di creare flotte che possono essere create solo con `c5.large` o `m5.large` con un tipo di istanza di calcolo.](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.instance-types) 

------
#### [ 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 d'ambiente
<a name="action-context-keys-example-env-variables"></a>

Questa politica consente al chiamante di sostituire la variabile di `STAGE` ambiente impostando o. `BETA` `GAMMA` Inoltre, nega esplicitamente che sia stato eseguito l'override e `STAGE` nega l'override della `PRODUCTION` variabile di ambiente. `MY_APP_VERSION` Per le chiavi di contesto a più valori, consulta Chiavi di contesto a valore [singolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html) e 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 delle condizioni
<a name="action-context-keys-example-variables"></a>

È possibile utilizzare variabili nei nomi delle chiavi di condizione come `secondarySources/${sourceIdentifier}.location` e`secondaryArtifacts/${artifactIdentifier}.location`, dove è possibile specificare la [fonte](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html) secondaria o l'identificatore di [artefatto](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectArtifacts.html) secondario 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 di attributi nelle richieste API
<a name="action-context-keys-example-env-denyoverride"></a>

CodeBuild supporta le chiavi di condizione per verificare l'esistenza di alcuni campi nella richiesta API. La policy applica 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"
            }
        }
    }]
}
```