View a markdown version of this page

Sintassi delle SCP - AWS Organizations

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à.

Sintassi delle SCP

Le policy di controllo dei servizi (SCP) utilizzano una sintassi simile a quella utilizzata dalle policy di autorizzazione AWS Identity and Access Management (IAM) e dalle policy basate sulle risorse (come le bucket policy di Amazon S3). Per ulteriori informazioni sulle policy IAM consulta Panoramica sulle policy IAM nella Guida per l'utente di IAM.

Una SCP è un file di testo normale strutturato in base alle regole di JSON. Utilizza gli elementi descritti in questo argomento.

Nota

Tutti i caratteri nella SCP sono conteggiati rispetto alla dimensione massima. Gli esempi in questa guida mostrano le SCP formattate con spazio vuoto aggiuntivo per migliorarne la leggibilità. Tuttavia, per risparmiare spazio se la dimensione della policy è prossima alla dimensione massima, puoi eliminare qualsiasi spazio vuoto, come i caratteri spazio e le interruzioni di linea che si trovano al di fuori delle virgolette.

Per informazioni generali sulle SCP, consulta Politiche di controllo del servizio (SCPs).

Riepilogo degli elementi

La tabella seguente riepiloga gli elementi di policy che è possibile utilizzare nelle SCP. Alcuni elementi di policy sono disponibili solo nelle SCP che negano le operazioni. La colonna Supported Effects (Effetti supportati) elenca il tipo di effetto che può essere utilizzato con ciascun elemento di policy nelle SCP.

Elemento Scopo Effetti supportati

Azione

Speciifica il AWS servizio e le azioni consentite o negate da SCP.

Allow, Deny

Effetto Definisce se l'istruzione SCP consente o nega l'accesso agli utenti e ai ruoli IAM in un account.

Allow, Deny

Statement Serve da container per gli elementi di policy. È possibile avere più istruzioni nelle SCP.

Allow, Deny

Statement ID (Sid) (Facoltativo) Fornisce un nome semplice per l'istruzione.

Allow, Deny

Versione Specifica le regole di sintassi del linguaggio da utilizzare per elaborare la policy.

Allow, Deny

Condition Specifica le condizioni che stabiliscono quando l'istruzione è attiva.

Allow,Deny

NotAction

Specifica il AWS servizio e le azioni che sono esenti dall'SCP. Utilizzato invece dell'elemento Action.

Allow,Deny

Risorsa Speciifica le AWS risorse a cui si applica l'SCP.

Allow,Deny

NotResource Speciifica le AWS risorse che sono esenti dall'SCP. Utilizzato invece dell'elemento Resource.

Allow, Deny

Le seguenti sezioni forniscono ulteriori informazioni ed esempi sull'utilizzo degli elementi di policy nelle SCP.

Azione ed elementi NotAction

Il valore dell'NotActionelemento Action or è un elenco (un array JSON) di stringhe che identificano AWS i servizi e le azioni consentiti o negati dall'istruzione.

Ogni stringa è composta dall'abbreviazione per il servizio (come "s3", "ec2", "iam" o "organizzazioni"), in lettere minuscole, seguita da due punti e quindi da un'operazione da quel servizio. Le azioni e le notazioni non fanno distinzione tra maiuscole e minuscole. In genere, vengono tutte inserite con ogni parola che inizia con una lettera maiuscola e il resto con una lettera minuscola. Ad esempio: "s3:ListAllMyBuckets".

È inoltre possibile utilizzare caratteri jolly come asterisco (*) o punto interrogativo (?) in una SCP:

  • Utilizzare un asterisco (*) come carattere jolly per abbinare più operazioni che condividono parte di un nome. Il valore "s3:*" indica tutte le operazioni del servizio Amazon S3. Il valore "ec2:Describe*" corrisponde solo alle operazioni EC2 che iniziano con "Describe".

  • Utilizzare il punto interrogativo (?) come carattere jolly per abbinare un singolo carattere.

Per un elenco di tutti i servizi e le azioni che supportano sia negli AWS Organizations SCP che nelle politiche di autorizzazione IAM, consulta Actions, Resources and Condition Keys for AWS Services nella IAM User Guide.

Per ulteriori informazioni, consulta IAM JSON Policy Elements: Action e IAM JSON Policy Elements: NotAction nella IAM User Guide.

Esempio di elemento Action

L'esempio seguente mostra una SCP con un'istruzione che consente agli amministratori degli account di delegare le autorizzazioni describe, start, stop e terminate per le istanze EC2 nell'account. Questo è un esempio di elenco di consentiti ed è utile quando le policy Allow * di default non sono collegate in modo che, per impostazione predefinita, le autorizzazioni vengono negate in modo implicito. Se la policy Allow * di default è ancora collegata al root, all'UO o all'account a cui è collegata la seguente policy, la policy non ha effetto:

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeAvailabilityZones", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:StopInstances", "ec2:StartInstances" ], "Resource": "*" } }

L'esempio seguente mostra come è possibile negare l'accesso ai servizi che non desideri utilizzare negli account collegati. Presuppone che gli SCP "Allow *" predefiniti siano ancora collegati a tutte le UO e tutte le radici. Questa policy di esempio impedisce agli amministratori degli account collegati di delegare qualsiasi autorizzazione per i servizi IAM, Amazon EC2 e Amazon RDS. Qualsiasi operazione da altri servizi può essere delegata a condizione che non vi sia un'altra policy collegata che li neghi.

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "iam:*", "ec2:*", "rds:*" ], "Resource": "*" } }

Esempio di elemento NotAction

L'esempio seguente mostra come utilizzare un NotAction elemento per escludere AWS i servizi dall'effetto della policy.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "LimitActionsInRegion", "Effect": "Deny", "NotAction": "iam:*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": "us-west-1" } } } ] }

Con questa dichiarazione, gli account interessati si limitano a intraprendere azioni nei limiti specificati Regione AWS, tranne quando utilizzano azioni IAM.

Elemento condizione

È possibile specificare un Condition elemento nelle istruzioni allow e deny in un SCP.

L'esempio seguente mostra come utilizzare un elemento condition con un'istruzione allow in un SCP per consentire a soggetti specifici di accedere ai servizi. AWS

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowServicesForSpecificPrincipal", "Effect":"Allow", "Action":[ "ec2:*", "s3:*", "rds:*", "lambda:*", "cloudformation:*", "iam:*", "cloudwatch:*" ], "Resource":"*", "Condition":{ "StringEquals":{ "aws:PrincipalArn":[ "arn:aws:iam::123456789012:role/specific-role" ] } } } ] }

L'esempio seguente mostra come utilizzare un elemento condition con un'istruzione deny in un SCP per limitare l'accesso a qualsiasi operazione al di fuori delle eu-west-1 regioni eu-central-1 and, ad eccezione delle azioni nei servizi specificati.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyAllOutsideEU", "Effect": "Deny", "NotAction": [ "cloudfront:*", "iam:*", "route53:*", "support:*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": [ "eu-central-1", "eu-west-1" ] } } } ] }

Per ulteriori informazioni, consulta la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente di IAM.

Elemento Effetto

Ogni istruzione deve contenere un elemento Effect. Il valore può essere Allow o Deny. Influenza tutte le operazioni elencate nella stessa istruzione.

Per ulteriori informazioni, consulta Elementi delle policy JSON IAM: Effect nella Guida per l'utente di IAM.

«Effect»: «Consenti»

Nell'esempio seguente viene illustrata una SCP con un'istruzione che contiene un elemento Effect con un valore Allow che consente agli utenti di eseguire operazioni per il servizio Amazon S3. Questo esempio è utile se un'organizzazione utilizza la strategia dell'elenco consentiti (ove le policy FullAWSAccess predefinite sono tutte scollegate, in modo che le autorizzazioni vengano negate in modo implicito per impostazione predefinita). Il risultato è che l'istruzione concede le autorizzazioni Amazon S3 per qualsiasi account collegato:

{ "Statement": { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } }

Sebbene utilizzi la stessa parola chiave di valore Allow di una policy di autorizzazione IAM, in una SCP non vengono effettivamente concesse a un utente le autorizzazioni per eseguire qualsiasi operazione. Al contrario, le SCP agiscono come filtri che specificano le autorizzazioni massime per gli account in un'organizzazione, unità organizzativa (UO) o account. Nell'esempio precedente, anche se un utente nell'account aveva la policy gestita AdministratorAccess collegata, la SCP limita le operazioni di tutti gli utenti nell'account alle sole operazioni Amazon S3.

«Effect»: «Nega»

In un'istruzione in cui l'elemento Effect ha un valore Deny, è anche possibile limitare l'accesso a risorse specifiche o definire condizioni di attivazione delle SCP.

Quanto segue mostra un esempio di come utilizzare una condizione di chiave in un'istruzione di rifiuto.

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals": { "ec2:InstanceType": "t2.micro" } } } }

Questa istruzione in una SCP imposta un guardrail per evitare che gli account interessati (per cui la SCP è collegata all'account stesso o al root dell'organizzazione o UO che contiene l'account) avviino istanze Amazon EC2 se l'istanza Amazon EC2 non è impostata su t2.micro. Anche se una policy IAM che consente questa operazione è collegata all'account, il guardrail creato dalla SCP la impedisce.

Risorsae NotResource elemento

Ogni istruzione in un SCP deve includere un NotResource elemento Resource or.

In istruzioni in cui l'elemento Effect ha un valore Allow, è possibile specificare solo "*" nell'elemento Resource di una SCP. Non è possibile specificare l'ARN (Amazon Resource Name) di singole risorse.

È possibile utilizzare caratteri jolly come l'asterisco (*) o il punto interrogativo (?) nell'elemento risorsa:

  • Utilizzare un asterisco (*) come carattere jolly per abbinare più operazioni che condividono parte di un nome.

  • Utilizzare il punto interrogativo (?) come carattere jolly per abbinare un singolo carattere.

In istruzioni in cui l'elemento Effect ha un valore Deny, è possibile specificare singoli ARN, come mostrato nel seguente esempio.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyAccessToAdminRole", "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/role-to-deny" ] } ] }

Questa SCP impedisce agli utenti e ai ruoli IAM negli account interessati di apportare modifiche a un ruolo IAM di amministrazione comune creato in tutti gli account nella tua organizzazione.

L'esempio seguente mostra come utilizzare un NotResource elemento per escludere specifici modelli Amazon Bedrock dall'effetto della policy.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"Statement1", "Effect":"Deny", "Action":[ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "NotResource":[ "arn:aws:bedrock:*::foundation-model/model-to-permit" ] } ] }

Per ulteriori informazioni, consulta Elementi delle policy JSON IAM: Resource nella Guida per l'utente di IAM.

Elemento della dichiarazione

Un SCP consiste di uno o più elementi Statement. È possibile avere una sola parola chiave Statement in una policy, ma il valore può essere una matrice JSON di istruzioni (circondata da caratteri [ ]).

Nell'esempio seguente viene illustrata una singola istruzione composta di elementi Effect, Action e Resource.

"Statement": { "Effect": "Allow", "Action": "*", "Resource": "*" }

L'esempio seguente include due istruzioni come un elenco matrice all'interno di un elemento Statement. La prima istruzione consente tutte le operazioni, mentre la seconda nega qualsiasi operazione di EC2. Il risultato è che un amministratore nell'account può delegare qualsiasi autorizzazione eccetto quelle da Amazon Elastic Compute Cloud (Amazon EC2).

"Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" }, { "Effect": "Deny", "Action": "ec2:*", "Resource": "*" } ]

Per ulteriori informazioni, consulta Elementi delle policy JSON IAM: Statement nella Guida per l'utente di IAM.

Elemento Statement ID (Sid)

Sid è un identificatore opzionale fornito per l'istruzione della policy. Puoi assegnare un valore Sid a ogni istruzione in una matrice di istruzioni. La seguente SCP mostra un esempio di istruzione Sid.

{ "Statement": { "Sid": "AllowsAllActions", "Effect": "Allow", "Action": "*", "Resource": "*" } }

Per ulteriori informazioni, consulta Elementi delle policy JSON IAM: Id nella Guida per l'utente di IAM.

Elemento della versione

Ogni SCP deve includere un elemento Version con il valore "2012-10-17". Questo è lo stesso valore di versione della versione più recente delle policy di autorizzazione IAM:

Per ulteriori informazioni, consulta Elementi delle policy JSON IAM: Version nella Guida per l'utente di IAM.

Elementi non supportati

I seguenti elementi non sono supportati nelle SCP:

  • NotPrincipal

  • Principal