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à.
Per impostazione predefinita, gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse Amazon EBS. Inoltre, non possono eseguire attività utilizzando AWS Management Console, AWS Command Line Interface (AWS CLI) o AWS API. Per concedere agli utenti l'autorizzazione a eseguire operazioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM. L'amministratore può quindi aggiungere le policy IAM ai ruoli e gli utenti possono assumere i ruoli.
Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consulta Creazione di policy IAM nella Guida per l'utente di IAM.
Argomenti
Best practice per le policy
Le policy basate sull'identità determinano se qualcuno può creare, accedere o eliminare risorse Amazon EBS nel tuo account. Queste operazioni possono comportare costi aggiuntivi per l' Account AWS. Quando crei o modifichi policy basate su identità, segui queste linee guida e raccomandazioni:
-
Inizia con le policy AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni a utenti e carichi di lavoro, utilizza le politiche gestite che concedono le autorizzazioni per molti casi d'uso comuni.AWS Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta Policy gestite da AWSo Policy gestite da AWS per le funzioni dei processi nella Guida per l'utente IAM.
-
Applica le autorizzazioni con privilegio minimo: quando imposti le autorizzazioni con le policy IAM, concedi solo le autorizzazioni richieste per eseguire un'attività. È possibile farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegi minimi. Per ulteriori informazioni sull'utilizzo di IAM per applicare le autorizzazioni, consulta Policy e autorizzazioni in IAM nella Guida per l'utente IAM.
-
Condizioni d'uso nelle policy IAM per limitare ulteriormente l'accesso: per limitare l'accesso a operazioni e risorse è possibile aggiungere una condizione alle tue policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente IAM.
-
Utilizzo di IAM Access Analyzer per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano alla sintassi della policy IAM (JSON) e alle best practice di IAM. IAM Access Analyzer offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per ulteriori informazioni, consulta Convalida delle policy per il Sistema di analisi degli accessi IAM nella Guida per l'utente IAM.
-
Richiedi l'autenticazione a più fattori (MFA): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungi le condizioni MFA alle policy. Per ulteriori informazioni, consulta Protezione dell'accesso API con MFA nella Guida per l'utente IAM.
Per maggiori informazioni sulle best practice in IAM, consulta Best practice di sicurezza in IAM nella Guida per l'utente di IAM.
Consenti agli utenti di utilizzare la console Amazon EBS
Per accedere alla console Amazon Elastic Block Store, devi disporre di un set minimo di autorizzazioni. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle risorse Amazon EBS presenti nel tuo. Account AWS Se crei una policy basata sull'identità più restrittiva rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (utenti o ruoli) associate a tale policy.
Non è necessario consentire autorizzazioni minime per la console agli utenti che effettuano chiamate solo verso AWS CLI o l'API. AWS Al contrario, concedi l'accesso solo alle operazioni che corrispondono all'operazione API che stanno cercando di eseguire.
Per garantire che utenti e ruoli possano ancora utilizzare la console Amazon EBS, collega anche Amazon EBS
o la policy ConsoleAccess
AWS gestita alle entità. Per ulteriori informazioni, consulta Aggiunta di autorizzazioni a un utente nella Guida per l'utente IAM.ReadOnly
Consentire agli utenti di visualizzare le loro autorizzazioni
Questo esempio mostra in che modo è possibile creare una policy che consente agli utenti IAM di visualizzare le policy inline e gestite che sono cpllegate alla relativa identità utente. Questa policy include le autorizzazioni per completare questa azione sulla console o utilizzando programmaticamente l'API o. AWS CLI AWS
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ViewOwnUserInfo",
"Effect": "Allow",
"Action": [
"iam:GetUserPolicy",
"iam:ListGroupsForUser",
"iam:ListAttachedUserPolicies",
"iam:ListUserPolicies",
"iam:GetUser"
],
"Resource": ["arn:aws:iam::*:user/${aws:username}"]
},
{
"Sid": "NavigateInConsole",
"Effect": "Allow",
"Action": [
"iam:GetGroupPolicy",
"iam:GetPolicyVersion",
"iam:GetPolicy",
"iam:ListAttachedGroupPolicies",
"iam:ListGroupPolicies",
"iam:ListPolicyVersions",
"iam:ListPolicies",
"iam:ListUsers"
],
"Resource": "*"
}
]
}
Consenti agli utenti di lavorare con i volumi
Esempi
Esempio: collegamento e scollegamento di volumi
Se un'operazione dell'API richiede un chiamante per la specifica di più risorse, devi creare un'istruzione della policy che consenta agli utenti di accedere a tutte le risorse richieste. Se devi utilizzare un elemento Condition
con una o più di tali risorse, devi creare più istruzioni come mostrato in questo esempio.
La seguente politica consente agli utenti di allegare volumi con il tag "volume_user
= iam-user-name" alle istanze con il tag "department=dev
«e di scollegare tali volumi da tali istanze. Se colleghi questa policy a un gruppo IAM, la variabile di policy aws:username
concede a ciascun utente del gruppo l'autorizzazione per collegare o scollegare i volumi dalle istanze con un tag denominato volume_user
per cui è stato impostato come valore il nome dell'utente.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:AttachVolume",
"ec2:DetachVolume"
],
"Resource": "arn:aws:ec2:us-east-1:account-id
:instance/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/department": "dev"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:AttachVolume",
"ec2:DetachVolume"
],
"Resource": "arn:aws:ec2:us-east-1:account-id
:volume/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/volume_user": "${aws:username}"
}
}
}
]
}
Esempio: creazione di un volume
La seguente politica consente agli utenti di utilizzare l'CreateVolumeazione API. Gli utenti possono creare un volume soltanto se quest'ultimo è crittografato e se la sua dimensione non supera 20 GiB.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:CreateVolume"
],
"Resource": "arn:aws:ec2:us-east-1:account-id
:volume/*",
"Condition":{
"NumericLessThan": {
"ec2:VolumeSize" : "20"
},
"Bool":{
"ec2:Encrypted" : "true"
}
}
}
]
}
Esempio: creazione di un volume con tag
La policy seguente include la chiave di condizione aws:RequestTag
che richiede agli utenti di applicare dei tag ai volumi creati con i tag costcenter=115
e stack=prod
. Se gli utenti non indicano questi tag specifici, o se non specificano nessun tag, la richiesta non riesce.
Per le operazioni di creazione delle risorse in cui vengono applicati i tag, gli utenti devono disporre anche delle autorizzazioni per utilizzare l'operazione CreateTags
. La seconda istruzione utilizza la chiave di condizione ec2:CreateAction
per consentire agli utenti di creare i tag soltanto nel contesto di CreateVolume
. Gli utenti non possono aggiungere tag sui volumi o altre risorse esistenti.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCreateTaggedVolumes",
"Effect": "Allow",
"Action": "ec2:CreateVolume",
"Resource": "arn:aws:ec2:us-east-1:account-id
:volume/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/costcenter": "115",
"aws:RequestTag/stack": "prod"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": "arn:aws:ec2:us-east-1:account-id
:volume/*",
"Condition": {
"StringEquals": {
"ec2:CreateAction" : "CreateVolume"
}
}
}
]
}
La policy seguente consente agli utenti di creare un volume senza dover specificare i tag. L'operazione CreateTags
viene valutata soltanto se i tag vengono specificati nella richiesta CreateVolume
. Se gli utenti specificano dei tag, questi ultimi devono essere purpose=test
. Non sono consentiti altri tag nella richiesta.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:CreateVolume",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": "arn:aws:ec2:us-east-1:account-id
:volume/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/purpose": "test",
"ec2:CreateAction" : "CreateVolume"
},
"ForAllValues:StringEquals": {
"aws:TagKeys": "purpose"
}
}
}
]
}
Esempio: lavorare con i volumi utilizzando la EC2 console Amazon
La seguente politica concede agli utenti l'autorizzazione a visualizzare e creare volumi e a collegare e scollegare volumi a istanze specifiche utilizzando la console Amazon. EC2
Gli utenti possono collegare qualsiasi volume alle istanze con il tag "purpose=test
" e scollegare volumi da tali istanze. Per allegare un volume utilizzando la EC2 console Amazon, è utile che gli utenti abbiano l'autorizzazione a utilizzare l'ec2:DescribeInstances
azione, in quanto ciò consente loro di selezionare un'istanza da un elenco precompilato nella finestra di dialogo Allega volume. Tuttavia, consente inoltre di visualizzare tutte le istanze nella pagina Instances (Istanze) nella console, pertanto è possibile omettere questa operazione.
Nella prima istruzione, l'operazione ec2:DescribeAvailabilityZones
è necessaria per consentire a un utente di selezionare una zona di disponibilità durante la creazione di un volume.
Gli utenti non possono applicare tag ai volumi creati (durante o dopo la creazione dei volumi).
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"ec2:DescribeVolumes",
"ec2:DescribeAvailabilityZones",
"ec2:CreateVolume",
"ec2:DescribeInstances"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:AttachVolume",
"ec2:DetachVolume"
],
"Resource": "arn:aws:ec2:region:111122223333:instance/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/purpose": "test"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:AttachVolume",
"ec2:DetachVolume"
],
"Resource": "arn:aws:ec2:region:111122223333:volume/*"
}
]
}
Consenti agli utenti di lavorare con le istantanee
Di seguito sono riportati alcuni esempi di policy sia per CreateSnapshot
(point-in-timeistantanea di un volume EBS) che per CreateSnapshots
(istantanee multivolume).
Esempi
Esempio: creazione di uno snapshot
La seguente politica consente ai clienti di utilizzare l'azione API. CreateSnapshot Il cliente può creare snapshot solo se il volume è crittografato e se le dimensioni del volume non superano 20 GiB.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshot",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*"
},
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshot",
"Resource":"arn:aws:ec2:us-east-1:account-id
:volume/*",
"Condition":{
"NumericLessThan":{
"ec2:VolumeSize":"20"
},
"Bool":{
"ec2:Encrypted":"true"
}
}
}
]
}
Esempio: creazione di snapshot
La seguente politica consente ai clienti di utilizzare l'azione CreateSnapshotsAPI. Il cliente può creare istantanee solo se tutti i volumi dell'istanza sono GP2 digitati.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshots",
"Resource":[
"arn:aws:ec2:us-east-1::snapshot/*",
"arn:aws:ec2:*:*:instance/*"
]
},
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshots",
"Resource":"arn:aws:ec2:us-east-1:*:volume/*",
"Condition":{
"StringLikeIfExists":{
"ec2:VolumeType":"gp2"
}
}
}
]
}
Esempio: creazione di uno snapshot con tag
La policy seguente include la chiave di condizione aws:RequestTag
che richiede ai clienti di applicare i tag costcenter=115
e stack=prod
alle nuove snapshot. Se gli utenti non indicano questi tag specifici, o se non specificano nessun tag, la richiesta non riesce.
Per le operazioni di creazione delle risorse in cui vengono applicati i tag, i clienti devono disporre anche delle autorizzazioni per utilizzare l'operazione CreateTags
. La terza istruzione utilizza la chiave di condizione ec2:CreateAction
per consentire ai clienti di creare i tag soltanto nel contesto di CreateSnapshot
. I clienti non possono aggiungere tag sui volumi o altre risorse esistenti.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshot",
"Resource":"arn:aws:ec2:us-east-1:account-id
:volume/*"
},
{
"Sid":"AllowCreateTaggedSnapshots",
"Effect":"Allow",
"Action":"ec2:CreateSnapshot",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"aws:RequestTag/costcenter":"115",
"aws:RequestTag/stack":"prod"
}
}
},
{
"Effect":"Allow",
"Action":"ec2:CreateTags",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"ec2:CreateAction":"CreateSnapshot"
}
}
}
]
}
Esempio: creazione di snapshot di più volumi con tag
La policy seguente include la chiave di condizione aws:RequestTag
che richiede ai clienti di applicare i tag costcenter=115
e stack=prod
quando viene creata una serie di snapshot di più volumi. Se gli utenti non indicano questi tag specifici, o se non specificano nessun tag, la richiesta non riesce.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshots",
"Resource":[
"arn:aws:ec2:us-east-1::snapshot/*",
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:volume/*"
]
},
{
"Sid":"AllowCreateTaggedSnapshots",
"Effect":"Allow",
"Action":"ec2:CreateSnapshots",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"aws:RequestTag/costcenter":"115",
"aws:RequestTag/stack":"prod"
}
}
},
{
"Effect":"Allow",
"Action":"ec2:CreateTags",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"ec2:CreateAction":"CreateSnapshots"
}
}
}
]
}
La policy seguente consente ai clienti di creare una snapshot senza dover specificare i tag. L'operazione CreateTags
viene valutata soltanto se i tag vengono specificati nella richiesta CreateSnapshot
o CreateSnapshots
. I tag possono essere omessi nella richiesta. Se viene specificato, il tag deve essere purpose=test
. Non sono consentiti altri tag nella richiesta.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshot",
"Resource":"*"
},
{
"Effect":"Allow",
"Action":"ec2:CreateTags",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"aws:RequestTag/purpose":"test",
"ec2:CreateAction":"CreateSnapshot"
},
"ForAllValues:StringEquals":{
"aws:TagKeys":"purpose"
}
}
}
]
}
La policy seguente consente ai clienti di creare una snapshot di più volumi senza specificare tag. L'operazione CreateTags
viene valutata soltanto se i tag vengono specificati nella richiesta CreateSnapshot
o CreateSnapshots
. I tag possono essere omessi nella richiesta. Se viene specificato, il tag deve essere purpose=test
. Non sono consentiti altri tag nella richiesta.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshots",
"Resource":"*"
},
{
"Effect":"Allow",
"Action":"ec2:CreateTags",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"aws:RequestTag/purpose":"test",
"ec2:CreateAction":"CreateSnapshots"
},
"ForAllValues:StringEquals":{
"aws:TagKeys":"purpose"
}
}
}
]
}
La policy seguente consente la creazione di snapshot soltanto se il volume di origine dispone del tag User:username
per il cliente e se la snapshot stessa dispone dei tag Environment:Dev
e User:username
. I clienti possono aggiungere altri tag allo snapshot.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshot",
"Resource":"arn:aws:ec2:us-east-1:account-id
:volume/*",
"Condition":{
"StringEquals":{
"aws:ResourceTag/User":"${aws:username}"
}
}
},
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshot",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"aws:RequestTag/Environment":"Dev",
"aws:RequestTag/User":"${aws:username}"
}
}
},
{
"Effect":"Allow",
"Action":"ec2:CreateTags",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*"
}
]
}
La policy seguente per CreateSnapshots
consente la creazione di snapshot soltanto se il volume di origine dispone del tag User:username
per il cliente e se la snapshot stessa dispone dei tag Environment:Dev
e User:username
.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshots",
"Resource":"arn:aws:ec2:us-east-1:*:instance/*",
},
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshots",
"Resource":"arn:aws:ec2:us-east-1:account-id
:volume/*",
"Condition":{
"StringEquals":{
"aws:ResourceTag/User":"${aws:username}"
}
}
},
{
"Effect":"Allow",
"Action":"ec2:CreateSnapshots",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"aws:RequestTag/Environment":"Dev",
"aws:RequestTag/User":"${aws:username}"
}
}
},
{
"Effect":"Allow",
"Action":"ec2:CreateTags",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*"
}
]
}
La policy seguente consente l'eliminazione di una snapshot soltanto se quest'ultima dispone del tag User:username per il cliente.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:DeleteSnapshot",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"aws:ResourceTag/User":"${aws:username}"
}
}
}
]
}
La policy seguente consente ai clienti di creare una snapshot ma rifiuta l'operazione se la snapshot in fase di creazione dispone della chiave di tag value=stack
.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":[
"ec2:CreateSnapshot",
"ec2:CreateTags"
],
"Resource":"*"
},
{
"Effect":"Deny",
"Action":"ec2:CreateSnapshot",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"ForAnyValue:StringEquals":{
"aws:TagKeys":"stack"
}
}
}
]
}
La policy seguente consente ai clienti di creare snapshot ma rifiuta l'operazione se gli snapshot in fase di creazione dispongono della chiave di tag value=stack
.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":[
"ec2:CreateSnapshots",
"ec2:CreateTags"
],
"Resource":"*"
},
{
"Effect":"Deny",
"Action":"ec2:CreateSnapshots",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"ForAnyValue:StringEquals":{
"aws:TagKeys":"stack"
}
}
}
]
}
La policy seguente consente di combinare più operazioni in una singola policy. Puoi creare una snapshot (nel contesto di CreateSnapshots
) solo quando viene creata nella regione us-east-1
. Puoi creare snapshot (nel contesto di CreateSnapshots
) solo quando vengono create nella regione us-east-1
e quando il tipo di istanza è t2*
.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":[
"ec2:CreateSnapshots",
"ec2:CreateSnapshot",
"ec2:CreateTags"
],
"Resource": [
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:snapshot/*",
"arn:aws:ec2:*:*:volume/*"
],
"Condition":{
"StringEqualsIgnoreCase": {
"ec2:Region": "us-east-1"
},
"StringLikeIfExists": {
"ec2:InstanceType": ["t2.*"]
}
}
}
]
}
Esempio: copia di snapshot
Le autorizzazioni a livello di risorsa specificate per l'operazione CopySnapshot si applicano solo al nuovo snapshot. Non possono essere specificate per lo snapshot di origine.
La policy di esempio seguente consente alle entità principali di copiare snapshot solo se il nuovo snapshot viene creato con la chiave tag purpose
e il valore del tag production
(purpose=production
).
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCopySnapshotWithTags",
"Effect": "Allow",
"Action": "ec2:CopySnapshot",
"Resource": "arn:aws:ec2:*:account-id
:snapshot/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/purpose": "production"
}
}
}
]
}
Esempio: modifica delle impostazioni di autorizzazione per gli snapshot
La seguente politica consente la modifica di uno snapshot solo se lo snapshot è contrassegnato conUser:
, username
username
dov'è il nome utente dell' AWS account del cliente. Se questa condizione non viene rispettata, la richiesta non riesce.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Action":"ec2:ModifySnapshotAttribute",
"Resource":"arn:aws:ec2:us-east-1::snapshot/*",
"Condition":{
"StringEquals":{
"aws:ResourceTag/user-name":"${aws:username
}"
}
}
}
]
}