Utilisation de politiques basées sur l'identité pour AWS CodeBuild - AWS CodeBuild

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de politiques basées sur l'identité pour AWS CodeBuild

Cette rubrique fournit des exemples de politiques basées sur l'identité qui montrent comment un administrateur de compte peut associer des politiques d'autorisation aux IAM identités (c'est-à-dire aux utilisateurs, aux groupes et aux rôles) et ainsi accorder des autorisations pour effectuer des opérations sur AWS CodeBuild les ressources.

Important

Nous vous recommandons de consulter d'abord les rubriques d'introduction qui expliquent les concepts de base et les options disponibles pour gérer l'accès à vos CodeBuild ressources. Pour de plus amples informations, veuillez consulter Vue d'ensemble de la gestion des autorisations d'accès à vos AWS CodeBuild ressources.

Voici un exemple de stratégie d'autorisations qui autorise un utilisateur à obtenir des informations sur des projets de génération uniquement dans la région us-east-2 pour le compte 123456789012 pour tout projet de génération dont le nom commence par my :

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

Autorisations requises pour utiliser la console AWS CodeBuild

Un utilisateur qui utilise la AWS CodeBuild console doit disposer d'un ensemble minimal d'autorisations lui permettant de décrire les autres AWS ressources du AWS compte. Vous devez détenir les autorisations des services suivants :

  • AWS CodeBuild

  • Amazon CloudWatch

  • CodeCommit (si vous stockez votre code source dans un AWS CodeCommit dépôt)

  • Amazon Elastic Container Registry (AmazonECR) (si vous utilisez un environnement de création qui repose sur une image Docker dans un ECR référentiel Amazon)

    Note

    Depuis le 26 juillet 2022, la IAM politique par défaut a été mise à jour. Pour de plus amples informations, veuillez consulter Autorisations requises pour se connecter AWS CodeBuild à Amazon Elastic Container Registry.

  • Amazon Elastic Container Service (AmazonECS) (si vous utilisez un environnement de création qui repose sur une image Docker dans un ECR référentiel Amazon)

  • AWS Identity and Access Management (IAM)

  • AWS Key Management Service (AWS KMS)

  • Amazon Simple Storage Service (Amazon S3)

Si vous créez une IAM politique plus restrictive que les autorisations minimales requises, la console ne fonctionnera pas comme prévu.

Autorisations requises pour se connecter AWS CodeBuild à Amazon Elastic Container Registry

Depuis le 26 juillet 2022, AWS CodeBuild a mis à jour sa IAM politique par défaut en matière d'ECRautorisation Amazon. Les autorisations suivantes ont été supprimées de la politique par défaut :

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

Pour les CodeBuild projets créés avant le 26 juillet 2022, nous vous recommandons de mettre à jour votre politique avec la ECR politique Amazon suivante :

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

Pour plus d'informations sur la mise à jour de votre politique, consultezPermettre aux utilisateurs d'interagir avec CodeBuild.

Autorisations requises pour que la AWS CodeBuild console puisse se connecter aux fournisseurs de sources

La AWS CodeBuild console utilise les API actions suivantes pour se connecter aux fournisseurs de sources (par exemple, les GitHub référentiels).

  • codebuild:ListConnectedOAuthAccounts

  • codebuild:ListRepositories

  • codebuild:PersistOAuthToken

  • codebuild:ImportSourceCredentials

Vous pouvez associer des fournisseurs de sources (tels que GitHub des référentiels) à vos projets de génération à l'aide de la AWS CodeBuild console. Pour ce faire, vous devez d'abord ajouter les API actions précédentes IAM aux politiques d'accès associées à l'utilisateur que vous utilisez pour accéder à la AWS CodeBuild console.

Les PersistOAuthToken API actions ListConnectedOAuthAccountsListRepositories, et ne sont pas destinées à être appelées par votre code. Par conséquent, ces API actions ne sont pas incluses dans le AWS CLI et AWS SDKs.

AWS politiques gérées (prédéfinies) pour AWS CodeBuild

AWS répond à de nombreux cas d'utilisation courants en fournissant des IAM politiques autonomes créées et administrées par AWS. Ces politiques AWS gérées accordent les autorisations nécessaires pour les cas d'utilisation courants afin que vous n'ayez pas à rechercher les autorisations nécessaires. Les politiques gérées fournissent CodeBuild également des autorisations pour effectuer des opérations dans d'autres services IAM AWS CodeCommit, tels qu'Amazon EC2ECR, AmazonSNS, Amazon et Amazon CloudWatch Events, conformément aux responsabilités des utilisateurs auxquels la politique en question a été accordée. Par exemple, il s'agit d'une AWSCodeBuildAdminAccess politique utilisateur au niveau administratif qui permet aux utilisateurs dotés de cette politique de créer et de gérer des règles relatives aux CloudWatch événements pour les versions de projets et des SNS rubriques Amazon pour les notifications relatives aux événements liés au projet (sujets dont les noms sont préfixés pararn:aws:codebuild:), ainsi que d'administrer des projets et des groupes de rapports dans. CodeBuild Pour plus d'informations, consultez la section Politiques AWS gérées dans le guide de IAM l'utilisateur.

Les politiques AWS gérées suivantes, que vous pouvez associer aux utilisateurs de votre compte, sont spécifiques à AWS CodeBuild.

AWSCodeBuildAdminAccess

Fournit un accès complet CodeBuild , y compris les autorisations pour administrer les projets de CodeBuild construction.

AWSCodeBuildDeveloperAccess

Permet d'accéder à l'administration du projet de build, CodeBuild mais ne l'autorise pas.

AWSCodeBuildReadOnlyAccess

Fournit un accès en lecture seule à. CodeBuild

Pour accéder aux artefacts de sortie de build CodeBuild créés, vous devez également joindre la politique AWS gérée nomméeAmazonS3ReadOnlyAccess.

Pour créer et gérer des rôles de CodeBuild service, vous devez également associer la politique AWS gérée nomméeIAMFullAccess.

Vous pouvez également créer vos propres IAM politiques personnalisées pour autoriser les CodeBuild actions et les ressources. Vous pouvez attacher ces stratégies personnalisées aux utilisateurs ou groupes qui nécessitent ces autorisations.

AWSCodeBuildAdminAccess

La AWSCodeBuildAdminAccess politique fournit un accès complet aux projets de CodeBuild construction CodeBuild, y compris les autorisations nécessaires à leur administration. Appliquez cette politique uniquement aux utilisateurs de niveau administratif afin de leur accorder un contrôle total sur les CodeBuild projets, les groupes de rapports et les ressources associées de votre AWS compte, y compris la possibilité de supprimer des projets et des groupes de rapports.

La stratégie AWSCodeBuildAdminAccess contient la déclaration suivante :

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

La AWSCodeBuildDeveloperAccess politique permet d'accéder à toutes les fonctionnalités et aux ressources liées aux projets CodeBuild et aux groupes de rapports. Cette politique n'autorise pas les utilisateurs à supprimer CodeBuild des projets, des groupes de rapports ou des ressources connexes dans d'autres AWS services, tels que CloudWatch les événements. Nous vous recommandons d'appliquer cette stratégie à la plupart des utilisateurs.

La stratégie AWSCodeBuildDeveloperAccess contient la déclaration suivante :

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

La AWSCodeBuildReadOnlyAccess politique accorde un accès en lecture seule aux CodeBuild ressources associées dans d'autres AWS services. Appliquez cette stratégie aux utilisateurs qui peuvent afficher et exécuter des builds, afficher des projets et afficher des groupes de rapports, mais qui ne peuvent pas y apporter de modifications.

La stratégie AWSCodeBuildReadOnlyAccess contient la déclaration suivante :

{ "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 politiques et notifications gérées

CodeBuild prend en charge les notifications, qui peuvent informer les utilisateurs des modifications importantes apportées aux projets de construction. Les politiques gérées CodeBuild incluent des déclarations de politique relatives à la fonctionnalité de notification. Pour plus d'informations, consultez En quoi consistent les notifications ?

Autorisations liées aux notifications dans les stratégies gérées d'accès complet

La stratégie gérée AWSCodeBuildFullAccess inclut les déclarations suivantes pour permettre un accès complet aux notifications. Les utilisateurs auxquels cette politique gérée est appliquée peuvent également créer et gérer des SNS sujets Amazon pour les notifications, abonner et désinscrire des utilisateurs à des sujets, répertorier les sujets à choisir comme cibles pour les règles de notification et répertorier les AWS Chatbot clients configurés pour Slack.

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

Autorisations liées aux notifications dans les stratégies gérées en lecture seule

La stratégie gérée AWSCodeBuildReadOnlyAccess inclut les déclarations suivantes pour autoriser l'accès en lecture seule aux notifications. Les utilisateurs auxquels s’applique cette stratégie gérée peuvent voir des notifications pour les ressources, mais ne peuvent ni les créer, ni les gérer ni s'y abonner.

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

Autorisations liées aux notifications dans d'autres stratégies gérées

La stratégie gérée AWSCodeBuildDeveloperAccess inclut les déclarations suivantes pour autoriser les utilisateurs à créer et modifier des notifications, et s'y abonner. Les utilisateurs ne peuvent pas supprimer les règles de notification ni gérer les balises pour les ressources.

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

Pour plus d'informations sur les notifications IAM et les informations, voir Identity and Access Management for AWS CodeStar Notifications.

CodeBuild mises à jour des politiques AWS gérées

Consultez les détails des mises à jour des politiques AWS gérées CodeBuild depuis que ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques concernant les modifications apportées à cette page, abonnez-vous au RSS fil d'actualité surAWS CodeBuild Historique du document du guide de l'utilisateur .

Modification Description Date

AWSCodeBuildAdminAccess,AWSCodeBuildDeveloperAccess, et AWSCodeBuildReadOnlyAccess — Mise à jour des politiques existantes

CodeBuild a ajouté une ressource à ces politiques pour soutenir le changement de AWS CodeConnections marque.

Les AWSCodeBuildReadOnlyAccess politiques AWSCodeBuildAdminAccessAWSCodeBuildDeveloperAccess,, et ont été modifiées pour ajouter une ressource,arn:aws:codeconnections:*:*:connection/*.

18 avril 2024

AWSCodeBuildAdminAccesset AWSCodeBuildDeveloperAccess — Mise à jour des politiques existantes

CodeBuild a ajouté une autorisation à ces politiques pour prendre en charge un type de notification supplémentaire en utilisant AWS Chatbot.

Les AWSCodeBuildDeveloperAccess politiques AWSCodeBuildAdminAccess et ont été modifiées pour ajouter une autorisation,chatbot:ListMicrosoftTeamsChannelConfigurations.

16 mai 2023

CodeBuild a commencé à suivre les modifications

CodeBuild a commencé à suivre les modifications apportées AWS à ses politiques gérées.

16 mai 2021

Exemples de politiques gérées par le client

Dans cette section, vous trouverez des exemples de stratégies utilisateur qui accordent des autorisations pour des actions AWS CodeBuild . Ces politiques fonctionnent lorsque vous utilisez le CodeBuild API AWS SDKs, ou AWS CLI. Lorsque vous utilisez la console, vous devez accorder des autorisations supplémentaires spécifiques à la console. Pour plus d’informations, veuillez consulter Autorisations requises pour utiliser la console AWS CodeBuild.

Vous pouvez utiliser les exemples de IAM politiques suivants pour limiter l' CodeBuild accès de vos utilisateurs et de vos rôles.

Rubriques

Autorisation d'un utilisateur à obtenir des informations sur les projets de génération

L'exemple de déclaration de stratégie suivant autorise un utilisateur à obtenir des informations sur des projets de génération dans la région us-east-2 pour le compte 123456789012 pour tout projet de génération dont le nom commence par my :

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

Autoriser un utilisateur à obtenir des informations sur les flottes

L'exemple de déclaration de politique suivant permet à un utilisateur d'obtenir des informations sur les flottes de la us-east-2 région pour créer un compte 123456789012 :

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

Autorisation d'un utilisateur à obtenir des informations sur les groupes de rapports

L'exemple de déclaration de stratégie suivant permet à un utilisateur d'obtenir des informations sur les groupes de rapports dans la région us-east-2 du compte 123456789012 :

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

Autorisation d'un utilisateur à obtenir des informations sur les rapports

L'exemple de déclaration de stratégie suivant permet à un utilisateur d'obtenir des informations sur les rapports dans la région us-east-2 pour le compte 123456789012 :

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

Autorisation d'un utilisateur à créer des projets de génération

L'exemple de déclaration de politique suivant permet à un utilisateur de créer des projets de construction avec n'importe quel nom, mais uniquement dans la us-east-2 région pour le compte 123456789012 et en utilisant uniquement le rôle de CodeBuild service spécifié :

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

L'exemple de déclaration de politique suivant permet à un utilisateur de créer des projets de construction avec n'importe quel nom, mais uniquement dans la us-east-2 région pour le compte 123456789012 et en utilisant uniquement le rôle de CodeBuild service spécifié. Cela garantit également que l'utilisateur ne peut utiliser le rôle de service spécifié qu'avec d'autres services AWS CodeBuild et non avec d'autres AWS services.

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

Autoriser un utilisateur à créer une flotte

L'exemple de déclaration de politique suivant permet à un utilisateur de créer une flotte dans la us-east-2 région pour créer un compte 123456789012 :

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

Autorisation d'un utilisateur à créer un groupe de rapports

L'exemple suivant d'instruction de stratégie permet à un utilisateur de créer un groupe de rapports dans la région us-east-2 pour le compte 123456789012 :

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

Autoriser un utilisateur à supprimer une flotte

L'exemple de déclaration de politique suivant permet à un utilisateur de supprimer une flotte dans la us-east-2 région pour créer un compte 123456789012 :

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

Autorisation d'un utilisateur à supprimer un groupe de rapports

L'exemple suivant d'instruction de stratégie permet à un utilisateur de supprimer un groupe de rapports dans la région us-east-2 pour le compte 123456789012 :

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

Autorisation d'un utilisateur à supprimer un rapport

L'exemple suivant d'instruction de stratégie permet à un utilisateur de supprimer un rapport dans la région us-east-2 pour le compte 123456789012 :

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

Autorisation d'un utilisateur à supprimer des projets de génération

L'exemple de déclaration de stratégie suivant autorise un utilisateur à supprimer des projets de génération dans la région us-east-2 pour le compte 123456789012 pour tout projet de génération dont le nom commence par my :

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

Autorisation d'un utilisateur à obtenir une liste de noms de projet de génération

L'exemple de déclaration de stratégie suivant autorise un utilisateur à obtenir une liste de noms de projet de génération pour le même compte :

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

Autorisation d'un utilisateur à modifier des informations sur les projets de génération

L'exemple de déclaration de stratégie suivant autorise un utilisateur à modifier les informations sur des projets de génération avec n'importe quel nom, mais uniquement dans la région us-east-2 pour le compte 123456789012, et à utiliser uniquement le rôle de service AWS CodeBuild spécifié :

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

Autoriser un utilisateur à modifier une flotte

L'exemple de déclaration de politique suivant permet à un utilisateur de modifier une flotte dans la us-east-2 région pour créer un compte 123456789012 :

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

Autorisation d'un utilisateur à modifier un groupe de rapports

L'exemple suivant d'instruction de stratégie permet à un utilisateur de modifier un groupe de rapports dans la région us-east-2 pour le compte 123456789012 :

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

Autorisation d'un utilisateur à obtenir des informations sur les générations

L'exemple de déclaration de stratégie suivant autorise un utilisateur à obtenir des informations sur les générations dans la région us-east-2 pour le compte 123456789012 pour les projets de génération nommés my-build-project et my-other-build-project :

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

Autoriser un utilisateur à obtenir une liste des versions IDs pour un projet de construction

L'exemple de déclaration de politique suivant permet à un utilisateur d'obtenir une liste des constructions IDs dans la us-east-2 région 123456789012 pour tenir compte des projets de construction nommés my-build-project et my-other-build-project :

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

Permettre à un utilisateur d'obtenir une liste de versions IDs

L'exemple de déclaration de politique suivant permet à un utilisateur d'obtenir une liste de toutes les IDs versions pour le même compte :

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

Autoriser un utilisateur à obtenir une liste de flottes

L'exemple de déclaration de politique suivant permet à un utilisateur d'obtenir une liste des flottes de la us-east-2 région pour créer un compte 123456789012 :

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

Autorisation d'un utilisateur à obtenir une liste de groupes de rapports

L'exemple de déclaration de stratégie suivant permet à un utilisateur d'obtenir une liste de groupes de rapports dans la région us-east-2 pour le compte 123456789012 :

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

Autorisation d'un utilisateur à obtenir une liste de rapports

L'exemple de déclaration de stratégie suivant permet à un utilisateur d'obtenir une liste de rapports dans la région us-east-2 pour le compte 123456789012 :

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

Autorisation d'un utilisateur à obtenir une liste de rapports pour un groupe de rapports

L'exemple de déclaration de stratégie suivant permet à un utilisateur d'obtenir une liste de rapports pour un groupe de rapports dans la région us-east-2 pour le compte 123456789012 :

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

Autorisation d'un utilisateur à obtenir une liste de cas de test pour un rapport

L'exemple de déclaration de stratégie suivant permet à un utilisateur d'obtenir une liste de cas de test pour un rapport dans la région us-east-2 pour le compte 123456789012 :

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

Autorisation d'un utilisateur à démarrer l'exécution de générations

L'exemple de déclaration de stratégie suivant autorise un utilisateur à exécuter des générations dans la région us-east-2 pour le compte 123456789012 pour les projets de génération dont le nom commence par my :

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

Autorisation d'un utilisateur à tenter d'arrêter des générations

L'exemple de déclaration de stratégie suivant autorise un utilisateur à tenter d'arrêter des générations uniquement dans la région us-east-2 pour le compte 123456789012 pour tout projet de génération dont le nom commence par my :

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

Autorisation d'un utilisateur à tenter de supprimer des générations

L'exemple de déclaration de stratégie suivant autorise un utilisateur à tenter de supprimer des générations uniquement dans la région us-east-2 pour le compte 123456789012 pour tout projet de génération dont le nom commence par my :

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

Permettre à un utilisateur d'obtenir des informations sur les images Docker gérées par CodeBuild

L'exemple de déclaration de politique suivant permet à un utilisateur d'obtenir des informations sur toutes les images Docker gérées par CodeBuild :

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

Autoriser un utilisateur à ajouter une politique d'autorisation pour un rôle de service de flotte

L'exemple de déclaration de politique de ressources suivant permet à un utilisateur d'ajouter une politique d'VPCautorisation pour un rôle de service de flotte :

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

L'exemple de déclaration de politique de ressources suivant permet à un utilisateur d'ajouter une politique d'autorisation Amazon Managed Image (AMI) personnalisée pour un rôle de service de flotte :

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

L'exemple de déclaration de politique de confiance suivant permet à un utilisateur d'ajouter une politique d'autorisation pour un rôle de service de flotte :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildFleetVPCTrustPolicy", "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" } } } ] }

Autoriser CodeBuild l'accès aux AWS services nécessaires à la création d'une interface VPC réseau

L'exemple de déclaration de politique suivant accorde AWS CodeBuild l'autorisation de créer une interface réseau dans un environnement VPC comportant deux sous-réseaux :

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

Utilisez une déclaration de refus pour éviter AWS CodeBuild de vous déconnecter des fournisseurs de sources

L'exemple de déclaration de stratégie suivant utilise une déclaration de refus pour empêcher AWS CodeBuild de se déconnecter des fournisseurs de source. Il utilise codebuild:DeleteOAuthToken, qui est l'inverse de codebuild:PersistOAuthToken et de codebuild:ImportSourceCredentials, pour se connecter aux fournisseurs de source. Pour de plus amples informations, veuillez consulter Autorisations requises pour que la AWS CodeBuild console puisse se connecter aux fournisseurs de sources.

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