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 perCodeBuildazioni basate su progetti. 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 che configuri per la gestione degli utenti. Per informazioni sull'applicazione di tag a un progetto utilizzando la console o l'AWS CLI, vedi Creazione di un progetto di compilazione in AWS CodeBuild. Per informazioni sull'applicazione dei tag utilizzando ilCodeBuildSDK, vediCreateProject eTagnelCodeBuildRiferimento API. Per informazioni sull'utilizzo dei tag per controllare l'accesso aAWSrisorse, vediControllo dell'accesso aAWSRisorse che utilizzano tag di risorsenelGuida per l'utente IAM.
Esempio 1: limitare le operazioni del progetto CodeBuild 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 in aggiunta alla policy degli utenti gestiti 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: limitare le operazioni del progetto CodeBuild in base ai tag delle richieste
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 in aggiunta alla policy per gli utenti gestiti agli utenti che non sono autorizzati a eseguire queste azioni. Laaws:RequestTag
la chiave di condizione 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
È possibile creare una politica che consenta o neghi azioni suCodeBuildrisorse (progetti e gruppi di report) basate suAWStag associati a tali risorse, quindi applica tali policy ai gruppi IAM configurati per la gestione degli utenti. Ad esempio, è possibile creare una policy che neghi tutte le operazioni CodeBuild su qualsiasi gruppo di report con la chiave tag AWS Status
e il valore chiave Secret
, quindi applicare tale policy al gruppo IAM creato per sviluppatori generali (Sviluppatori
). Devi quindi assicurarti che gli sviluppatori che lavorano su quei gruppi di report con tag non siano membri di quel gruppo generaleSviluppatori
raggruppano, ma appartengono invece a un gruppo IAM diverso a cui non viene applicata la politica restrittiva (SecretDevelopers
).
Nell'esempio seguente vengono negate tutte le azioni CodeBuild 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: LimiteCodeBuildazioni aAWSCodeBuildDeveloperAccessbasato su tag di risorse
È possibile creare criteri che consentano azioni CodeBuild su tutti i gruppi di report e progetti non contrassegnati da 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
" } } } ] }