Utilizzo dei tag per controllare l'accesso alle risorse 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 dei tag per controllare l'accesso alle risorse AWS CodeBuild

Le condizioni nelle dichiarazioni delle politiche IAM fanno parte della sintassi che puoi utilizzare per specificare le autorizzazioni per le azioni basate sul CodeBuild progetto. Puoi creare una policy che consenta o neghi azioni sui progetti in base ai tag associati a tali progetti e quindi applicare tali policy ai gruppi IAM configurati per la gestione degli utenti. Per informazioni sull'applicazione di tag a un progetto utilizzando la console o AWS CLI, consultaCreazione di un progetto di compilazione in AWS CodeBuild. Per informazioni sull'applicazione dei tag utilizzando l' CodeBuild SDK, consulta CreateProject e Tag nell'CodeBuildAPI Reference. Per informazioni sull'utilizzo dei tag per controllare l'accesso alle AWS risorse, consulta Controlling Access to AWS Resources Using Resource Tags nella IAM User Guide.

Esempio 1: limita le azioni CodeBuild del progetto in base ai tag delle risorse

L'esempio seguente nega tutte le operazioni BatchGetProjects sui progetti contenenti tag con la chiave Environment e il valore della chiave Production. L'amministratore di un utente deve allegare questa policy IAM oltre alla policy utente gestita agli utenti non autorizzati. La chiave della condizione aws:ResourceTag viene utilizzata per controllare l'accesso alle risorse in base ai tag.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codebuild:BatchGetProjects" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/Environment": "Production" } } } ] }
Esempio 2: limita le azioni CodeBuild del progetto in base ai tag di richiesta

La policy seguente nega agli utenti l'autorizzazione all'operazione CreateProject se la richiesta contiene un tag con la chiave Environment e il valore della chiave Production. Inoltre, la policy impedisce a questi utenti non autorizzati di modificare i progetti utilizzando la chiave di condizione aws:TagKeys per non consentire UpdateProject se la richiesta contiene un tag con la chiave Environment. Un amministratore deve allegare questa policy IAM oltre alla policy utente gestita agli utenti che non sono autorizzati a eseguire queste azioni. La chiave aws:RequestTag condition viene utilizzata per controllare quali tag possono essere passati in una richiesta IAM

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codebuild:CreateProject" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:RequestTag/Environment": "Production" } } }, { "Effect": "Deny", "Action": [ "codebuild:UpdateProject" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["Environment"] } } } ] }
Esempio 3: negare o consentire azioni sui gruppi di report in base ai tag delle risorse

Puoi creare una policy che consenta o neghi azioni sulle CodeBuild risorse (progetti e gruppi di report) in base ai AWS tag associati a tali risorse e quindi applicare tali policy ai gruppi IAM configurati per la gestione degli utenti. Ad esempio, puoi creare una policy che neghi tutte le CodeBuild azioni su qualsiasi gruppo di report con la chiave AWS tag e il valore chiave di Status Secret e quindi applicare tale policy al gruppo IAM che hai creato per gli sviluppatori generici (Developers). Devi quindi assicurarti che gli sviluppatori che lavorano su quei gruppi di report con tag non siano membri di quel gruppo generale di sviluppatori, ma appartengano invece a un gruppo IAM diverso a cui non viene applicata la politica restrittiva ()SecretDevelopers.

L'esempio seguente nega tutte le CodeBuild azioni sui gruppi di report contrassegnati con la chiave Status e il valore chiave di: Secret

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Deny", "Action" : [ "codebuild:BatchGetReportGroups," "codebuild:CreateReportGroup", "codebuild:DeleteReportGroup", "codebuild:ListReportGroups", "codebuild:ListReportsForReportGroup", "codebuild:UpdateReportGroup" ] "Resource" : "*", "Condition" : { "StringEquals" : "aws:ResourceTag/Status": "Secret" } } ] }
Esempio 4: limita CodeBuild le azioni in AWSCodeBuildDeveloperAccess base ai tag delle risorse

Puoi creare politiche che consentano CodeBuild azioni su tutti i gruppi di report e i progetti che non sono etichettati con tag specifici. Ad esempio, la policy seguente consente l'equivalente delle autorizzazioni AWSCodeBuildDeveloperAccess per tutti i gruppi di report e progetti tranne quelli contrassegnati con i tag specificati:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codebuild:StartBuild", "codebuild:StopBuild", "codebuild:BatchGet*", "codebuild:GetResourcePolicy", "codebuild:DescribeTestCases", "codebuild:List*", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:ListBranches", "cloudwatch:GetMetricStatistics", "events:DescribeRule", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "logs:GetLogEvents", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/Status": "Secret", "aws:ResourceTag/Team": "Saanvi" } } } ] }