Controllo delle autorizzazioni per le operazioni in batch utilizzando i tag di processo - Amazon Simple Storage Service

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à.

Controllo delle autorizzazioni per le operazioni in batch utilizzando i tag di processo

Per facilitare la gestione dei processi di Operazioni in batch Amazon S3, è possibile aggiungere tag di processo. Con i tag di processo, è possibile controllare l'accesso ai processi di operazioni in batch e imporre che i tag vengano applicati quando viene creato un processo.

È possibile applicare fino a 50 tag di processo a ciascun processo di operazioni in batch. Utilizzando i tag, è possibile impostare policy granulari per limitare l'insieme degli utenti che possono modificare il processo. I tag di lavoro possono favorire o limitare la capacità di un utente di annullare un lavoro, attivare un lavoro in stato di conferma o cambiare il livello di priorità di un lavoro. Inoltre, è possibile applicare i tag a tutti i nuovi lavori e specificare le coppie chiave-valore consentite per i tag. È possibile esprimere tutte queste condizioni utilizzando il linguaggio delle policy AWS Identity and Access Management (IAM). Per ulteriori informazioni, consulta Azioni, risorse e chiavi di condizione per Amazon S3 in Riferimento alle autorizzazioni di servizio.

Per ulteriori informazioni sulle autorizzazioni alle operazioni API S3 per tipi di risorse S3, consulta Autorizzazioni necessarie per le operazioni API di Amazon S3.

Nell'esempio seguente viene illustrato come utilizzare i tag di processo di operazioni in batch S3 per concedere agli utenti l'autorizzazione per la creazione e la modifica solo dei processi eseguiti all'interno di un reparto specifico (ad esempio, il reparto Finanza o Conformità). È inoltre possibile assegnare i lavori in base allo stadio di sviluppo a cui sono correlati, ad esempio QA o Produzione.

In questo esempio, si utilizzano i tag dei processi di Operazioni in batch S3 nelle policy IAM per concedere agli utenti l'autorizzazione a creare e modificare solo i processi eseguiti nel loro reparto. Assegnare i lavori in base alla fase di sviluppo a cui sono correlati, ad esempio QA o Produzione.

Gli esempi che seguono utilizzano i seguenti reparti, ognuno dei quali utilizza Operazioni in batch in modo diverso:

  • Finanza

  • Conformità

  • Business Intelligence

  • Engineering (Progettazione)

Controllo degli accessi mediante l'assegnazione di tag a utenti e risorse

In questo scenario, gli amministratori utilizzano il controllo di accesso basato su attributi (ABAC). ABAC è una strategia di autorizzazione IAM che definisce le autorizzazioni allegando tag agli utenti e alle risorse. AWS

Agli utenti e ai lavori viene assegnato uno dei seguenti tag reparto:

Chiave: Valore)
  • department : Finance

  • department : Compliance

  • department : BusinessIntelligence

  • department : Engineering

    Nota

    I valori e le chiavi dei tag rispettano la distinzione tra maiuscole e minuscole.

Utilizzando la strategia di controllo degli accessi ABAC, concedi a un utente del reparto Finanza l'autorizzazione per la creazione e la gestione dei processi di operazioni in batch Amazon S3 all'interno del proprio reparto associando il tag department=Finance al relativo utente.

Inoltre, è possibile collegare una policy gestita all'utente IAM che consente a qualsiasi utente della propria azienda di creare o modificare processi di operazioni in batch Amazon S3 all'interno dei rispettivi reparti.

La policy riportata in questo esempio include tre dichiarazioni di policy:

  • La prima istruzione della policy consente all'utente di creare un processo di operazioni in batch a condizione che la richiesta di creazione del processo includa un tag di processo corrispondente al rispettivo reparto. Si esprime utilizzando la sintassi "${aws:PrincipalTag/department}", che viene sostituita dal tag reparto dell'utente al momento della valutazione delle policy. La condizione è soddisfatta quando il valore fornito per il tag reparto nella richiesta ("aws:RequestTag/department") corrisponde al reparto dell'utente.

  • La seconda istruzione della policy consente agli utenti di modificare la priorità dei lavori o di aggiornare lo stato di un lavoro a condizione che il lavoro che l'utente sta aggiornando corrisponda al reparto dell'utente.

  • La terza istruzione consente a un utente di aggiornare i tag di un processo di operazioni in batch in qualsiasi momento tramite una richiesta PutJobTagging, purché (1) il tag del reparto sia conservato e (2) il processo che sta aggiornando sia all'interno del reparto.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateJob", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": [ "s3:UpdateJobPriority", "s3:UpdateJobStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": "s3:PutJobTagging", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}", "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } } ] }

Tagging dei processi di operazioni in batch per fase e applicazione dei limiti sulla priorità del processo

Tutti i processi di operazioni in batch Amazon S3 hanno una priorità numerica, che Amazon S3 utilizza per decidere in quale ordine eseguire i processi. In questo esempio, si limita la priorità massima che la maggior parte degli utenti può assegnare ai lavori, con intervalli di priorità più elevati riservati a un gruppo limitato di utenti con privilegi, come segue:

  • Intervallo di priorità dello stadio QA (basso): 1-100

  • Intervallo di priorità della fase di produzione (alto): 1-300

Per fare ciò, introdurre un nuovo set di tag che rappresenta la fase del lavoro:

Chiave: Valore)
  • stage : QA

  • stage : Production

Creazione e aggiornamento di lavori con priorità bassa all'interno di un reparto

Questa policy introduce due nuove restrizioni per la creazione e l'aggiornamento di processi di operazioni in batch S3, oltre alla restrizione basata sul reparto:

  • Consente agli utenti di creare o aggiornare lavori nel proprio reparto con una nuova condizione che richiede che il lavoro includa il tag stage=QA.

  • Consente agli utenti di creare o aggiornare la priorità di un lavoro fino a una nuova priorità massima di 100.

{         "Version": "2012-10-17",         "Statement": [         {         "Effect": "Allow",         "Action": "s3:CreateJob",         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:RequestTag/department": "${aws:PrincipalTag/department}",                 "aws:RequestTag/stage": "QA"             },             "NumericLessThanEquals": {                 "s3:RequestJobPriority": 100             }         }     },     {         "Effect": "Allow",         "Action": [             "s3:UpdateJobStatus"         ],         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:ResourceTag/department": "${aws:PrincipalTag/department}"             }         }     },     {         "Effect": "Allow",         "Action": "s3:UpdateJobPriority",         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:ResourceTag/department": "${aws:PrincipalTag/department}",                 "aws:ResourceTag/stage": "QA"             },             "NumericLessThanEquals": {                 "s3:RequestJobPriority": 100             }         }     },     {         "Effect": "Allow",         "Action": "s3:PutJobTagging",         "Resource": "*",         "Condition": {             "StringEquals": {                 "aws:RequestTag/department" : "${aws:PrincipalTag/department}",                 "aws:ResourceTag/department": "${aws:PrincipalTag/department}",                 "aws:RequestTag/stage": "QA",                 "aws:ResourceTag/stage": "QA"             }         }     },     {         "Effect": "Allow",         "Action": "s3:GetJobTagging",         "Resource": "*"     }     ] }

Creazione e aggiornamento di lavori ad alta priorità all'interno di un reparto

Un numero ristretto di utenti potrebbe richiedere la possibilità di creare lavori con priorità elevata in QA o Produzione. Per supportare questa esigenza, è possibile creare una policy gestita adattata alla policy con priorità bassa nella sezione precedente.

Questa policy esegue le seguenti operazioni:

  • Consente agli utenti di creare o aggiornare lavori nel proprio reparto con il tag stage=QA o stage=Production.

  • Consente agli utenti di creare o aggiornare la priorità di un lavoro fino a un massimo di 300.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:CreateJob", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:RequestTag/stage": [ "QA", "Production" ] }, "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 300 } } }, { "Effect": "Allow", "Action": [ "s3:UpdateJobStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" } } }, { "Effect": "Allow", "Action": "s3:UpdateJobPriority", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/stage": [ "QA", "Production" ] }, "StringEquals": { "aws:ResourceTag/department": "${aws:PrincipalTag/department}" }, "NumericLessThanEquals": { "s3:RequestJobPriority": 300 } } }, { "Effect": "Allow", "Action": "s3:PutJobTagging", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "${aws:PrincipalTag/department}", "aws:ResourceTag/department": "${aws:PrincipalTag/department}" }, "ForAnyValue:StringEquals": { "aws:RequestTag/stage": [ "QA", "Production" ], "aws:ResourceTag/stage": [ "QA", "Production" ] } } } ] }