Verwenden von identitätsbasierten Richtlinien für AWS CodeBuild - 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.

Verwenden von identitätsbasierten Richtlinien für AWS CodeBuild

Dieses Thema enthält Beispiele zu identitätsbasierten Richtlinien, die verdeutlichen, wie ein Kontoadministrator IAM-Identitäten (d. h. Benutzern, Gruppen und Rollen) Berechtigungsrichtlinien zuweisen und somit Berechtigungen zur Durchführung von Operationen für AWS CodeBuild -Ressourcen erteilen kann.

Wichtig

Wir empfehlen Ihnen, zunächst die einführenden Themen zu lesen, in denen die Grundkonzepte und verfügbaren Optionen zum Verwalten des Zugriffs auf Ihre - CodeBuild Ressourcen erläutert werden. Weitere Informationen finden Sie unter Übersicht über die Verwaltung von Zugriffsberechtigungen für Ihre - AWS CodeBuild Ressourcen.

Nachfolgend sehen Sie ein Beispiel für eine Berechtigungsrichtlinie, die einem Benutzer ermöglicht, Informationen über Build-Projekte nur in der Region us-east-2 für Konto 123456789012 für alle Build-Projekte, die mit dem Namen my beginnen, abzurufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetProjects", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Erforderliche Berechtigungen für die Verwendung der AWS CodeBuild -Konsole

Ein Benutzer, der die AWS CodeBuild Konsole verwendet, muss über einen Mindestsatz von Berechtigungen verfügen, die es dem Benutzer ermöglichen, andere AWS Ressourcen für das AWS Konto zu beschreiben. Sie benötigen Berechtigungen für die folgenden Services:

  • AWS CodeBuild

  • Amazon CloudWatch

  • CodeCommit (wenn Sie Ihren Quellcode in einem AWS CodeCommit -Repository speichern)

  • Amazon Elastic Container Registry (Amazon ECR) (wenn Sie eine Build-Umgebung verwenden, die auf einem Docker-Image in einem Amazon-ECR-Repository basiert)

    Anmerkung

    Seit dem 26. Juli 2022 wurde die Standard-IAM-Richtlinie aktualisiert. Weitere Informationen finden Sie unter Erforderliche Berechtigungen für AWS CodeBuild zum Herstellen einer Verbindung mit Amazon Elastic Container Registry.

  • Amazon Elastic Container Service (Amazon ECS) (wenn Sie eine Build-Umgebung verwenden, die auf einem Docker-Image in einem Amazon-ECR-Repository basiert)

  • AWS Identity and Access Management (IAM)

  • AWS Key Management Service (AWS KMS)

  • Amazon Simple Storage Service (Amazon S3)

Wenn Sie eine IAM-Richtlinie erstellen, die restriktiver ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen.

Erforderliche Berechtigungen für AWS CodeBuild zum Herstellen einer Verbindung mit Amazon Elastic Container Registry

Am 26. Juli 2022 AWS CodeBuild hat seine Standard-IAM-Richtlinie für die Amazon-ECR-Berechtigung aktualisiert. Die folgenden Berechtigungen wurden aus der Standardrichtlinie entfernt:

"ecr:PutImage", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload"

Für CodeBuild Projekte, die vor dem 26. Juli 2022 erstellt wurden, empfehlen wir Ihnen, Ihre Richtlinie mit der folgenden Amazon-ECR-Richtlinie zu aktualisieren:

"Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ]

Weitere Informationen zum Aktualisieren Ihrer Richtlinie finden Sie unter Hinzufügen von CodeBuild Zugriffsberechtigungen zu einer IAM-Gruppe oder einem IAM-Benutzer.

Erforderliche Berechtigungen für die AWS CodeBuild Konsole zum Herstellen einer Verbindung mit Quellanbietern

Die AWS CodeBuild Konsole verwendet die folgenden API-Aktionen, um eine Verbindung zu Quellanbietern (z. B. GitHub Repositorys) herzustellen.

  • codebuild:ListConnectedOAuthAccounts

  • codebuild:ListRepositories

  • codebuild:PersistOAuthToken

  • codebuild:ImportSourceCredentials

Sie können Quellanbieter (z. B. GitHub Repositorys) mit Ihren Build-Projekten über die AWS CodeBuild Konsole verknüpfen. Dazu müssen Sie zuerst die vorherigen API-Aktionen zu IAM-Zugriffsrichtlinien hinzufügen, die dem Benutzer zugeordnet sind, den Sie für den Zugriff auf die AWS CodeBuild Konsole verwenden.

Die API-Aktionen ListConnectedOAuthAccounts, ListRepositories und PersistOAuthToken werden nicht von Ihrem Code aufgerufen. Daher sind diese API-Aktionen nicht in den AWS CLI und AWS SDKs enthalten.

AWS Von verwaltete (vordefinierte) Richtlinien für AWS CodeBuild

AWS deckt viele häufige Anwendungsfälle ab, indem eigenständige IAM-Richtlinien bereitgestellt werden, die von erstellt und verwaltet werden AWS. Diese AWS verwalteten Richtlinien gewähren die erforderlichen Berechtigungen für häufige Anwendungsfälle, sodass Sie nicht untersuchen müssen, welche Berechtigungen erforderlich sind. Die von verwalteten Richtlinien für bieten CodeBuild auch Berechtigungen zum Ausführen von Vorgängen in anderen -Services wie IAM, AWS CodeCommit, Amazon EC2, Amazon ECR, Amazon SNS und Amazon CloudWatch Events, wie für die Verantwortlichkeiten der Benutzer erforderlich, denen die betreffende Richtlinie gewährt wurde.Amazon EC2 Die AWSCodeBuildAdminAccess Richtlinie ist beispielsweise eine Benutzerrichtlinie auf Administratorebene, die es Benutzern mit dieser Richtlinie ermöglicht, Ereignisregeln für Projekt-Builds und Amazon SNS-Themen für Benachrichtigungen über projektbezogene Ereignisse (Themen, deren Namen das Präfix habenarn:aws:codebuild:) zu erstellen und zu verwalten CloudWatch sowie Projekte und Berichtsgruppen in zu verwalten CodeBuild. Weitere Informationen finden Sie unter AWS -verwaltete Richtlinien im IAM-Benutzerhandbuch.

Die folgenden AWS verwalteten Richtlinien, die Sie Benutzern in Ihrem Konto anfügen können, sind spezifisch für AWS CodeBuild.

AWSCodeBuildAdminAccess

Bietet vollen Zugriff auf CodeBuild einschließlich Berechtigungen zur Verwaltung von CodeBuild Build-Projekten.

AWSCodeBuildDeveloperAccess

Bietet Zugriff auf , erlaubt CodeBuild aber keine Build-Projektverwaltung.

AWSCodeBuildReadOnlyAccess

Bietet schreibgeschützten Zugriff auf CodeBuild.

Um auf Build-Ausgabeartefakte zuzugreifen, die CodeBuild erstellt, müssen Sie auch die AWS verwaltete Richtlinie mit dem Namen anfügenAmazonS3ReadOnlyAccess.

Um CodeBuild Servicerollen zu erstellen und zu verwalten, müssen Sie auch die AWS verwaltete Richtlinie mit dem Namen anfügenIAMFullAccess.

Sie können auch Ihre eigenen, benutzerdefinierten IAM-Richtlinien erstellen, um Berechtigungen für CodeBuild-Aktionen und -Ressourcen zu gewähren. Die benutzerdefinierten Richtlinien können Sie dann den -Benutzern oder -Gruppen zuweisen, die diese Berechtigungen benötigen.

AWSCodeBuildAdminAccess

Die AWSCodeBuildAdminAccess Richtlinie bietet vollen Zugriff auf CodeBuild, einschließlich Berechtigungen zur Verwaltung von CodeBuild Build-Projekten. Wenden Sie diese Richtlinie nur auf Benutzer auf Administratorebene an, um ihnen die volle Kontrolle über CodeBuild Projekte, Berichtsgruppen und zugehörige Ressourcen in Ihrem AWS Konto zu gewähren, einschließlich der Möglichkeit, Projekte und Berichtsgruppen zu löschen.

Die Richtlinie AWSCodeBuildAdminAccess enthält die folgende Richtlinienanweisung:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "codebuild:*", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:ListBranches", "codecommit:ListRepositories", "cloudwatch:GetMetricStatistics", "ec2:DescribeVpcs", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ecr:DescribeRepositories", "ecr:ListImages", "elasticfilesystem:DescribeFileSystems", "events:DeleteRule", "events:DescribeRule", "events:DisableRule", "events:EnableRule", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "events:PutRule", "events:PutTargets", "events:RemoveTargets", "logs:GetLogEvents", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "logs:DeleteLogGroup" ], "Effect": "Allow", "Resource": "arn:aws:logs:*:*:log-group:/aws/codebuild/*:log-stream:*" }, { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/CodeBuild/*" }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": "arn:aws:ecs:*:*:task/*/*" }, { "Sid": "CodeStarConnectionsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-connections:CreateConnection", "codestar-connections:DeleteConnection", "codestar-connections:UpdateConnectionInstallation", "codestar-connections:TagResource", "codestar-connections:UntagResource", "codestar-connections:ListConnections", "codestar-connections:ListInstallationTargets", "codestar-connections:ListTagsForResource", "codestar-connections:GetConnection", "codestar-connections:GetIndividualAccessToken", "codestar-connections:GetInstallationUrl", "codestar-connections:PassConnection", "codestar-connections:StartOAuthHandshake", "codestar-connections:UseConnection" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*" }, { "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codebuild:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" } ] }

AWSCodeBuildDeveloperAccess

Die AWSCodeBuildDeveloperAccess Richtlinie ermöglicht den Zugriff auf alle Funktionen von CodeBuild und Projekt- und Berichtsgruppenressourcen. Diese Richtlinie erlaubt es Benutzern nicht, CodeBuild Projekte oder Berichtsgruppen oder verwandte Ressourcen in anderen - AWS Services wie CloudWatch Ereignissen zu löschen. Wir empfehlen, dass diese Richtlinie auf die meisten Benutzer anzuwenden.

Die Richtlinie AWSCodeBuildDeveloperAccess enthält die folgende Richtlinienanweisung:

{ "Statement": [ { "Action": [ "codebuild:StartBuild", "codebuild:StopBuild", "codebuild:StartBuildBatch", "codebuild:StopBuildBatch", "codebuild:RetryBuild", "codebuild:RetryBuildBatch", "codebuild:BatchGet*", "codebuild:GetResourcePolicy", "codebuild:DescribeTestCases", "codebuild:DescribeCodeCoverages", "codebuild:List*", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:ListBranches", "cloudwatch:GetMetricStatistics", "events:DescribeRule", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "logs:GetLogEvents", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Effect": "Allow", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/CodeBuild/*" }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": "arn:aws:ecs:*:*:task/*/*" }, { "Sid": "CodeStarConnectionsUserAccess", "Effect": "Allow", "Action": [ "codestar-connections:ListConnections", "codestar-connections:GetConnection" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*" }, { "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codebuild:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource" ], "Resource": "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" } ], "Version": "2012-10-17" }

AWSCodeBuildReadOnlyAccess

Die AWSCodeBuildReadOnlyAccess Richtlinie gewährt schreibgeschützten Zugriff auf CodeBuild und zugehörige Ressourcen in anderen - AWS Services. Wenden Sie diese Richtlinie auf Benutzer an, die Builds anzeigen und ausführen, Projekte anzeigen und Berichtsgruppen anzeigen können, jedoch keine Änderungen für sie ausführen dürfen.

Die Richtlinie AWSCodeBuildReadOnlyAccess enthält die folgende Richtlinienanweisung:

{ "Statement": [ { "Action": [ "codebuild:BatchGet*", "codebuild:GetResourcePolicy", "codebuild:List*", "codebuild:DescribeTestCases", "codebuild:DescribeCodeCoverages", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "cloudwatch:GetMetricStatistics", "events:DescribeRule", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "logs:GetLogEvents" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "CodeStarConnectionsUserAccess", "Effect": "Allow", "Action": [ "codestar-connections:ListConnections", "codestar-connections:GetConnection" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*" }, { "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codebuild:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" } ], "Version": "2012-10-17" }

CodeBuild Von verwaltete Richtlinien und Benachrichtigungen

CodeBuild unterstützt Benachrichtigungen, die Benutzer über wichtige Änderungen an Build-Projekten informieren können. Verwaltete Richtlinien für CodeBuild enthalten Richtlinienanweisungen für die Benachrichtigungsfunktion. Weitere Informationen finden Sie unter Was sind Benachrichtigungen?.

Berechtigungen in Zusammenhang mit Benachrichtigungen in verwalteten Vollzugriffsrichtlinien

Die von AWSCodeBuildFullAccess verwaltete Richtlinie enthält die folgenden Anweisungen, um den vollständigen Zugriff auf Benachrichtigungen zu ermöglichen. Benutzer mit dieser verwalteten Richtlinie können auch Amazon SNS-Themen für Benachrichtigungen erstellen und verwalten, Benutzer für Themen abonnieren und abmelden, Themen auflisten, die als Ziele für Benachrichtigungsregeln ausgewählt werden sollen, und Clients auflisten AWS Chatbot , die für Slack konfiguriert sind.

{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" }

Berechtigungen in Zusammenhang mit Benachrichtigungen in schreibgeschützten verwalteten Richtlinien

Die verwaltete Richtlinie AWSCodeBuildReadOnlyAccess enthält die folgenden Anweisungen, um schreibgeschützten Zugriff auf Benachrichtigungen zu ermöglichen. Benutzer mit dieser verwalteten Richtlinie können Benachrichtigungen für Ressourcen anzeigen, sie können sie jedoch nicht erstellen, verwalten oder abonnieren.

{ "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" }

Berechtigungen in Zusammenhang mit Benachrichtigungen in anderen verwalteten Richtlinien

Die verwaltete Richtlinie AWSCodeBuildDeveloperAccess enthält die folgenden Anweisungen, mit denen Sie Benutzern erlauben können, Benachrichtigungen zu erstellen, zu bearbeiten und zu abonnieren. Benutzer können Benachrichtigungsregeln nicht löschen und auch keine Tags für Ressourcen verwalten.

{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" }

Weitere Informationen zu IAM und Benachrichtigungen finden Sie unter Identity and Access Management für AWS CodeStarBenachrichtigungen.

CodeBuild -Aktualisierungen für - AWS verwaltete Richtlinien

Zeigen Sie Details zu Aktualisierungen für - AWS verwaltete Richtlinien für an, CodeBuild seit dieser Service mit der Verfolgung dieser Änderungen begonnen hat. Um automatische Warnungen über Änderungen an dieser Seite erhalten, abonnieren Sie den RSS-Feed auf AWS CodeBuild Dokumentverlauf für das Benutzerhandbuch .

Änderung Beschreibung Datum

AWSCodeBuildAdminAccess und AWSCodeBuildDeveloperAccess – Aktualisierung vorhandener Richtlinien

CodeBuild hat diesen Richtlinien eine Berechtigung hinzugefügt, um einen zusätzlichen Benachrichtigungstyp mit zu unterstützen AWS Chatbot.

Die AWSCodeBuildDeveloperAccess Richtlinien AWSCodeBuildAdminAccess und wurden geändert, um eine Berechtigung hinzuzufügen, chatbot:ListMicrosoftTeamsChannelConfigurations.

16. Mai 2023

CodeBuild hat mit der Verfolgung von Änderungen begonnen

CodeBuild hat mit der Verfolgung von Änderungen für seine AWS -verwalteten Richtlinien begonnen.

16. Mai 2021

Beispiele für vom Kunden verwaltete Richtlinien

In diesem Abschnitt finden Sie Beispiele für Benutzerrichtlinien, die Berechtigungen für diverse AWS CodeBuild -Aktionen erteilen. Diese Richtlinien funktionieren, wenn Sie die CodeBuild API, AWS SDKs oder verwenden AWS CLI. Bei Verwendung der Konsole müssen Sie zusätzliche konsolenspezifische Berechtigungen erteilen. Weitere Informationen finden Sie unter Erforderliche Berechtigungen für die Verwendung der AWS CodeBuild -Konsole.

Sie können die folgenden IAM-Beispielrichtlinien verwenden, um den CodeBuild Zugriff für Ihre Benutzer und Rollen einzuschränken.

Themen

Benutzern das Abrufen von Informationen über Build-Projekte ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Informationen über Build-Projekte in der Region us-east-2 für Konto 123456789012 für alle Build-Projekte, die mit dem Namen my beginnen, abzurufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetProjects", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Benutzern das Abrufen von Informationen über Berichtsgruppen ermöglichen

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, Informationen zu Berichtsgruppen in der us-east-2-Region für das Konto 123456789012 abzurufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetReportGroups", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Benutzern das Abrufen von Informationen über Berichte ermöglichen

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, Informationen zu Berichten in der us-east-2-Region für das Konto 123456789012 abzurufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetReports", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Benutzern das Erstellen von Build-Projekten ermöglichen

Die folgende Beispielrichtlinienanweisung erlaubt es einem Benutzer, Build-Projekte mit einem beliebigen Namen zu erstellen, aber nur in der us-east-2 Region für das Konto 123456789012 und nur unter Verwendung der angegebenen CodeBuild Servicerolle:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/CodeBuildServiceRole" } ] }

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, Build-Projekte mit einem beliebigen Namen zu erstellen, aber nur in der us-east-2 Region für das Konto 123456789012 und nur unter Verwendung der angegebenen CodeBuild Servicerolle. Außerdem wird erzwungen, dass der Benutzer die angegebene Servicerolle nur mit AWS CodeBuild und nicht mit anderen AWS Services verwenden kann.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/CodeBuildServiceRole", "Condition": { "StringEquals": {"iam:PassedToService": "codebuild.amazonaws.com"} } } ] }}

Benutzern das Erstellen einer Berichtsgruppe ermöglichen

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, eine Berichtsgruppe in der Region us-east-2 für das Konto 123456789012 zu erstellen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Benutzern das Löschen einer Berichtsgruppe ermöglichen

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, eine Berichtsgruppe in der us-east-2-Region für das Konto 123456789012 zu löschen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Benutzern das Löschen eines Berichts ermöglichen

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, einen Bericht in der us-east-2-Region für das Konto 123456789012 zu löschen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteReport", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Benutzern das Löschen von Build-Projekten ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Build-Projekte in der Region us-east-2 für Konto 123456789012 für alle Build-Projekte, die mit dem Namen my beginnen, zu löschen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Benutzern das Abrufen einer Liste mit Build-Projektnamen ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, eine Liste mit Build-Projektnamen für dasselbe Konto abzurufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListProjects", "Resource": "*" } ] }

Benutzern das Ändern von Informationen über Build-Projekte ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Informationen über Build-Projekte mit einem beliebigen Namen zu ändern, aber nur in der Region us-east-2 für Konto 123456789012 und nur mit der angegebenen Servicerolle AWS CodeBuild :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:UpdateProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/CodeBuildServiceRole" } ] }

Benutzern das Ändern einer Berichtsgruppe ermöglichen

Die folgende Beispielrichtlinienanweisung ermöglicht es einem Benutzer, eine Berichtsgruppe in der us-east-2-Region für das Konto 123456789012 zu ändern:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:UpdateReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Benutzern das Abrufen von Informationen über Builds ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Informationen über Builds in der Region us-east-2 für Konto 123456789012 für Build-Projekte mit den Namen my-build-project und my-other-build-project abzurufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetBuilds", "Resource": [ "arn:aws:codebuild:us-east-2:123456789012:project/my-build-project", "arn:aws:codebuild:us-east-2:123456789012:project/my-other-build-project" ] } ] }

Benutzern das Abrufen einer Liste mit Build-IDs für ein Build-Projekt ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, eine Liste mit Build-IDs in der Region us-east-2 für Konto 123456789012 für Build-Projekte mit den Namen my-build-project und my-other-build-project abzurufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListBuildsForProject", "Resource": [ "arn:aws:codebuild:us-east-2:123456789012:project/my-build-project", "arn:aws:codebuild:us-east-2:123456789012:project/my-other-build-project" ] } ] }

Benutzern das Abrufen einer Liste mit Build-IDs ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, eine Liste aller Build-IDs für dasselbe Konto abzurufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListBuilds", "Resource": "*" } ] }

Benutzern das Abrufen einer Liste von Berichtsgruppen ermöglichen

Mit der folgenden Beispielrichtlinienanweisung kann ein Benutzer eine Liste der Berichtsgruppen in der us-east-2-Region für das Konto 123456789012 abrufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListReportGroups", "Resource": "*" } ] }

Benutzern das Abrufen einer Liste von Berichten ermöglichen

Mit der folgenden Beispielrichtlinienanweisung kann ein Benutzer eine Liste von Berichten in der us-east-2-Region für das Konto 123456789012 abrufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListReports", "Resource": "*" } ] }

Benutzern das Abrufen einer Liste von Berichten für eine Berichtsgruppe ermöglichen

Mit der folgenden Beispielrichtlinienanweisung kann ein Benutzer eine Liste von Berichten für eine Berichtsgruppe in der us-east-2-Region für das Konto 123456789012 abrufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListReportsForReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Benutzern das Abrufen einer Liste von Testfällen für einen Bericht ermöglichen

Mit der folgenden Beispielrichtlinienanweisung kann ein Benutzer eine Liste von Testfällen für einen Bericht in der us-east-2-Region für das Konto 123456789012 abrufen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DescribeTestCases", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Benutzern das Ausführen eines Builds ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Builds in der Region us-east-2 für Konto 123456789012 für alle Build-Projekte, die mit dem Namen my beginnen, auszuführen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:StartBuild", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Benutzern das Stoppen von Builds ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, ausgeführte Builds nur in der Region us-east-2 für Konto 123456789012 für alle Build-Projekte, die mit dem Namen my beginnen, zu stoppen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:StopBuild", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Benutzern das Löschen von Builds ermöglichen

Nachfolgend finden Sie ein Beispiel für eine Richtlinienanweisung, die einem Benutzer ermöglicht, Builds nur in der Region us-east-2 für Konto 123456789012 zu löschen, wenn der Name des Build-Projekts mit my beginnt:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchDeleteBuilds", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Benutzern das Abrufen von Informationen über von CodeBuild verwaltete Docker-Images ermöglichen

Nachfolgend sehen Sie ein Beispiel für eine &IAM;-Richtlinienanweisung, die einem Benutzer ermöglicht, Informationen über alle Docker-Images abzurufen, die von CodeBuild verwaltet werden:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListCuratedEnvironmentImages", "Resource": "*" } ] }

Erlauben des CodeBuild Zugriffs auf AWS Services, die zum Erstellen einer VPC-Netzwerkschnittstelle erforderlich sind

Die folgende Beispielrichtlinienanweisung erteilt die AWS CodeBuild Berechtigung zum Erstellen einer Netzwerkschnittstelle in einer VPC mit zwei Subnetzen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission" ], "Resource": "arn:aws:ec2:region:account-id:network-interface/*", "Condition": { "StringEquals": { "ec2:AuthorizedService": "codebuild.amazonaws.com" }, "ArnEquals": { "ec2:Subnet": [ "arn:aws:ec2:region:account-id:subnet/subnet-id-1", "arn:aws:ec2:region:account-id:subnet/subnet-id-2" ] } } } ] }

Verwenden Sie eine Deny-Anweisung, um zu verhindern, dass AWS CodeBuild die Verbindung zu Quellanbietern trennt

Nachfolgend sehen Sie ein Beispiel für eine Richtlinienanweisung, die eine Deny-Anweisung verwendet, um die Trennung zwischen AWS CodeBuild und Quellanbietern zu verhindern. In der Anweisung wird codebuild:DeleteOAuthToken, die Umkehrung von codebuild:PersistOAuthToken und codebuild:ImportSourceCredentials, verwendet, um eine Verbindung zu Quellanbietern herzustellen. Weitere Informationen finden Sie unter Erforderliche Berechtigungen für die AWS CodeBuild Konsole zum Herstellen einer Verbindung mit Quellanbietern.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "codebuild:DeleteOAuthToken", "Resource": "*" } ] }