Policy per il controllo degli accessi basato su tag - Amazon EMR

Policy per il controllo degli accessi basato su tag

È possibile utilizzare le condizioni nella policy basata su identità per controllare l'accesso ai cluster virtuali e alle esecuzioni di processo basati su tag. Per ulteriori informazioni sul tagging, consultare Assegnazione di tag alle risorse Amazon EMR su EKS.

I seguenti esempi illustrano differenti scenari e i modi per utilizzare gli operatori di condizione con chiavi di condizione Amazon EMR su EKS. Queste dichiarazioni di policy IAM sono concepite unicamente per scopi dimostrativi e non devono essere utilizzate negli ambienti di produzione. Esistono vari modi di combinare dichiarazioni di policy per concedere o negare autorizzazioni in base alle tue esigenze. Per ulteriori informazioni sulla pianificazione e sul test di policy IAM, consulta la Guida per l'utente di IAM.

Importante

Negare esplicitamente l'autorizzazione per operazioni di tagging è importante. Ciò impedisce agli utenti di concedersi personalmente autorizzazioni tramite tag di una risorsa che non avevi intenzione di accordare. Se le operazioni di assegnazione di tag per una risorsa non vengono negate, un utente può modificare i tag e aggirare l'intenzione delle policy basate su tag. Per un esempio di policy che nega le operazioni di tag, consulta Negazione dell'accesso per aggiungere ed eliminare tag.

Gli esempi seguenti mostrano le policy di autorizzazioni basate su identità utilizzate per controllare le operazioni che sono consentite con cluster virtuali Amazon EMR su EKS.

Autorizzazione di operazioni solo su risorse con specifici valori di tag

Nell'esempio di policy seguente, l'operatore di condizione StringEquals cerca di far corrispondere dev con il valore del tag reparto. Se il tag reparto non è stato aggiunto al cluster virtuale, oppure non contiene il valore dev, la policy non viene applicata e le operazioni non sono consentite da questa policy. Se nessun'altra istruzione di policy consente le operazioni, l'utente può utilizzare solo i cluster virtuali che hanno questo tag con tale valore.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:DescribeVirtualCluster" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "dev" } } } ] }

Puoi anche specificare più valori di tag utilizzando un operatore di condizione. Ad esempio, per consentire le operazioni su cluster virtuali in cui il tag department contiene il valore dev o test, puoi sostituire il blocco di condizione dell'esempio precedente con quanto segue.

"Condition": { "StringEquals": { "aws:ResourceTag/department": ["dev", "test"] } }

Richiesta dell'assegnazione di tag alla creazione di una risorsa

Nell'esempio seguente, il tag deve essere applicato quando si crea il cluster virtuale.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:CreateVirtualCluster" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "dev" } } } ] }

L'istruzione di policy seguente consente a un utente di creare un cluster virtuale solo se il cluster ha un tag department, indipendentemente dal relativo valore.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:CreateVirtualCluster" ], "Resource": "*", "Condition": { "Null": { "aws:RequestTag/department": "false" } } } ] }

Negazione dell'accesso per aggiungere ed eliminare tag

L'effetto di questa policy è negare a un utente l'autorizzazione di aggiungere o rimuovere qualsiasi tag sui cluster virtuali contrassegnati con un tag department contenente il valore dev.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "emr-containers:TagResource", "emr-containers:UntagResource" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/department": "dev" } } } ] }