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.
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 puisse se connecter 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 (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 ListConnectedOAuthAccounts
ListRepositories
, 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 |
---|---|---|
|
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 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
- Autoriser un utilisateur à obtenir des informations sur les flottes
- 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
- Autoriser un utilisateur à créer une flotte
- Autorisation d'un utilisateur à créer un groupe de rapports
- Autoriser un utilisateur à supprimer une flotte
- 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
- Autoriser un utilisateur à modifier une flotte
- Autorisation d'un utilisateur à modifier un groupe de rapports
- Autorisation d'un utilisateur à obtenir des informations sur les générations
- Autoriser un utilisateur à obtenir une liste des versions IDs pour un projet de construction
- Permettre à un utilisateur d'obtenir une liste de versions IDs
- Autoriser un utilisateur à obtenir une liste de flottes
- 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 un utilisateur à ajouter une politique d'autorisation pour un rôle de service de flotte
- Autoriser CodeBuild l'accès aux AWS services nécessaires à la création d'une interface VPC réseau
- 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*" } ] }
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": "*" } ] }