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à.
Esecuzione: politica IAM
È possibile specificare una policy IAM di esecuzione, oltre a un ruolo di esecuzione, quando si inviano job run su EMR Serverless. Le autorizzazioni risultanti assunte dall'esecuzione del job sono l'intersezione tra le autorizzazioni nell'Execution Role e la Execution IAM Policy specificata.
Nozioni di base
Passaggi per utilizzare la politica Execution IAM:
Crea un'emr-serverless
applicazione o usane una esistente, quindi esegui la seguente riga di comando aws per avviare un job run con una policy IAM in linea:
aws emr-serverless start-job-run --region us-west-2 \ --application-id
application-id
\ --execution-role-arnexecution-role-arn
\ --job-driverjob-driver-options
\ --execution-iam-policy '{"policy": "inline-policy
"}'
Esempi di comandi CLI
Se abbiamo la seguente politica memorizzata nel policy.json
file sul computer:
Quindi possiamo iniziare un lavoro con questa politica usando il seguente AWS CLI comando:
aws emr-serverless start-job-run --region us-west-2 \ --application-id
application-id
\ --execution-role-arnexecution-role-arn
\ --job-driverjob-driver-options
--execution-iam-policy '{ "policy": '$(jq -c '. | @json' policy.json)' }'
È inoltre possibile utilizzare entrambe AWS le politiche gestite dal cliente, specificandole ARNs tramite:
aws emr-serverless start-job-run --region us-west-2 \ --application-id
application-id
\ --execution-role-arnexecution-role-arn
\ --job-driverjob-driver-options
--execution-iam-policy '{ "policyArns": [ "arn:aws:iam::aws:policy/AmazonS3FullAccess", "arn:aws:iam::aws:policy/CloudWatchLogsFullAccess" ] }'
È possibile specificare sia una policy IAM in linea che una policy gestita ARNs nella stessa richiesta:
aws emr-serverless start-job-run --region us-west-2 \ --application-id
application-id
\ --execution-role-arnexecution-role-arn
\ --job-driverjob-driver-options
--execution-iam-policy '{ "policy": '$(jq -c '. | @json' policy.json)', "policyArns": [ "arn:aws:iam::aws:policy/AmazonS3FullAccess", "arn:aws:iam::aws:policy/CloudWatchLogsFullAccess" ] }'
Note importanti
Il
policy
campoexecution-role-policy
's può avere una lunghezza massima di 2048 caratteri.La stringa di policy IAM in linea specificata nel
policy
campoexecution-iam-policy
's deve essere conforme allo standard delle stringhe json, senza che vengano evitate nuove righe e virgolette come nell'esempio precedente.È ARNs possibile specificare un elenco di un massimo di 10 policy gestite come valore nel campo's.
execution-iam-policy
policyArns
La policy gestita ARNs deve essere un elenco di ARN di policy gestite dal cliente valide AWS o gestite dal cliente. Quando viene specificato un ARN di policy gestita dal cliente, la policy deve appartenere allo stesso AWS account dell'EMR-S. JobRun
Quando vengono utilizzate sia la policy IAM in linea che le policy gestite, il testo in chiaro utilizzato sia per le policy in linea che per quelle gestite combinate non può superare i 2.048 caratteri.
Le autorizzazioni risultanti assunte da sono l'intersezione delle JobRun autorizzazioni nell'Execution Role e nella Execution IAM Policy specificata.
Intersezione delle politiche
Le autorizzazioni risultanti assunte dall'esecuzione del job sono l'intersezione delle autorizzazioni nell'Execution Role e nella Execution IAM Policy specificata. Ciò significa che qualsiasi autorizzazione richiesta dovrà essere specificata in entrambi i luoghi per JobRun funzionare. Tuttavia, è possibile specificare un'ulteriore dichiarazione di autorizzazione generale nella politica in linea per tutte le autorizzazioni che non intendi aggiornare o sovrascrivere.
Esempio
Data la seguente politica di esecuzione del ruolo IAM:
E la seguente politica IAM in linea:
Le autorizzazioni risultanti assunte da JobRun sono: