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 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 und mehrwertige Kontextschlüssel.

{ "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 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.

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

Diese Richtlinie ermöglicht die Erstellung von Flotten, die nur mit dem Instance-Typ c5.large oder mit dem m5.large Computing-Instance-Typ gebaut werden können.

{ "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 so zu überschreiben, dass sie entweder oder ist. BETA GAMMA Außerdem verweigert sie ausdrücklich das Überschreiben von be PRODUCTION und verweigert STAGE das Überschreiben der Umgebungsvariablen. MY_APP_VERSION Informationen zu Kontextschlüsseln mit mehreren Werten finden Sie unter Einwertige und mehrwertige Kontextschlüssel.

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

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 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ärquelle zu erstellen. mySecondSource

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