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.
Dieses Thema enthält Beispiele für identitätsbasierte Richtlinien, die zeigen, wie ein Kontoadministrator Berechtigungsrichtlinien mit IAM Identitäten (d. h. Benutzern, Gruppen und Rollen) verknüpfen und so Berechtigungen zur Ausführung von Vorgängen mit Ressourcen gewähren kann. AWS CodeBuild
Wichtig
Wir empfehlen Ihnen, zunächst die einführenden Themen zu lesen, in denen die grundlegenden Konzepte und Optionen für die Verwaltung des Zugriffs auf Ihre Ressourcen erläutert werden. CodeBuild Weitere Informationen finden Sie unter Überblick über die Verwaltung von Zugriffsberechtigungen für Ihre AWS CodeBuild Ressourcen.
Themen
- Erforderliche Berechtigungen für die Verwendung der AWS CodeBuild -Konsole
- Erforderliche Berechtigungen für AWS CodeBuild die Verbindung mit Amazon Elastic Container Registry
- Für die AWS CodeBuild Konsole sind Berechtigungen erforderlich, um eine Verbindung zu Quellanbietern herzustellen
- AWS verwaltete (vordefinierte) Richtlinien für AWS CodeBuild
- CodeBuild verwaltete Richtlinien und Benachrichtigungen
- CodeBuild Aktualisierungen der AWS verwalteten Richtlinien
- Beispiele für vom Kunden verwaltete Richtlinien
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 Mindestberechtigungen 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 (AmazonECR) (wenn Sie eine Build-Umgebung verwenden, die auf einem Docker-Image in einem ECR Amazon-Repository basiert)
Anmerkung
Ab dem 26. Juli 2022 wurde die IAM Standardrichtlinie aktualisiert. Weitere Informationen finden Sie unter Erforderliche Berechtigungen für AWS CodeBuild die Verbindung mit Amazon Elastic Container Registry.
-
Amazon Elastic Container Service (AmazonECS) (wenn Sie eine Build-Umgebung verwenden, die auf einem Docker-Image in einem ECR Amazon-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 erforderlichen Mindestberechtigungen, funktioniert die Konsole nicht wie vorgesehen.
Erforderliche Berechtigungen für AWS CodeBuild die Verbindung mit Amazon Elastic Container Registry
AWS CodeBuild Hat am 26. Juli 2022 seine IAM Standardrichtlinie für ECR Amazon-Genehmigungen 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 ECR Amazon-Richtlinie zu aktualisieren:
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
]
Weitere Informationen zur Aktualisierung Ihrer Richtlinie finden Sie unterErlaubt Benutzern die Interaktion mit CodeBuild.
Für die AWS CodeBuild Konsole sind Berechtigungen erforderlich, um eine Verbindung zu Quellanbietern herzustellen
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
Mithilfe der Konsole können Sie Quellanbieter (wie GitHub Repositorys) Ihren Build-Projekten zuordnen. AWS CodeBuild Dazu müssen Sie zunächst die oben genannten API Aktionen für IAM Zugriffsrichtlinien hinzufügen, die dem Benutzer zugeordnet sind, den Sie für den Zugriff auf die AWS CodeBuild Konsole verwenden.
Die PersistOAuthToken
API Aktionen ListConnectedOAuthAccounts
ListRepositories
, und sind nicht dafür vorgesehen, von Ihrem Code aufgerufen zu werden. Daher sind diese API Aktionen nicht im AWS CLI und enthalten AWS
SDKs.
AWS verwaltete (vordefinierte) Richtlinien für AWS CodeBuild
AWS adressiert viele gängige Anwendungsfälle durch die Bereitstellung eigenständiger IAM Richtlinien, die von erstellt und verwaltet AWS werden. Diese AWS verwalteten Richtlinien gewähren die erforderlichen Berechtigungen für allgemeine Anwendungsfälle, sodass Sie nicht erst untersuchen müssen, welche Berechtigungen benötigt werden. Die verwalteten Richtlinien für gewähren CodeBuild auch Berechtigungen zur Durchführung von Vorgängen in anderen Diensten wie IAM AWS CodeCommit,EC2, Amazon ECRSNS, Amazon und Amazon CloudWatch Events, die für die Aufgaben der Benutzer erforderlich sind, denen die betreffende Richtlinie erteilt wurde. Bei der AWSCodeBuildAdminAccess
Richtlinie handelt es sich beispielsweise um eine Benutzerrichtlinie auf Administrationsebene, die es Benutzern mit dieser Richtlinie ermöglicht, CloudWatch Veranstaltungsregeln für Projekt-Builds und SNS Amazon-Themen für Benachrichtigungen über projektbezogene Ereignisse (Themen, deren Namen mit einem Präfix versehen sindarn:aws:codebuild:
) zu erstellen und zu verwalten sowie Projekte und Berichtsgruppen in zu verwalten. CodeBuild Weitere Informationen finden Sie im Benutzerhandbuch unter Verwaltete Richtlinien AWS . IAM
Die folgenden AWS verwalteten Richtlinien, die Sie Benutzern in Ihrem Konto zuordnen 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 die Verwaltung von Build-Projekten, erlaubt CodeBuild aber nicht.
- AWSCodeBuildReadOnlyAccess
-
Bietet schreibgeschützten Zugriff auf. CodeBuild
Um auf die erstellten Build-Ausgabeartefakte zuzugreifen, müssen Sie auch die AWS verwaltete Richtlinie mit dem Namen anhängen. CodeBuild AmazonS3ReadOnlyAccess
Um CodeBuild Servicerollen zu erstellen und zu verwalten, müssen Sie auch die AWS verwaltete Richtlinie mit dem Namen anhängenIAMFullAccess
.
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 Build-Projekte CodeBuild, einschließlich Berechtigungen zur Verwaltung. 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": [
{
"Sid": "AWSServicesAccess",
"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": "*"
},
{
"Sid": "CWLDeleteLogGroupAccess",
"Action": [
"logs:DeleteLogGroup"
],
"Effect": "Allow",
"Resource": "arn:aws:logs:*:*:log-group:/aws/codebuild/*:log-stream:*"
},
{
"Sid": "SSMParameterWriteAccess",
"Effect": "Allow",
"Action": [
"ssm:PutParameter"
],
"Resource": "arn:aws:ssm:*:*:parameter/CodeBuild/*"
},
{
"Sid": "SSMStartSessionAccess",
"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/*",
"arn:aws:codeconnections:*:*: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 Ressourcen im Zusammenhang mit Projekt CodeBuild - und Berichtsgruppen. Diese Richtlinie erlaubt es Benutzern nicht, CodeBuild Projekte oder Berichtsgruppen oder verwandte Ressourcen in anderen AWS Diensten, wie z. B. CloudWatch Ereignisse, zu löschen. Wir empfehlen, dass diese Richtlinie auf die meisten Benutzer anzuwenden.
Die Richtlinie AWSCodeBuildDeveloperAccess
enthält die folgende Richtlinienanweisung:
{
"Statement": [
{
"Sid": "AWSServicesAccess",
"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": "*"
},
{
"Sid": "SSMParameterWriteAccess",
"Effect": "Allow",
"Action": [
"ssm:PutParameter"
],
"Resource": "arn:aws:ssm:*:*:parameter/CodeBuild/*"
},
{
"Sid": "SSMStartSessionAccess",
"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/*",
"arn:aws:codeconnections:*:*: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 nur Lesezugriff auf CodeBuild und verwandte Ressourcen in anderen AWS Diensten. 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": [
{
"Sid": "AWSServicesAccess",
"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/*",
"arn:aws:codeconnections:*:*: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 verwaltete Richtlinien und Benachrichtigungen
CodeBuild unterstützt Benachrichtigungen, mit denen Benutzer über wichtige Änderungen an Build-Projekten informiert werden können. Zu den verwalteten Richtlinien CodeBuild gehören auch Richtlinienerklärungen 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, für die diese verwaltete Richtlinie gilt, können auch SNS Amazon-Themen für Benachrichtigungen erstellen und verwalten, Themen für Benutzer abonnieren und abbestellen, Themen auflisten, die als Ziele für Benachrichtigungsregeln ausgewählt werden sollen, und für Slack konfigurierte AWS Chatbot
Clients auflisten.
{
"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 findest du unter Identity and Access Management for AWS CodeStar Benachrichtigungen.
CodeBuild Aktualisierungen der AWS verwalteten Richtlinien
Hier finden Sie Informationen zu Aktualisierungen AWS verwalteter Richtlinien, die CodeBuild seit Beginn der Nachverfolgung dieser Änderungen durch diesen Dienst vorgenommen wurden. Abonnieren Sie den RSS Feed auf, um automatische Benachrichtigungen über Änderungen an dieser Seite zu erhaltenAWS CodeBuild Dokumenthistorie des Benutzerhandbuches .
Änderung | Beschreibung | Datum |
---|---|---|
|
CodeBuild hat diesen Richtlinien eine Ressource hinzugefügt, um das AWS CodeConnections Rebranding zu unterstützen. Die |
18. April 2024 |
|
CodeBuild diesen Richtlinien wurde eine Berechtigung hinzugefügt, um einen zusätzlichen Benachrichtigungstyp zu unterstützen, indem AWS Chatbot Die |
16. Mai 2023 |
CodeBuild hat begonnen, Änderungen zu verfolgen |
CodeBuild hat begonnen, Änderungen für die AWS verwalteten Richtlinien zu verfolgen. |
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 CodeBuild API AWS SDKs, oder AWS CLI verwenden. 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
- Ermöglicht es einem Benutzer, Informationen über Flotten abzurufen
- Benutzern das Abrufen von Informationen über Berichtsgruppen ermöglichen
- Benutzern das Abrufen von Informationen über Berichte ermöglichen
- Benutzern das Erstellen von Build-Projekten ermöglichen
- Erlaubt einem Benutzer, eine Flotte zu erstellen
- Benutzern das Erstellen einer Berichtsgruppe ermöglichen
- Erlaubt einem Benutzer, eine Flotte zu löschen
- Benutzern das Löschen einer Berichtsgruppe ermöglichen
- Benutzern das Löschen eines Berichts ermöglichen
- Benutzern das Löschen von Build-Projekten ermöglichen
- Benutzern das Abrufen einer Liste mit Build-Projektnamen ermöglichen
- Benutzern das Ändern von Informationen über Build-Projekte ermöglichen
- Erlaubt einem Benutzer, eine Flotte zu ändern
- Benutzern das Ändern einer Berichtsgruppe ermöglichen
- Benutzern das Abrufen von Informationen über Builds ermöglichen
- Erlaubt einem Benutzer, eine Build-Liste IDs für ein Build-Projekt abzurufen
- Erlaubt einem Benutzer, eine Liste von Builds abzurufen IDs
- Erlaubt einem Benutzer, eine Liste von Flotten abzurufen
- Benutzern das Abrufen einer Liste von Berichtsgruppen ermöglichen
- Benutzern das Abrufen einer Liste von Berichten ermöglichen
- Benutzern das Abrufen einer Liste von Berichten für eine Berichtsgruppe ermöglichen
- Benutzern das Abrufen einer Liste von Testfällen für einen Bericht ermöglichen
- Benutzern das Ausführen eines Builds ermöglichen
- Benutzern das Stoppen von Builds ermöglichen
- Benutzern das Löschen von Builds ermöglichen
- Erlaubt einem Benutzer, Informationen über Docker-Images abzurufen, die verwaltet werden von CodeBuild
- Erlaubt einem Benutzer, eine Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen
- CodeBuild Erlaubt den Zugriff auf AWS Dienste, die für die Erstellung einer VPC Netzwerkschnittstelle erforderlich sind
- Verwenden Sie eine Deny-Anweisung, um zu AWS CodeBuild verhindern, dass die Verbindung zu den Quellanbietern getrennt wird
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*"
}
]
}
Ermöglicht es einem Benutzer, Informationen über Flotten abzurufen
Das folgende Beispiel für eine Richtlinienanweisung ermöglicht es einem Benutzer, Informationen über Flotten in der us-east-2
Region auf eigene Rechnung abzurufen: 123456789012
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "codebuild:BatchGetFleets",
"Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*"
}
]
}
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 beispielhafte Richtlinienanweisung ermöglicht es einem Benutzer, Build-Projekte mit einem beliebigen Namen zu erstellen, jedoch 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 beispielhafte Richtlinienanweisung ermöglicht es einem Benutzer, Build-Projekte mit einem beliebigen Namen zu erstellen, jedoch nur in der us-east-2
Region für das Konto 123456789012
und nur unter Verwendung der angegebenen CodeBuild Servicerolle. Sie legt außerdem fest, dass der Benutzer die angegebene Servicerolle nur zusammen mit AWS CodeBuild anderen AWS Diensten 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"}
}
}
]
}}
Erlaubt einem Benutzer, eine Flotte zu erstellen
Das folgende Beispiel für eine Richtlinienerklärung ermöglicht es einem Benutzer, eine Flotte in der us-east-2
Region für sein Konto zu erstellen123456789012
:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "codebuild:CreateFleet",
"Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*"
}
]
}
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/*"
}
]
}
Erlaubt einem Benutzer, eine Flotte zu löschen
Das folgende Beispiel für eine Richtlinienerklärung ermöglicht es einem Benutzer, eine Flotte in der us-east-2
Region für ein Konto zu löschen123456789012
:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "codebuild:DeleteFleet",
"Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*"
}
]
}
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"
}
]
}
Erlaubt einem Benutzer, eine Flotte zu ändern
Das folgende Beispiel einer Richtlinienerklärung ermöglicht es einem Benutzer, eine Flotte in der us-east-2
Region für ein Konto zu ändern123456789012
:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "codebuild:UpdateFleet",
"Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*"
}
]
}
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"
]
}
]
}
Erlaubt einem Benutzer, eine Build-Liste IDs für ein Build-Projekt abzurufen
Die folgende Beispiel-Richtlinienanweisung ermöglicht es einem Benutzer, eine Liste von Builds IDs in der us-east-2
Region für die Build-Projekte mit den Namen my-build-project
und abzurufenmy-other-build-project
: 123456789012
{
"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"
]
}
]
}
Erlaubt einem Benutzer, eine Liste von Builds abzurufen IDs
Die folgende Beispiel-Richtlinienanweisung ermöglicht es einem Benutzer, eine Liste aller Builds IDs für dasselbe Konto abzurufen:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "codebuild:ListBuilds",
"Resource": "*"
}
]
}
Erlaubt einem Benutzer, eine Liste von Flotten abzurufen
Die folgende beispielhafte Richtlinienanweisung ermöglicht es einem Benutzer, eine Liste von Flotten in der us-east-2
Region für sein Konto abzurufen: 123456789012
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "codebuild:ListFleets",
"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*"
}
]
}
Erlaubt einem Benutzer, Informationen über Docker-Images abzurufen, die verwaltet werden von CodeBuild
Die folgende Beispiel-Richtlinienanweisung ermöglicht es einem Benutzer, Informationen über alle Docker-Images abzurufen, die von verwaltet werden: CodeBuild
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "codebuild:ListCuratedEnvironmentImages",
"Resource": "*"
}
]
}
Erlaubt einem Benutzer, eine Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen
Das folgende Beispiel für eine Ressourcenrichtlinienanweisung ermöglicht es einem Benutzer, eine VPC Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CodeBuildFleetVpcCreateNI",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface"
],
"Resource": [
"arn:aws:ec2:region
:account-id
:subnet/subnet-id-1",
"arn:aws:ec2:region
:account-id
:security-group/security-group-id-1",
"arn:aws:ec2:region
:account-id
:network-interface/*"
]
},
{
"Sid": "CodeBuildFleetVpcPermission",
"Effect": "Allow",
"Action": [
"ec2:DescribeDhcpOptions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:ModifyNetworkInterfaceAttribute",
"ec2:DeleteNetworkInterface"
],
"Resource": "*"
},
{
"Sid": "CodeBuildFleetVpcNIPermission",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterfacePermission"
],
"Resource": "arn:aws:ec2:region
:account-id
:network-interface/*",
"Condition": {
"StringEquals": {
"ec2:Subnet": [
"arn:aws:ec2:region
:account-id
:subnet/subnet-id-1"
]
}
}
}
]
}
Das folgende Beispiel für eine Ressourcenrichtlinien-Anweisung ermöglicht es einem Benutzer, eine benutzerdefinierte Amazon Managed Image (AMI) -Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:DescribeImages",
"Resource": "*"
}
]
}
Das folgende Beispiel für eine Vertrauensrichtlinien-Erklärung ermöglicht es einem Benutzer, eine Berechtigungsrichtlinie für eine Flottenservice-Rolle hinzuzufügen:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CodeBuildFleetVPCTrustPolicy",
"Effect": "Allow",
"Principal": {
"Service": "codebuild.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "account-id
"
}
}
}
]
}
CodeBuild Erlaubt den Zugriff auf AWS Dienste, die für die Erstellung einer VPC Netzwerkschnittstelle erforderlich sind
Die folgende beispielhafte Richtlinienanweisung erteilt die AWS CodeBuild Erlaubnis, eine Netzwerkschnittstelle in einem VPC mit zwei Subnetzen zu erstellen:
{
"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 AWS CodeBuild verhindern, dass die Verbindung zu den Quellanbietern getrennt wird
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 Für die AWS CodeBuild Konsole sind Berechtigungen erforderlich, um eine Verbindung zu Quellanbietern herzustellen.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "codebuild:DeleteOAuthToken",
"Resource": "*"
}
]
}