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.
Verwendung identitätsbasierter 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 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 der Zugriffsberechtigungen für Ihre Ressourcen AWS CodeBuild.
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 (Amazon ECR) (wenn Sie eine Build-Umgebung verwenden, die auf einem Docker-Image in einem Amazon ECR-Repository basiert)
Anmerkung
Am 26. Juli 2022 wurde die Standard-IAM-Richtlinie aktualisiert. Weitere Informationen finden Sie unter Erforderliche Berechtigungen für AWS CodeBuild die 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 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 Standard-IAM-Richtlinie für die Amazon ECR-Genehmigung 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 zur Aktualisierung Ihrer Richtlinie finden Sie unterHinzufügen von CodeBuild Zugriffsberechtigungen zu einer IAM-Gruppe oder einem IAM-Benutzer.
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 zu den 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
SDKs AWS CLI und enthalten.
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 werden. AWS 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 Ausführung von Vorgängen in anderen Diensten wie IAM AWS CodeCommit, Amazon EC2, Amazon ECR, Amazon SNS und Amazon CloudWatch Events, je nach den Verantwortlichkeiten der Benutzer, 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 Amazon SNS SNS-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 unter AWS -verwaltete Richtlinien im IAM-Benutzerhandbuch.
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 Amazon SNS SNS-Themen für Benachrichtigungen erstellen und verwalten, Benutzer für Themen 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": "*" }
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 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
- 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
- Benutzern das Abrufen einer Liste mit Build-IDs für ein Build-Projekt ermöglichen
- Benutzern das Abrufen einer Liste mit Build-IDs ermöglichen
- 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
- Erlauben Sie den CodeBuild Zugriff auf AWS Dienste, die zum Erstellen einer VPC-Netzwerkschnittstelle erforderlich sind
- Verwenden Sie eine Deny-Anweisung, um zu verhindern, dass die Verbindung zu den Quellanbietern AWS CodeBuild 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 Beispiel-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. Außerdem wird festgelegt, 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 ein Konto 123456789012
zu erstellen:
{ "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 123456789012
zu löschen:
{ "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 für eine Richtlinienerklärung ermöglicht es einem Benutzer, eine Flotte in der us-east-2
Region für ein Konto 123456789012
zu ändern:
{ "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" ] } ] }
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": "*" } ] }
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 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 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
" } } } ] }
Erlauben Sie den CodeBuild Zugriff auf AWS Dienste, die zum Erstellen einer VPC-Netzwerkschnittstelle erforderlich sind
Die folgende Beispiel-Richtlinienanweisung erteilt die AWS CodeBuild Erlaubnis, eine Netzwerkschnittstelle in einer 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 verhindern, dass die Verbindung zu den Quellanbietern AWS CodeBuild 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": "*" } ] }