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 stratégies basées sur l'identité qui montrent comment un administrateur de compte peut lier des stratégies d'autorisations à des identités IAM (autrement dit, des utilisateurs, des groupes et des rôles) et accorder ainsi des autorisations pour effectuer des opérations sur les ressources AWS CodeBuild .
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 plus d’informations, consultez Vue d'ensemble de la gestion des autorisations d'accès à vos AWS CodeBuild ressources.
Rubriques
- Autorisations requises pour utiliser la console AWS CodeBuild
- Autorisations requises pour se connecter AWS CodeBuild à Amazon Elastic Container Registry
- Autorisations requises pour que la AWS CodeBuild console se connecte aux fournisseurs de sources
- AWS politiques gérées (prédéfinies) pour AWS CodeBuild
- CodeBuild politiques et notifications gérées
- CodeBuild mises à jour des politiques AWS gérées
- Exemples de politiques gérées par le client
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 (Amazon ECR) (si vous utilisez un environnement de construction qui repose sur une image Docker dans un référentiel Amazon ECR)
Note
Depuis le 26 juillet 2022, la politique IAM par défaut a été mise à jour. Pour plus d’informations, consultez Autorisations requises pour se connecter AWS CodeBuild à Amazon Elastic Container Registry.
-
Amazon Elastic Container Service (Amazon ECS) (si vous utilisez un environnement de construction qui repose sur une image Docker dans un référentiel Amazon ECR)
-
AWS Identity and Access Management (JE SUIS)
-
AWS Key Management Service (AWS KMS)
-
Amazon Simple Storage Service (Amazon S3)
Si vous créez une politique IAM 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 politique IAM par défaut pour les autorisations Amazon ECR. 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 politique Amazon ECR suivante :
"Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ]
Pour plus d'informations sur la mise à jour de votre politique, consultezAjouter des autorisations d' CodeBuild accès à un groupe ou à un utilisateur IAM.
Autorisations requises pour que la AWS CodeBuild console se connecte aux fournisseurs de sources
La AWS CodeBuild console utilise les actions d'API 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 actions d'API précédentes aux politiques d'accès IAM associées à l'utilisateur que vous utilisez pour accéder à la AWS CodeBuild console.
Les actions d'API ListConnectedOAuthAccounts
, ListRepositories
et PersistOAuthToken
ne sont pas conçues pour être appelées par votre code. Par conséquent, ces actions d'API ne sont pas incluses dans les AWS
SDK AWS CLI et.
AWS politiques gérées (prédéfinies) pour AWS CodeBuild
AWS répond à de nombreux cas d'utilisation courants en fournissant des politiques IAM 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, tels que IAM AWS CodeCommit, Amazon EC2, Amazon ECR, Amazon SNS et CloudWatch Amazon 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 de 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 rubriques Amazon SNS 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 Politiques gérées par AWS dans le Guide de l’utilisateur IAM.
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 politiques IAM 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 sujets Amazon SNS 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 l'IAM et les notifications, voir Identity and Access ManagementAWS CodeStarNotifications.
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 fil RSS surAWS CodeBuild Historique du document du guide de l'utilisateur .
Modification | Description | Date |
---|---|---|
|
CodeBuild a ajouté une ressource à ces politiques pour soutenir le changement de AWS CodeConnections marque. Les |
18 avril 2024 |
|
CodeBuild a ajouté une autorisation à ces politiques pour prendre en charge un type de notification supplémentaire en utilisant AWS Chatbot. Les |
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 l' CodeBuild API, AWS les SDK 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 politiques IAM 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
- Autorisation d'un utilisateur à obtenir des informations sur les groupes de rapports
- Autorisation d'un utilisateur à obtenir des informations sur les rapports
- Autorisation d'un utilisateur à créer des projets de génération
- Autorisation d'un utilisateur à créer un groupe de rapports
- Autorisation d'un utilisateur à supprimer un groupe de rapports
- Autorisation d'un utilisateur à supprimer un rapport
- Autorisation d'un utilisateur à supprimer des projets de génération
- Autorisation d'un utilisateur à obtenir une liste de noms de projet de génération
- Autorisation d'un utilisateur à modifier des informations sur les projets de génération
- Autorisation d'un utilisateur à modifier un groupe de rapports
- Autorisation d'un utilisateur à obtenir des informations sur les générations
- Autorisation d'un utilisateur à obtenir une liste d'ID de génération pour un projet de génération
- Autorisation d'un utilisateur à obtenir une liste d'ID de génération
- Autorisation d'un utilisateur à obtenir une liste de groupes de rapports
- Autorisation d'un utilisateur à obtenir une liste de rapports
- Autorisation d'un utilisateur à obtenir une liste de rapports pour un groupe de rapports
- Autorisation d'un utilisateur à obtenir une liste de cas de test pour un rapport
- Autorisation d'un utilisateur à démarrer l'exécution de générations
- Autorisation d'un utilisateur à tenter d'arrêter des générations
- Autorisation d'un utilisateur à tenter de supprimer des générations
- Permettre à un utilisateur d'obtenir des informations sur les images Docker gérées par CodeBuild
- Autoriser CodeBuild l'accès aux AWS services requis pour créer une interface réseau VPC
- Utilisez une déclaration de refus pour éviter AWS CodeBuild de vous déconnecter des fournisseurs de sources
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*" } ] }
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 uniquement en utilisant 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"} } } ] }}
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/*" } ] }
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" } ] }
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" ] } ] }
Autorisation d'un utilisateur à obtenir une liste d'ID de génération pour un projet de génération
L'exemple de déclaration de stratégie suivant autorise un utilisateur à obtenir une liste d'ID de génération uniquement 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: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" ] } ] }
Autorisation d'un utilisateur à obtenir une liste d'ID de génération
L'exemple de déclaration de stratégie suivant autorise un utilisateur à obtenir une liste de tous les ID de génération pour le même compte :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListBuilds", "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 CodeBuild l'accès aux AWS services requis pour créer une interface réseau VPC
L'exemple de déclaration de politique suivant accorde AWS CodeBuild l'autorisation de créer une interface réseau dans un VPC avec 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 plus d’informations, consultez Autorisations requises pour que la AWS CodeBuild console se connecte aux fournisseurs de sources.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "codebuild:DeleteOAuthToken", "Resource": "*" } ] }