Utilizzo dei tag per controllare l'accesso alle risorse CodeArtifact - CodeArtifact

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

Utilizzo dei tag per controllare l'accesso alle risorse CodeArtifact

Le condizioni nelle istruzioni di policy utente IAM fanno parte della sintassi utilizzata per specificare le autorizzazioni per le risorse richieste alle risorse richieste dalle CodeArtifact operazioni. L'utilizzo di tag nelle condizioni è un modo per controllare l'accesso alle risorse e alle richieste. Per informazioni sul tagging delle risorse CodeArtifact, consulta Assegnazione di tag alle risorse. In questo argomento viene illustrato il controllo degli accessi basato su tag.

Durante la progettazione di policy IAM, potrebbe essere necessario impostare autorizzazioni granulari concedendo l'accesso a risorse specifiche. Poiché il numero di risorse che puoi gestire cresce, questa operazione diventa più difficile. Il tagging delle risorse e l'utilizzo di tag in condizioni di dichiarazione di policy possono semplificare questa attività. Puoi concedere l'accesso in blocco a qualsiasi risorsa con un determinato tag. Quindi applicare ripetutamente questo tag a risorse pertinenti, durante la creazione o in seguito.

I tag possono essere collegati alla risorsa o trasferiti nella richiesta verso servizi che supportano il tagging. In CodeArtifact, le risorse possono avere tag e alcune operazioni possono includere tag. Quando si crea una policy IAM, è possibile utilizzare le chiavi di condizione di tag per controllare:

  • Quali gli utenti possono eseguire operazioni su una risorsa di dominio o repository in base ai tag di cui dispongono già.

  • Quali tag possono essere passati in una richiesta di operazione.

  • Se delle chiavi di tag specifiche possono essere utilizzate in una richiesta.

Per la sintassi completa e la semantica delle chiavi di condizione di tag, consulta Controllo degli accessi tramite tag nella Guida per l’utente di IAM.

Importante

Quando si utilizzano i tag sulle risorse per limitare le azioni, i tag devono trovarsi sulla risorsa su cui opera l'azione. Ad esempio, per negare DescribeRepository le autorizzazioni con i tag, i tag devono trovarsi in ogni repository e non nel dominio. Consulta AWS CodeArtifact riferimento alle autorizzazioni l'elenco delle azioni in cui operano CodeArtifact e delle risorse su cui operano.

Esempi di controllo degli accessi basato su tag

I seguenti esempi mostrano come specificare le condizioni dei tag nelle policy per gli utenti CodeArtifact.

Esempio 1: Limitare le operazioni in base ai tag nella richiesta

La policy utente gestita AWSCodeArtifactAdminAccess fornisce agli utenti autorizzazioni illimitate per eseguire qualsiasi operazione CodeArtifact su qualsiasi risorsa.

La policy seguente limita questa capacità e nega agli utenti non autorizzati l'autorizzazione a creare archivi a meno che la richiesta non contenga determinati tag. A questo scopo, nega l'CreateRepositoryoperazione se nella richiesta non è specificato un tag denominato costcenter con uno dei valori 1 o2. L'amministratore di un cliente deve collegare questa policy IAM a utenti IAM non autorizzati oltre alla policy gestita dall'utente.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "codeartifact:CreateRepository", "Resource": "*", "Condition": { "Null": { "aws:RequestTag/costcenter": "true" } } }, { "Effect": "Deny", "Action": "codeartifact:CreateRepository", "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "aws:RequestTag/costcenter": [ "1", "2" ] } } } ] }
Esempio 2: Limitare le operazioni in base ai tag delle risorse

La policy utente gestita AWSCodeArtifactAdminAccess fornisce agli utenti autorizzazioni illimitate per eseguire qualsiasi operazione CodeArtifact su qualsiasi risorsa.

La policy seguente limita questa capacità e nega agli utenti non autorizzati l'autorizzazione a eseguire operazioni sugli archivi in domini specifici. A tale scopo, rifiuta alcune operazioni se la risorsa ha un tag denominato Key1 con uno dei valori Value1 o Value2. La chiave di condizione aws:ResourceTag viene utilizzata per controllare l'accesso alle risorse in base ai tag su tali risorse. L'amministratore di un cliente deve collegare questa policy IAM a utenti IAM non autorizzati oltre alla policy gestita dall'utente.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codeartifact:TagResource", "codeartifact:UntagResource", "codeartifact:DescribeDomain", "codeartifact:DescribeRepository", "codeartifact:PutDomainPermissionsPolicy", "codeartifact:PutRepositoryPermissionsPolicy", "codeartifact:ListRepositoriesInDomain", "codeartifact:UpdateRepository", "codeartifact:ReadFromRepository", "codeartifact:ListPackages", "codeartifact:ListTagsForResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Key1": ["Value1", "Value2"] } } } ] }
Esempio 3: Consentire operazioni in base ai tag delle risorse

La policy seguente concede agli utenti l'autorizzazione per eseguire operazioni e ottenere informazioni sugli archivi e i pacchetti in cui sono necessari. CodeArtifact

A questo scopo, consente operazioni specifiche se il repository dispone di un tag denominato Key1 con il valore. Value1 La chiave di condizione aws:RequestTag viene utilizzata per controllare quali tag possono essere passati in una richiesta IAM. La condizione aws:TagKeys garantisce che la chiave tag rileva la distinzione tra maiuscole e minuscole. Questa policy è utile per gli utenti IAM che non dispongono della policy gestita dall'utente AWSCodeArtifactAdminAccess collegata. La policy gestita fornisce agli utenti autorizzazioni illimitate per eseguire qualsiasi operazione CodeArtifact su qualsiasi risorsa.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:UpdateRepository", "codeartifact:DeleteRepository", "codeartifact:ListPackages" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Key1": "Value1" } } } ] }
Esempio 4: Consentire operazioni in base ai tag nella richiesta

La policy seguente concede agli utenti l'autorizzazione per creare archivi in domini specifici in. CodeArtifact

A tale scopo, consente le TagResource azioni CreateRepository and se l'API di creazione delle risorse nella richiesta specifica un tag denominato Key1 con il valoreValue1. La chiave di condizione aws:RequestTag viene utilizzata per controllare quali tag possono essere passati in una richiesta IAM. La condizione aws:TagKeys garantisce che la chiave tag rileva la distinzione tra maiuscole e minuscole. Questa policy è utile per gli utenti IAM che non dispongono della policy gestita dall'utente AWSCodeArtifactAdminAccess collegata. La policy gestita fornisce agli utenti autorizzazioni illimitate per eseguire qualsiasi operazione CodeArtifact su qualsiasi risorsa.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:CreateRepository", "codeartifact:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/Key1": "Value1" } } } ] }