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à.
Policy di esempio
Gli esempi seguenti mostrano le dichiarazioni politiche che è possibile utilizzare per controllare le autorizzazioni di cui dispongono gli utenti. AWS Batch
Esempi
- Accesso in sola lettura
- Limitazione di utente, immagine, privilegio e ruolo
- Limita l'invio di lavori
- Limita la coda dei lavori
- Nega l'azione quando tutte le condizioni corrispondono alle stringhe
- Nega l'azione quando i tasti condizionali corrispondono alle stringhe
- Usa il tasto batch:ShareIdentifier condizione
Accesso in sola lettura
La seguente politica concede agli utenti le autorizzazioni per utilizzare tutte le azioni AWS Batch API con un nome che inizia con e. Describe
List
A meno che un'altra dichiarazione non conceda loro l'autorizzazione a farlo, gli utenti non sono autorizzati a eseguire alcuna azione sulle risorse. Per impostazione predefinita, viene loro negata l'autorizzazione a utilizzare le azioni API.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:Describe*", "batch:List*" ], "Resource": "*" } ] }
Limitazione all'utente POSIX, all'immagine Docker, al livello di privilegio e al ruolo nell'invio del lavoro
La seguente politica consente a un utente POSIX di gestire il proprio set di definizioni di lavoro limitate.
Utilizzate la prima e la seconda istruzione per registrare e annullare la registrazione di qualsiasi nome di definizione di lavoro il cui nome è preceduto da A_. JobDef
La prima istruzione utilizza inoltre le chiavi di contesto condizionali per impostare restrizioni per utente POSIX, stato con privilegi, valori immagine container nelle containerProperties
di definizione del processo. Per ulteriori informazioni, consulta RegisterJobDefinition nella documentazione di riferimento dell'API AWS Batch. In questo esempio, le definizioni dei processi possono essere registrate solo quando l'utente POSIX è impostato su. nobody
Il flag privilegiato è impostato su. false
Infine, l'immagine viene impostata su myImage
un repository Amazon ECR.
Importante
Docker risolve il user
parametro per quell'utente uid
dall'interno dell'immagine del contenitore. Nella maggior parte dei casi, questo si trova nel /etc/passwd
file all'interno dell'immagine del contenitore. Questa risoluzione dei nomi può essere evitata utilizzando uid
valori diretti sia nella definizione del lavoro che in qualsiasi policy IAM associata. Sia le operazioni AWS Batch API che le chiavi condizionali batch:User
IAM supportano valori numerici.
Utilizza la terza istruzione per limitare solo un ruolo specifico alla definizione di un lavoro.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "arn:aws:batch:
<aws_region>
:<aws_account_id>
:job-definition/JobDefA_*" ], "Condition": { "StringEquals": { "batch:User": [ "nobody" ], "batch:Image": [ "<aws_account_id>
.dkr.ecr.<aws_region>
.amazonaws.com/myImage" ] }, "Bool": { "batch:Privileged": "false" } } }, { "Effect": "Allow", "Action": [ "batch:DeregisterJobDefinition" ], "Resource": [ "arn:aws:batch:<aws_region>
:<aws_account_id>
:job-definition/JobDefA_*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<aws_account_id>
:role/MyBatchJobRole" ] } ] }
Limita al prefisso di definizione del lavoro all'invio del lavoro
Utilizza la seguente politica per inviare lavori a qualsiasi coda di lavoro con qualsiasi nome di definizione di processo che inizi con A. JobDef
Importante
Quando si definisca l'accesso a livello di risorsa per l'invio del processo, è necessario fornire sia la coda processo sia i tipi di risorse di definizione processo.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws:batch:
<aws_region>
:<aws_account_id>
:job-definition/JobDefA_*", "arn:aws:batch:<aws_region>
:<aws_account_id>
:job-queue/*" ] } ] }
Limita alla coda dei lavori
Utilizza la seguente politica per inviare i lavori a una coda di lavori specifica denominata queue1 con qualsiasi nome di definizione del processo.
Importante
Quando si definisca l'accesso a livello di risorsa per l'invio del processo, è necessario fornire sia la coda processo sia i tipi di risorse di definizione processo.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws:batch:
<aws_region>
:<aws_account_id>
:job-definition/*", "arn:aws:batch:<aws_region>
:<aws_account_id>
:job-queue/queue1" ] } ] }
Nega l'azione quando tutte le condizioni corrispondono alle stringhe
La seguente politica nega l'accesso al funzionamento dell'RegisterJobDefinitionAPI quando sia la chiave di condizione
AWS Batch valuta le chiavi delle condizioni su ogni contenitore. Quando un lavoro si estende su più contenitori, ad esempio un processo parallelo a più nodi, è possibile che i contenitori abbiano configurazioni diverse. Se più chiavi di condizione vengono valutate in un'unica istruzione, vengono combinate utilizzando la logica. batch:Image
(ID dell'immagine del contenitore) è "string1
" sia la chiave di condizione batch:LogDriver
(container log driver) è "string2».AND
Pertanto, se una delle più chiavi di condizione non corrisponde a un contenitore, l'Deny
effetto non viene applicato a quel contenitore. Piuttosto, un contenitore diverso nello stesso lavoro potrebbe essere negato.
Per l'elenco delle chiavi di condizione perAWS Batch, vedi Condition keys for AWS Batch nel Service Authorization Reference. Ad eccezione dibatch:ShareIdentifier
, tutte le chiavi di batch
condizione possono essere utilizzate in questo modo. La chiave di batch:ShareIdentifier
condizione è definita per un lavoro, non per una definizione di processo.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": "batch:RegisterJobDefinition", "Resource": "*", "Condition": { "StringEquals": { "batch:Image": "
string1
", "batch:LogDriver": "string2
" } } } ] }
Nega l'azione quando i tasti condizionali corrispondono alle stringhe
La seguente politica nega l'accesso al funzionamento dell'RegisterJobDefinitionAPI quando la chiave di condizione
Quando un lavoro si estende su più contenitori, ad esempio un processo parallelo a più nodi, è possibile che i contenitori abbiano configurazioni diverse. Se più chiavi di condizione vengono valutate in un'unica istruzione, vengono combinate utilizzando la logica. batch:Image
(ID dell'immagine del contenitore) è "string1
" o la chiave di condizione batch:LogDriver
(container log driver) è "string2».AND
Pertanto, se una delle più chiavi di condizione non corrisponde a un contenitore, l'Deny
effetto non viene applicato a quel contenitore. Piuttosto, un contenitore diverso nello stesso lavoro potrebbe essere negato.
Per l'elenco delle chiavi di condizione perAWS Batch, vedi Condition keys for AWS Batch nel Service Authorization Reference. Ad eccezione dibatch:ShareIdentifier
, tutte le chiavi di batch
condizione possono essere utilizzate in questo modo. (La chiave di batch:ShareIdentifier
condizione è definita per un lavoro, non per una definizione di processo.)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "batch:Image": [ "
string1
" ] } } }, { "Effect": "Deny", "Action": [ "batch:RegisterJobDefinition" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "batch:LogDriver": [ "string2
" ] } } } ] }
Usa la chiave batch:ShareIdentifier
condizionale
Utilizza la seguente politica per inviare i lavori che utilizzano la definizione del jobDefA
processo alla coda dei jobqueue1
lavori con l'identificatore di lowCpu
condivisione.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": [ "arn:aws::batch:
<aws_region>
:<aws_account_id>
:job-definition/JobDefA", "arn:aws::batch:<aws_region>
:<aws_account_id>
:job-queue/jobqueue1" ], "Condition": { "StringEquals": { "batch:ShareIdentifier": [ "lowCpu" ] } } } ] }