View a markdown version of this page

AWS CodeBuild Zustandstasten - AWS CodeBuild

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

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.

Setzen Sie VPC-Konnektivitätseinstellungen für Ihre Projekte und Flotten durch

Diese Richtlinie ermöglicht es dem Anrufer, die ausgewählten VPCs, Subnetze und Sicherheitsgruppen beim Erstellen von Projekten und Flotten zu verwenden. CodeBuild Weitere Informationen zu mehrwertigen Kontextschlüsseln finden Sie unter Vergleich zu mehrwertigen Kontextschlüsseln. Single-valued

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

Diese Richtlinie erlaubt es dem Aufrufer nicht, die Buildspec 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" } } }] }

Schränken Sie die Berechnungstypen für Ihre Builds ein

Diese Richtlinie ermöglicht die Erstellung von Flotten, die nur mit dem Instance-Typ c5.large oder dem m5.large Compute-Instance-Typ erstellt 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

Diese Richtlinie ermöglicht es dem Aufrufer, die STAGE Umgebungsvariable entweder auf oder zu überschreiben. BETA GAMMA Außerdem wird das Außerkraftsetzen von „bePRODUCTION“ und STAGE das Überschreiben der Umgebungsvariablen verweigert. MY_APP_VERSION Informationen zu Kontextschlüsseln mit mehreren Werten finden Sie im Single-valued Vergleich zu mehrwertigen Kontextschlüsseln.

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 Bedingungsschlüsselnamen

Sie können Variablen in Bedingungsschlüsselnamen wie secondarySources/${sourceIdentifier}.location und verwendensecondaryArtifacts/${artifactIdentifier}.location, wobei Sie Ihre sekundäre Quelle oder Ihren sekundären https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectArtifacts.html Artefakt-Identifier 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äre Quelle 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

CodeBuild unterstützt Bedingungsschlüssel, um das Vorhandensein einiger Felder in der API-Anforderung 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" } } }] }