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à.
Specifica delle condizioni: Utilizzo di tag personalizzati
Amazon RDS supporta la specificazione di condizioni in una IAM policy utilizzando tag personalizzati.
Ad esempio, supponi di aggiungere alle istanze database un tag denominato environment
con valori quali beta
, staging
, production
e così via. In questo modo, puoi creare una policy che limita alcuni utenti alle istanze database in base al valore del tag environment
.
Nota
Per gli identificatori di tag personalizzati viene fatta distinzione tra maiuscole e minuscole.
La tabella seguente elenca gli identificatori di RDS tag che puoi utilizzare in un elemento. Condition
RDSidentificatore di tag | Si applica a |
---|---|
db-tag |
Istanze database, incluse repliche di lettura |
snapshot-tag |
Snapshot DB |
ri-tag |
Istanze database riservate |
og-tag |
Gruppi di opzioni database |
pg-tag |
Gruppi di parametri database |
subgrp-tag |
Gruppi di sottoreti database |
es-tag |
Abbonamenti a eventi |
cluster-tag |
Cluster database |
cluster-pg-tag |
Gruppi di parametri di cluster database |
cluster-snapshot-tag |
Snapshot cluster database |
La sintassi per una condizione di un tag personalizzato è la seguente:
"Condition":{"StringEquals":{"rds:
rds-tag-identifier
/tag-name
":
["value
"]} }
Ad esempio, l'elemento Condition
seguente si applica alle istanze database con un tag denominato environment
e un valore di tag corrispondente a production
.
"Condition":{"StringEquals":{"rds:db-tag/
environment
": ["production
"]} }
Per informazioni sulla creazione di tag, consulta Etichettatura di RDS.
Importante
Se gestisci l'accesso alle tue RDS risorse utilizzando i tag, ti consigliamo di proteggere l'accesso ai tag delle tue RDS risorse. È possibile gestire l'accesso ai tag creando policy per le operazioni AddTagsToResource
e RemoveTagsFromResource
. Ad esempio, la policy seguente nega agli utenti la possibilità di aggiungere o rimuovere tag per tutte le risorse. Puoi quindi creare policy per permettere a utenti specifici di aggiungere o rimuovere tag.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyTagUpdates", "Effect":"Deny", "Action":[ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], "Resource":"*" } ] }
Per visualizzare un elenco di azioni di Amazon RDS , consulta Actions Defined by Amazon RDS nel Service Authorization Reference.
Policy di esempio: Utilizzo di tag personalizzati
Di seguito sono riportati alcuni esempi di come è possibile utilizzare tag personalizzati nelle politiche di IAM autorizzazione di RDS . Per ulteriori informazioni sull'aggiunta di tag a una risorsa Amazon RDS , consulta. Nomi di risorse Amazon (ARNs) in Amazon RDS
Nota
Tutti gli esempi utilizzano la regione us-west-2 e contengono account fittizi. IDs
Esempio 1: Concessione dell'autorizzazione per le operazioni su una risorsa con un tag specifico con due valori diversi
La seguente politica 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" ] } } } ] }
Esempio 2: Rifiuto esplicito dell'autorizzazione per creare un'istanza database che utilizza gruppi di parametri database specificati
La policy seguente rifiuta in modo esplicito l'autorizzazione per creare un'istanza database che utilizza gruppi di parametri database con valori di tag specifici. Puoi applicare questa policy se desideri che uno specifico gruppo di parametri database creato dal cliente venga sempre utilizzato nella creazione di istanze database. Le policy che utilizzano Deny
servono per lo più a limitare l'accesso concesso da una policy più ampia.
Il rifiuto esplicito di un'autorizzazione prevale su qualsiasi altra autorizzazione concessa. In questo modo si evita che le identità ottengano accidentalmente un'autorizzazione che non desideravi concedere.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyProductionCreate", "Effect":"Deny", "Action":"rds:CreateDBInstance", "Resource":"arn:aws:rds:*:123456789012:pg:*", "Condition":{ "StringEquals":{ "rds:pg-tag/usage":"prod" } } } ] }
Esempio 3: Concessione dell'autorizzazione per le operazioni in un'istanza database con un nome di istanza che ha come prefisso un nome utente
La seguente politica consente l'autorizzazione a chiamare qualsiasi istanza DB API (eccetto AddTagsToResource
oRemoveTagsFromResource
) su un'istanza DB con un nome di istanza DB preceduto dal nome dell'utente e con un tag chiamato stage
uguale devo
o senza tag chiamato. stage
La Resource
riga della policy identifica una risorsa in base al relativo Amazon Resource Name (ARN). Per ulteriori informazioni sull'utilizzo ARNs con le risorse di RDSAmazon , consulta. Nomi di risorse Amazon (ARNs) in Amazon RDS
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowFullDevAccessNoTags", "Effect":"Allow", "NotAction":[ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], "Resource":"arn:aws:rds:*:123456789012:db:${aws:username}*", "Condition":{ "StringEqualsIfExists":{ "rds:db-tag/stage":"devo" } } } ] }