Utilizzo di politiche basate sull'identità per AWS CodeBuild - AWS CodeBuild

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di politiche basate sull'identità per AWS CodeBuild

Questo argomento fornisce esempi di politiche basate sull'identità che dimostrano come un amministratore di account può associare politiche di autorizzazione alle IAM identità (ovvero utenti, gruppi e ruoli) e quindi concedere le autorizzazioni per eseguire operazioni sulle risorse. AWS CodeBuild

Importante

Ti consigliamo di esaminare innanzitutto gli argomenti introduttivi che spiegano i concetti e le opzioni di base disponibili per gestire l'accesso alle tue risorse. CodeBuild Per ulteriori informazioni, consulta Panoramica della gestione delle autorizzazioni di accesso alle risorse AWS CodeBuild.

Segue un esempio di una policy di autorizzazioni che permette all'utente di ottenere informazioni sui progetti di compilazione solo nella regione us-east-2 per l'account 123456789012 per qualsiasi progetto di compilazione che inizia con il nome my:

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

Autorizzazioni necessarie per l'uso della console AWS CodeBuild

Un utente che utilizza la AWS CodeBuild console deve disporre di un set minimo di autorizzazioni che gli consenta di descrivere altre AWS risorse per l' AWS account. Deve possedere le autorizzazioni dai seguenti servizi:

  • AWS CodeBuild

  • Amazon CloudWatch

  • CodeCommit (se stai archiviando il codice sorgente in un AWS CodeCommit repository)

  • Amazon Elastic Container Registry (AmazonECR) (se utilizzi un ambiente di compilazione basato su un'immagine Docker in un repository AmazonECR)

    Nota

    A partire dal 26 luglio 2022, la IAM politica predefinita è stata aggiornata. Per ulteriori informazioni, consulta Autorizzazioni necessarie per connettersi AWS CodeBuild ad Amazon Elastic Container Registry.

  • Amazon Elastic Container Service (AmazonECS) (se utilizzi un ambiente di compilazione basato su un'immagine Docker in un repository AmazonECR)

  • AWS Identity and Access Management (IAM)

  • AWS Key Management Service (AWS KMS)

  • Amazon Simple Storage Service (Amazon S3)

Se crei una IAM policy più restrittiva delle autorizzazioni minime richieste, la console non funzionerà come previsto.

Autorizzazioni necessarie per connettersi AWS CodeBuild ad Amazon Elastic Container Registry

Al 26 luglio 2022, AWS CodeBuild ha aggiornato la sua IAM politica predefinita per l'ECRautorizzazione di Amazon. Le seguenti autorizzazioni sono state rimosse dalla politica predefinita:

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

Per CodeBuild i progetti creati prima del 26 luglio 2022, ti consigliamo di aggiornare la tua politica con la seguente ECR politica di Amazon:

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

Per ulteriori informazioni sull'aggiornamento della polizza, consultaConsenti agli utenti di interagire con CodeBuild.

Autorizzazioni necessarie per consentire alla AWS CodeBuild console di connettersi ai provider di origine

La AWS CodeBuild console utilizza le seguenti API azioni per connettersi ai provider di origine (ad esempio, gli GitHub archivi).

  • codebuild:ListConnectedOAuthAccounts

  • codebuild:ListRepositories

  • codebuild:PersistOAuthToken

  • codebuild:ImportSourceCredentials

Puoi associare i fornitori di sorgenti (come i GitHub repository) ai tuoi progetti di compilazione utilizzando la AWS CodeBuild console. Per fare ciò, devi prima aggiungere le API azioni precedenti IAM alle politiche di accesso associate all'utente che utilizzi per accedere alla AWS CodeBuild console.

Le PersistOAuthToken API azioni ListConnectedOAuthAccountsListRepositories, e non sono pensate per essere richiamate dal codice. Pertanto, queste API azioni non sono incluse nel file AWS CLI e AWS SDKs.

AWS politiche gestite (predefinite) per AWS CodeBuild

AWS affronta molti casi d'uso comuni fornendo IAM politiche autonome create e amministrate da. AWS Queste policy AWS gestite concedono le autorizzazioni necessarie per i casi d'uso comuni, in modo da evitare di dover verificare quali autorizzazioni sono necessarie. Le politiche gestite forniscono CodeBuild anche le autorizzazioni per eseguire operazioni in altri servizi, come Amazon IAM AWS CodeCommit, Amazon EC2ECR, Amazon e Amazon CloudWatch EventsSNS, come richiesto per le responsabilità degli utenti a cui è stata concessa la politica in questione. Ad esempio, la AWSCodeBuildAdminAccess policy è una policy utente di livello amministrativo che consente agli utenti con questa policy di creare e gestire regole CloudWatch Events per le build di progetti e argomenti SNS Amazon per le notifiche sugli eventi relativi al progetto (argomenti i cui nomi hanno il prefissoarn:aws:codebuild:), nonché di amministrare progetti e gruppi di report in. CodeBuild Per ulteriori informazioni, consulta Managed Policies nella Guida per l'utente.AWS IAM

Le seguenti politiche AWS gestite, che puoi allegare agli utenti del tuo account, sono specifiche per AWS CodeBuild.

AWSCodeBuildAdminAccess

Fornisce accesso completo alle autorizzazioni CodeBuild incluse per amministrare i progetti di CodeBuild compilazione.

AWSCodeBuildDeveloperAccess

Fornisce l'accesso CodeBuild ma non consente l'amministrazione dei progetti di compilazione.

AWSCodeBuildReadOnlyAccess

Fornisce accesso in sola lettura a. CodeBuild

Per accedere agli artefatti di output della build CodeBuild creati, è inoltre necessario allegare la policy gestita denominata AWS . AmazonS3ReadOnlyAccess

Per creare e gestire i ruoli CodeBuild di servizio, è inoltre necessario allegare la policy AWS gestita denominata. IAMFullAccess

È inoltre possibile creare IAM politiche personalizzate per consentire le CodeBuild autorizzazioni per azioni e risorse. Puoi collegare queste policy personalizzate agli utenti o ai gruppi che richiedono le autorizzazioni.

AWSCodeBuildAdminAccess

La AWSCodeBuildAdminAccess policy fornisce l'accesso completo CodeBuild, comprese le autorizzazioni per amministrare i progetti di CodeBuild compilazione. Applica questa politica solo agli utenti di livello amministrativo per concedere loro il pieno controllo su CodeBuild progetti, gruppi di report e risorse correlate presenti nel tuo AWS account, inclusa la possibilità di eliminare progetti e gruppi di report.

La policy AWSCodeBuildAdminAccess contiene la seguente istruzione:

{ "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 policy consente l'accesso a tutte le funzionalità e alle risorse relative ai progetti CodeBuild e ai gruppi di report. Questa politica non consente agli utenti di eliminare CodeBuild progetti o gruppi di report o risorse correlate in altri AWS servizi, come CloudWatch Eventi. È consigliabile applicare questa policy alla maggior parte degli utenti.

La policy AWSCodeBuildDeveloperAccess contiene la seguente istruzione:

{ "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 politica concede l'accesso in sola lettura CodeBuild e alle risorse correlate in altri servizi. AWS Applicare questo criterio agli utenti che possono visualizzare ed eseguire build, visualizzare progetti e visualizzare gruppi di report, ma non possono apportare modifiche.

La policy AWSCodeBuildReadOnlyAccess contiene la seguente istruzione:

{ "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 politiche e notifiche gestite

CodeBuild supporta le notifiche, che possono notificare agli utenti modifiche importanti relative alla creazione di progetti. Le politiche gestite CodeBuild includono dichiarazioni politiche per la funzionalità di notifica. Per ulteriori informazioni, vedere Cosa sono le notifiche?.

Autorizzazioni correlate alle notifiche nelle policy gestite di accesso completo

Le policy gestite AWSCodeBuildFullAccess includono le seguenti dichiarazioni per consentire l'accesso completo alle notifiche. Gli utenti a cui viene applicata questa politica gestita possono anche creare e gestire SNS argomenti Amazon per le notifiche, iscrivere e annullare l'iscrizione degli utenti agli argomenti, elencare gli argomenti da scegliere come obiettivi per le regole di notifica ed elencare AWS Chatbot i client configurati per 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": "*" }

Autorizzazioni correlate alle notifiche nelle policy gestite di sola lettura

Le policy gestite AWSCodeBuildReadOnlyAccess includono le seguenti dichiarazioni per consentire l'accesso in sola lettura alle notifiche. Gli utenti con questa policy gestita applicata possono visualizzare le notifiche per le risorse, ma non possono crearle, gestirle o sottoscriverle.

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

Autorizzazioni correlate alle notifiche in altre policy gestite

La policy gestita AWSCodeBuildDeveloperAccess include le seguenti istruzioni per consentire agli utenti di creare, modificare e sottoscrivere le notifiche. Gli utenti non possono eliminare le regole di notifica o gestire i tag per le risorse.

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

Per ulteriori informazioni IAM e notifiche, consulta Identity and Access Management for AWS CodeStar Notifiche.

CodeBuild aggiornamenti alle politiche AWS gestite

Visualizza i dettagli sugli aggiornamenti delle politiche AWS gestite CodeBuild da quando questo servizio ha iniziato a tenere traccia di queste modifiche. Per ricevere avvisi automatici sulle modifiche a questa pagina, iscriviti al RSS feed suAWS CodeBuild Cronologia dei documenti della Guida dell'utente .

Modifica Descrizione Data

AWSCodeBuildAdminAccessAWSCodeBuildDeveloperAccess, e AWSCodeBuildReadOnlyAccess — Aggiornamento alle politiche esistenti

CodeBuild ha aggiunto una risorsa a queste politiche per supportare il AWS CodeConnections rebranding.

Le AWSCodeBuildReadOnlyAccess politiche AWSCodeBuildAdminAccessAWSCodeBuildDeveloperAccess, e sono state modificate per aggiungere una risorsa,. arn:aws:codeconnections:*:*:connection/*

18 aprile 2024

AWSCodeBuildAdminAccesse AWSCodeBuildDeveloperAccess — Aggiornamento alle politiche esistenti

CodeBuild ha aggiunto un'autorizzazione a queste politiche per supportare un tipo di notifica aggiuntivo utilizzando AWS Chatbot.

Le AWSCodeBuildDeveloperAccess politiche AWSCodeBuildAdminAccess e sono state modificate per aggiungere un'autorizzazione,chatbot:ListMicrosoftTeamsChannelConfigurations.

16 maggio 2023

CodeBuild ha iniziato a tenere traccia delle modifiche

CodeBuild ha iniziato a tenere traccia delle modifiche per le sue politiche AWS gestite.

16 maggio 2021

Esempi di policy gestite dal cliente

Questa sezione include policy utente di esempio che concedono autorizzazioni per operazioni AWS CodeBuild . Queste politiche funzionano quando si utilizza CodeBuild API AWS SDKs, o. AWS CLI Quando si utilizza la console, devi concedere autorizzazioni specifiche aggiuntive alla console. Per informazioni, consultare Autorizzazioni necessarie per l'uso della console AWS CodeBuild.

È possibile utilizzare le seguenti IAM politiche di esempio per limitare CodeBuild l'accesso per utenti e ruoli.

Argomenti

Concessione a un utente di ottenere informazioni sui progetti di compilazione

La seguente istruzione di policy di esempio permette all'utente di ottenere informazioni sui progetti di compilazione, nella regione us-east-2 per l'account 123456789012, che iniziano con il nome my:

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

Consenti a un utente di ottenere informazioni sulle flotte

Il seguente esempio di dichiarazione politica consente a un utente di ottenere informazioni sulle flotte nella us-east-2 regione a titolo di account: 123456789012

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

Concessione a un utente di ottenere informazioni sui gruppi di report

La seguente istruzione di policy esemplificativa permette all'utente di ottenere informazioni sui gruppi di report nella regione us-east-2 per l'account 123456789012:

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

Concessione a un utente di ottenere informazioni sui report

La seguente istruzione di policy esemplificativa permette all'utente di ottenere informazioni sui report nella regione us-east-2 per l'account 123456789012:

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

Concessione a un utente di creare progetti di compilazione

L'esempio seguente di dichiarazione politica consente a un utente di creare progetti di compilazione con qualsiasi nome, ma solo nella us-east-2 regione per account 123456789012 e utilizzando solo il ruolo di CodeBuild servizio specificato:

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

La seguente dichiarazione politica di esempio consente a un utente di creare progetti di compilazione con qualsiasi nome, ma solo nella us-east-2 regione per account 123456789012 e solo utilizzando il ruolo di CodeBuild servizio specificato. Implica inoltre che l'utente possa utilizzare il ruolo di servizio specificato solo con AWS CodeBuild e non altri AWS servizi.

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

Consenti a un utente di creare una flotta

Il seguente esempio di dichiarazione politica consente a un utente di creare una flotta nella us-east-2 regione per account123456789012:

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

Concessione a un utente di creare un gruppo di report

La seguente istruzione di policy di esempio permette all'utente di creare un gruppo di report nella regione us-east-2 per l'account 123456789012:

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

Consenti a un utente di eliminare un parco veicoli

Il seguente esempio di dichiarazione politica consente a un utente di eliminare un parco veicoli nella us-east-2 regione per conto123456789012:

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

Concessione a un utente di eliminare un gruppo di report

La seguente istruzione di policy esemplificativa permette all'utente di eliminare un gruppo di report nella regione us-east-2 per l'account 123456789012:

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

Concessione a un utente di eliminare un report

La seguente istruzione di policy esemplificativa permette all'utente di eliminare un report nella regione us-east-2 per l'account 123456789012:

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

Concessione a un utente di eliminare progetti di compilazione

La seguente istruzione di policy esemplificativa permette all'utente di eliminare i progetti di compilazione nella regione us-east-2 per l'account 123456789012 che iniziano con il nome my:

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

Concessione a un utente di ottenere un elenco di nomi di progetti di compilazione

La seguente istruzione di policy di esempio permette all'utente di ottenere un elenco dei nomi di progetti di compilazione per lo stesso account.

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

Concessione a un utente di modificare informazioni sui progetti di compilazione

La seguente istruzione di policy esemplificativa permette all'utente di modificare informazioni sui progetti di compilazione con qualsiasi nome solo nella regione us-east-2 per l'account 123456789012 e di utilizzare unicamente il ruolo del servizio AWS CodeBuild specificato:

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

Consenti a un utente di modificare un parco veicoli

Il seguente esempio di dichiarazione politica consente a un utente di modificare una flotta nella us-east-2 regione per account123456789012:

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

Concessione a un utente di modificare un gruppo di report

La seguente istruzione di policy esemplificativa permette all'utente di modificare un gruppo di report nella regione us-east-2 per l'account 123456789012:

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

Concessione a un utente di ottenere informazioni sulle compilazioni

La seguente istruzione di policy esemplificativa permette all'utente di ottenere informazioni sulla compilazione nella regione us-east-2 per l'account 123456789012, per i progetti di compilazione denominati my-build-project e 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" ] } ] }

Consenti a un utente di ottenere un elenco di build IDs per un progetto di compilazione

La seguente dichiarazione politica di esempio consente a un utente di ottenere un elenco di build IDs presenti nella us-east-2 regione per account 123456789012 per i progetti di compilazione denominati my-build-project emy-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" ] } ] }

Consenti a un utente di ottenere un elenco di build IDs

L'esempio seguente di dichiarazione politica consente a un utente di ottenere un elenco di tutte le build IDs per lo stesso account:

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

Consenti a un utente di ottenere un elenco di flotte

La seguente dichiarazione politica di esempio consente a un utente di ottenere un elenco di flotte nella us-east-2 regione per conto: 123456789012

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

Concessione a un utente di ottenere un elenco dei gruppi di report

La seguente istruzione di policy esemplificativa permette all'utente di ottenere un elenco dei gruppi di report nella regione us-east-2 per l'account 123456789012:

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

Concessione a un utente di ottenere un elenco dei report

La seguente istruzione di policy esemplificativa permette all'utente di ottenere un elenco dei report nella regione us-east-2 per l'account 123456789012:

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

Concessione a un utente di ottenere un elenco dei report riferiti a un gruppo di report

La seguente istruzione di policy esemplificativa permette all'utente di ottenere un elenco dei report riferiti a un gruppo di report nella regione us-east-2 per l'account 123456789012:

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

Concessione a un utente di ottenere un elenco dei casi di test riferiti a un report

La seguente istruzione di policy esemplificativa permette all'utente di ottenere un elenco dei casi di test riferiti a un report nella regione us-east-2 per l'account 123456789012:

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

Concessione a un utente di avviare l'esecuzione di compilazioni

La seguente istruzione di policy esemplificativa permette all'utente di eseguire compilazioni nella regione us-east-2 per l'account 123456789012, per qualsiasi progetto di compilazione che inizia con il nome my:

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

Concessione a un utente di tentare di interrompere le compilazioni

La seguente istruzione di policy di esempio permette a un utente di tentare di interrompere le compilazioni di esecuzione solo nella regione us-east-2 per l'account 123456789012 per qualsiasi progetto di compilazione che inizia con il nome my:

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

Concessione a un utente di tentare di eliminare le compilazioni

La seguente istruzione di policy di esempio permette all'utente di tentare di eliminare le compilazioni solo nella regione us-east-2 per l'account 123456789012 per qualsiasi progetto di compilazione che inizia con il nome my:

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

Consenti a un utente di ottenere informazioni sulle immagini Docker gestite da CodeBuild

L'esempio seguente di dichiarazione politica consente a un utente di ottenere informazioni su tutte le immagini Docker gestite da: CodeBuild

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

Consenti a un utente di aggiungere una politica di autorizzazione per un ruolo di fleet service

L'esempio seguente di dichiarazione sulla politica delle risorse consente a un utente di aggiungere una politica di VPC autorizzazione per un ruolo di Fleet Service:

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

Il seguente esempio di dichiarazione sulla politica delle risorse consente a un utente di aggiungere una politica di autorizzazione Amazon Managed Image (AMI) personalizzata per un ruolo di fleet service:

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

L'esempio seguente di dichiarazione sulla politica di fiducia consente a un utente di aggiungere una politica di autorizzazione per un ruolo di fleet service:

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

Consenti CodeBuild l'accesso ai AWS servizi necessari per creare un'interfaccia VPC di rete

L'esempio seguente di dichiarazione politica concede AWS CodeBuild l'autorizzazione a creare un'interfaccia di rete in un VPC con due sottoreti:

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

Utilizzate un'istruzione di negazione per impedire la disconnessione AWS CodeBuild dai provider di origine

Il seguente esempio di istruzione della policy utilizza un'istruzione di rifiuto per impedire a AWS CodeBuild di disconnettersi dai provider di origine. Utilizza codebuild:DeleteOAuthToken, che è l'inverso di codebuild:PersistOAuthToken e codebuild:ImportSourceCredentials, per connettersi ai provider di origine. Per ulteriori informazioni, consulta Autorizzazioni necessarie per consentire alla AWS CodeBuild console di connettersi ai provider di origine.

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