

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# AWS CodeBuild Zustandstasten
<a name="action-context-keys"></a>

AWS CodeBuild stellt eine Reihe von Bedingungsschlüsseln bereit, die Sie in IAM-Richtlinien verwenden können, um Ihre Unternehmensrichtlinien für CodeBuild Ressourcen wie Projekte und Flotten durchzusetzen. Die Bedingungsschlüssel decken die meisten CodeBuild API-Anforderungskontexte ab, einschließlich Netzwerkeinstellungen, Konfigurationen von Anmeldeinformationen und Recheneinschränkungen.

**Topics**
+ [Setzen Sie VPC-Konnektivitätseinstellungen für Ihre Projekte und Flotten durch](#action-context-keys-example-overrideVPC)
+ [Verhindern Sie unbefugte Änderungen an der Buildspec des Projekts](#action-context-keys-example-overridebuildspec)
+ [Beschränken Sie die Berechnungstypen für Ihre Builds](#action-context-keys-example-computechoice)
+ [Steuern Sie die Einstellungen der Umgebungsvariablen](#action-context-keys-example-env-variables)
+ [Verwenden Sie Variablen in Namen von Bedingungsschlüsseln](#action-context-keys-example-variables)
+ [Überprüfen Sie das Vorhandensein von Attributen in API-Anfragen](#action-context-keys-example-env-denyoverride)

## Setzen Sie VPC-Konnektivitätseinstellungen für Ihre Projekte und Flotten durch
<a name="action-context-keys-example-overrideVPC"></a>

Diese Richtlinie ermöglicht es dem Aufrufer VPCs, bei der Erstellung CodeBuild von Projekten und Flotten die ausgewählten Subnetze und Sicherheitsgruppen zu verwenden. Weitere Informationen zu mehrwertigen Kontextschlüsseln finden Sie unter [Einwertige](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html) und mehrwertige Kontextschlüssel.

------
#### [ 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"
                ]
            }
        }
    }]
}
```

------

## Verhindern Sie unbefugte Änderungen an der Buildspec des Projekts
<a name="action-context-keys-example-overridebuildspec"></a>

Diese Richtlinie erlaubt es dem Aufrufer nicht, die Buildspezifikation im Feld zu überschreiben. `buildspecOverride`

**Anmerkung**  
Der `codebuild:source.buildspec` Bedingungsschlüssel unterstützt nur den Null-Operator, um das Vorhandensein des API-Felds zu überprüfen. Der Inhalt der Buildspec wird nicht ausgewertet.

------
#### [ JSON ]

****  

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

------

## Beschränken Sie die Berechnungstypen für Ihre Builds
<a name="action-context-keys-example-computechoice"></a>

Diese Richtlinie ermöglicht die Erstellung von Flotten, die nur mit dem Instance-Typ `c5.large` oder mit dem `m5.large` [Computing-Instance-Typ](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.instance-types) gebaut werden können. 

------
#### [ JSON ]

****  

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

------

## Steuern Sie die Einstellungen der Umgebungsvariablen
<a name="action-context-keys-example-env-variables"></a>

Diese Richtlinie ermöglicht es dem Aufrufer, die `STAGE` Umgebungsvariable so zu überschreiben, dass sie entweder oder ist. `BETA` `GAMMA` Außerdem wird ausdrücklich das Überschreiben von be `PRODUCTION` und `STAGE` das Überschreiben der Umgebungsvariablen verweigert. `MY_APP_VERSION` Informationen zu Kontextschlüsseln mit mehreren Werten finden Sie unter [Einwertige und mehrwertige](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html) Kontextschlüssel.

------
#### [ 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"
                    ]
                }
            }
        }
    ]
}
```

------

## Verwenden Sie Variablen in Namen von Bedingungsschlüsseln
<a name="action-context-keys-example-variables"></a>

Sie können Variablen in Bedingungsschlüsselnamen wie `secondarySources/${sourceIdentifier}.location` und verwenden`secondaryArtifacts/${artifactIdentifier}.location`, wobei Sie Ihre sekundäre [Quelle](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html) oder Ihren sekundären [Artefakt-Identifier](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectArtifacts.html) in der IAM-Richtlinie angeben können. Die folgende Richtlinie ermöglicht es dem Aufrufer, ein Projekt mit einem bestimmten Quellspeicherort für die Sekundärquelle zu erstellen. `mySecondSource`

------
#### [ JSON ]

****  

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

------

## Überprüfen Sie das Vorhandensein von Attributen in API-Anfragen
<a name="action-context-keys-example-env-denyoverride"></a>

CodeBuild unterstützt Bedingungsschlüssel, um das Vorhandensein einiger Felder in der API-Anfrage zu überprüfen. Die Richtlinie setzt die VPC-Anforderung bei der Erstellung oder Aktualisierung von Projekten durch.

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