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à.
Puoi collegare le policy alle identità IAM. Ad esempio, puoi eseguire le operazioni seguenti:
-
Allega una politica di autorizzazioni a un utente o a un gruppo nel tuo account: per concedere a un utente l'autorizzazione a visualizzare le pipeline nella CodePipeline console, puoi allegare una politica di autorizzazioni a un utente o gruppo a cui appartiene l'utente.
-
Collega una policy di autorizzazione a un ruolo (assegnazione di autorizzazioni tra account): per concedere autorizzazioni tra più account, è possibile collegare una policy di autorizzazione basata su identità a un ruolo IAM. Ad esempio, l'amministratore dell'Account A può creare un ruolo per concedere autorizzazioni su più account a un altro account (ad esempio, AWS Account B) oppure un ruolo come segue: Servizio AWS
-
L'amministratore dell'account A crea un ruolo IAM e attribuisce una policy di autorizzazione al ruolo che concede le autorizzazioni sulle risorse per l'account A.
-
L'amministratore dell'account A attribuisce una policy di attendibilità al ruolo, identificando l'account B come il principale per tale ruolo.
-
L'amministratore dell'Account B può quindi delegare le autorizzazioni per assumere il ruolo a qualsiasi utente dell'Account B. In questo modo gli utenti dell'Account B possono creare o accedere alle risorse nell'Account A. Il responsabile della politica di fiducia può anche essere un Servizio AWS principale se si desidera concedere l' Servizio AWS autorizzazione per assumere il ruolo.
Per ulteriori informazioni sull'uso di IAM per delegare le autorizzazioni, consulta Access Management nella IAM User Guide (Guida per l'utente di IAM).
-
Di seguito viene illustrato un esempio di politica delle autorizzazioni che concede le autorizzazioni per disabilitare e abilitare le transizioni tra tutte le fasi della pipeline denominata in: MyFirstPipeline
us-west-2
region
{
"Version": "2012-10-17",
"Statement" : [
{
"Effect" : "Allow",
"Action" : [
"codepipeline:EnableStageTransition",
"codepipeline:DisableStageTransition"
],
"Resource" : [
"arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/*"
]
}
]
}
L'esempio seguente mostra una policy nell'account 111222333444 che permette agli utenti di visualizzare, ma non modificare, la pipeline denominata MyFirstPipeline
nella console CodePipeline . Questa policy è basata sulla policy gestita AWSCodePipeline_ReadOnlyAccess
, ma poiché è relativa alla pipeline MyFirstPipeline
, non può utilizzare direttamente la policy gestita. Se non desideri limitare la policy a una pipeline specifica, valuta se utilizzare una delle policy gestite create e mantenute da CodePipeline. Per ulteriori informazioni, consulta la sezione relativa all'utilizzo di policy gestite. È necessario collegare questa policy a un ruolo IAM creato per l'accesso, ad esempio un ruolo denominato: CrossAccountPipelineViewers
{
"Statement": [
{
"Action": [
"codepipeline:GetPipeline",
"codepipeline:GetPipelineState",
"codepipeline:GetPipelineExecution",
"codepipeline:ListPipelineExecutions",
"codepipeline:ListActionExecutions",
"codepipeline:ListActionTypes",
"codepipeline:ListPipelines",
"codepipeline:ListTagsForResource",
"iam:ListRoles",
"s3:ListAllMyBuckets",
"codecommit:ListRepositories",
"codedeploy:ListApplications",
"lambda:ListFunctions",
"codestar-notifications:ListNotificationRules",
"codestar-notifications:ListEventTypes",
"codestar-notifications:ListTargets"
],
"Effect": "Allow",
"Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline"
},
{
"Action": [
"codepipeline:GetPipeline",
"codepipeline:GetPipelineState",
"codepipeline:GetPipelineExecution",
"codepipeline:ListPipelineExecutions",
"codepipeline:ListActionExecutions",
"codepipeline:ListActionTypes",
"codepipeline:ListPipelines",
"codepipeline:ListTagsForResource",
"iam:ListRoles",
"s3:GetBucketPolicy",
"s3:GetObject",
"s3:ListBucket",
"codecommit:ListBranches",
"codedeploy:GetApplication",
"codedeploy:GetDeploymentGroup",
"codedeploy:ListDeploymentGroups",
"elasticbeanstalk:DescribeApplications",
"elasticbeanstalk:DescribeEnvironments",
"lambda:GetFunctionConfiguration",
"opsworks:DescribeApps",
"opsworks:DescribeLayers",
"opsworks:DescribeStacks"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Sid": "CodeStarNotificationsReadOnlyAccess",
"Effect": "Allow",
"Action": [
"codestar-notifications:DescribeNotificationRule"
],
"Resource": "*",
"Condition": {
"StringLike": {
"codestar-notifications:NotificationsForResource": "arn:aws:codepipeline:*"
}
}
}
],
"Version": "2012-10-17"
}
Dopo aver creato questa policy, crea il ruolo IAM nell'account 111222333444 e collega la policy a quel ruolo. Nelle relazioni di fiducia del ruolo, devi aggiungere l' AWS account che assumerà questo ruolo. L'esempio seguente mostra una politica che consente agli utenti dell'111111111111
AWS account di assumere i ruoli definiti nell'account 111222333444:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
111111111111
:root" }, "Action": "sts:AssumeRole" } ] }
L'esempio seguente mostra una politica creata nell'111111111111
AWS account che consente agli utenti di assumere il ruolo denominato CrossAccountPipelineViewers
nell'account 111222333444:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111222333444:role/
CrossAccountPipelineViewers
" } ] }
Puoi creare policy IAM per limitare le chiamate e le risorse a cui gli utenti del tuo account hanno accesso e quindi collegare tali policy al tuo utente amministrativo. Per ulteriori informazioni su come creare ruoli IAM e per scoprire esempi di istruzioni sulle policy IAM CodePipeline, consultaEsempi di policy gestite dal cliente.