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à.
Le seguenti sezioni presentano esempi di politiche di autorizzazione che concedono e limitano l'accesso alle risorse:
Consenti a un utente di creare istanze DB in un account AWS
Di seguito è riportato un esempio di politica che consente all'account con l'ID di 123456789012
creare istanze DB per il tuo AWS account. La policy richiede che il nome della nuova istanza database inizi con test
. La nuova istanza DB deve inoltre utilizzare il motore di SQL database My e la classe di istanze db.t2.micro
DB. Inoltre, la nuova istanza database deve utilizzare un gruppo di opzioni e un gruppo di parametri database che inizia con default
, e deve utilizzare il gruppo di sottoreti default
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDBInstanceOnly", "Effect": "Allow", "Action": [ "rds:CreateDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:db:test*", "arn:aws:rds:*:123456789012:og:default*", "arn:aws:rds:*:123456789012:pg:default*", "arn:aws:rds:*:123456789012:subgrp:default" ], "Condition": { "StringEquals": { "rds:DatabaseEngine": "mysql", "rds:DatabaseClass": "db.t2.micro" } } } ] }
La policy include una singola istruzione che specifica le autorizzazioni seguenti per l'utente :
La policy consente all'account di creare un'istanza DB utilizzando l'reateDBInstanceAPIoperazione C (ciò vale anche per il create-db-instance AWS CLI comando e il AWS Management Console).
L'elemento
Resource
specifica che l'utente può eseguire azioni in o con altre risorse. Specifichi le risorse utilizzando un Amazon Resources Name (ARN). Ciò ARN include il nome del servizio a cui appartiene la risorsa (rds
), la AWS regione (*
indica qualsiasi regione in questo esempio), il numero di AWS account (123456789012
è il numero di account in questo esempio) e il tipo di risorsa. Per ulteriori informazioni sulla creazioneARNs, vedereNomi di risorse Amazon (ARNs) in Amazon RDS.L'elemento
Resource
nell'esempio specifica i seguenti vincoli della policy sulle risorse per l'utente:L'identificatore istanze DB per la nuova istanza database deve iniziare con
test
(per esempio,testCustomerData1
,test-region2-data
).Il gruppo di opzioni per la nuova istanza database deve iniziare con
default
.Il gruppo di parametri database per la nuova istanza database deve iniziare con
default
.Il gruppo di sottoreti per la nuova istanza database deve essere il gruppo di sottoreti
default
.
L'
Condition
elemento specifica che il motore DB deve essere My SQL e la classe dell'istanza DB deve esseredb.t2.micro
. L'elementoCondition
specifica le condizioni quando deve essere applicata una policy. È possibile aggiungere permessi o restrizioni aggiuntivi usando l'elementoCondition
. Per ulteriori informazioni su come specificare le condizioni;, consulta Chiavi relative alle condizioni delle politiche per Aurora. Questo esempio specifica le condizionirds:DatabaseEngine
erds:DatabaseClass
. Per informazioni sui valori delle condizioni validi perrds:DatabaseEngine
, consultate l'elenco sotto ilEngine
parametro in C. reateDBInstance Per informazioni sui valori di condizione validi perrds:DatabaseClass
, consulta Motori DB supportati per classi di istanza database.
La policy non specifica l'elemento Principal
poiché in una policy basata su identità l'entità che ottiene l'autorizzazione non viene specificata. Quando si collega una policy a un utente, quest'ultimo è l'entità implicita. Quando si associa una politica di autorizzazione a un IAM ruolo, il principale identificato nella politica di fiducia del ruolo ottiene le autorizzazioni.
Per visualizzare un elenco di azioni di Aurora, consulta Actions Defined by Amazon RDS nel Service Authorization Reference.
Consenti a un utente di eseguire qualsiasi azione di descrizione su qualsiasi risorsa RDS
La seguente policy di autorizzazione concede a un utente le autorizzazioni per eseguire tutte le operazioni che iniziano con Describe
. Queste azioni mostrano informazioni su una RDS risorsa, ad esempio un'istanza DB. Il carattere jolly (*) nell'Resource
elemento indica che le azioni sono consentite per tutte le risorse Aurora di proprietà dell'account.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRDSDescribe", "Effect": "Allow", "Action": "rds:Describe*", "Resource": "*" } ] }
Consentire a un utente di creare un'istanza database che utilizza il gruppo parametri del database e il gruppo di sottorete specificati
La seguente policy di autorizzazioni concede le autorizzazioni per consentire a un utente di creare un'istanza database che deve usare il gruppo di parametri database mydbpg
e il gruppo di sottorete DB mydbsubnetgroup
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "rds:CreateDBInstance", "Resource": [ "arn:aws:rds:*:*:pg:mydbpg", "arn:aws:rds:*:*:subgrp:mydbsubnetgroup" ] } ] }
Concedere l'autorizzazione per le operazioni su una risorsa con un tag specifico con due valori diversi
Puoi utilizzare le condizioni della tua policy basata sull'identità per controllare l'accesso alle risorse di Amazon in base ai tag. La seguente policy consente l'autorizzazione a eseguire l'CreateDBSnapshot
APIoperazione su istanze DB con il stage
tag impostato su o. development
test
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowAnySnapshotName", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:snapshot:*" }, { "Sid":"AllowDevTestToCreateSnapshot", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }
La seguente politica consente l'autorizzazione a eseguire l'ModifyDBInstance
APIoperazione su istanze DB con il stage
tag impostato su o. development
test
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowChangingParameterOptionSecurityGroups", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:pg:*", "arn:aws:rds:*:123456789012:secgrp:*", "arn:aws:rds:*:123456789012:og:*" ] }, { "Sid":"AllowDevTestToModifyInstance", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }
Impedire a un utente di eliminare un'istanza database
La seguente policy di autorizzazione assegna le autorizzazioni per impedire a un utente di eliminare un'istanza database specifica. Ad esempio, potresti voler negare la possibilità di eliminare le istanze database di produzione a qualsiasi utente che non sia un amministratore.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyDelete1", "Effect": "Deny", "Action": "rds:DeleteDBInstance", "Resource": "arn:aws:rds:us-west-2:123456789012:db:my-mysql-instance" } ] }
Negare tutti gli accessi a una risorsa
È anche possibile negare esplicitamente l'accesso a una risorsa. I criteri di negazione hanno la precedenza sui criteri di autorizzazione. La policy seguente nega esplicitamente a un utente la possibilità di gestire una risorsa:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "rds:*", "Resource": "arn:aws:rds:us-east-1:123456789012:db:mydb" } ] }