Utilizzo di policy basate su identità (policy IAM) per Amazon ElastiCache - Amazon ElastiCache

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 di policy basate su identità (policy IAM) per Amazon ElastiCache

In questo argomento vengono forniti esempi di policy basate su identità in cui un amministratore account può collegare policy di autorizzazione a identità IAM, ovvero utenti, gruppi e ruoli.

Importante

In primo luogo, è consigliabile leggere gli argomenti in cui vengono spiegati i concetti di base e le opzioni per gestire l'accesso alle risorse di Amazon ElastiCache. Per ulteriori informazioni, consulta Panoramica della gestione delle autorizzazioni di accesso alle risorse di ElastiCache .

In questa sezione vengono trattati gli argomenti seguenti:

Di seguito viene illustrato un esempio di policy di autorizzazione.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "elasticache:CreateServerlessCache", "elasticache:CreateCacheCluster", "elasticache:DescribeServerlessCaches", "elasticache:DescribeCacheClusters", "elasticache:ModifyServerlessCache", "elasticache:ModifyCacheCluster" ], "Resource": "*" }, { "Sid": "AllowUserToPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster" } ] }

La policy include due dichiarazioni:

  • La prima istruzione assegna le autorizzazioni per le operazioni di Amazon ElastiCache (elasticache:Create*, elasticache:Describe*, elasticache:Modify*)

  • La seconda istruzione concede le autorizzazioni per l'operazione IAM (iam:PassRole) sul nome del ruolo IAM specificato alla fine del valore Resource.

La policy non specifica l'elemento Principal poiché in una policy basata su identità l'entità che ottiene l'autorizzazione non viene specificata. Quando si collega una policy a un utente, quest'ultimo è l'entità implicita. Quando colleghi una policy di autorizzazioni a un ruolo IAM, il principale identificato nella policy di attendibilità del ruolo ottiene le autorizzazioni.

Per una tabella che mostra tutte le operazioni API di Amazon ElastiCache e le risorse a cui si applicano, consulta ElastiCache Autorizzazioni API: riferimento ad azioni, risorse e condizioni.

Esempi di policy gestite dal cliente

Se non si utilizza una policy predefinita e si sceglie di utilizzare una policy gestita in modo personalizzato, assicurarsi di trovarsi in una delle due seguenti situazioni. O si dispone delle autorizzazioni per richiamare iam:createServiceLinkedRole (Per ulteriori informazioni, consultaEsempio 4: assegnazione a un utente dell'autorizzazione a chiamare l'API IAM CreateServiceLinkedRole). Oppure è stato creato un ruolo di ElastiCache legato al servizio.

Se combinate con le autorizzazioni minime necessarie per utilizzare la console di Amazon ElastiCache, le policy esemplificative in questa sessione concedono ulteriori autorizzazioni. Tali esempi sono, inoltre, pertinenti alle SDK AWS e alla AWS CLI.

Per istruzioni su come impostare gruppi e utenti IAM, consulta Creazione del primo utente e gruppo di amministratori IAM nella Guida per l'utente di IAM.

Importante

Testa sempre in modo approfondito le Policy IAM prima di avvalertene in fase di produzione. Alcune operazioni di ElastiCache, apparentemente semplici, in realtà possono necessitare di altre operazioni di supporto, quando si utilizza la console di ElastiCache. Ad esempio, elasticache:CreateCacheCluster concede le autorizzazioni necessarie per creare cluster di cache di ElastiCache. Tuttavia, per portare a termine questa operazione, la console di ElastiCache si avvale di una serie di operazioni Describe e List per compilare gli elenchi di console.

Esempio 1: assegnazione a un utente dell'accesso in sola lettura alle risorse ElastiCache

La policy seguente concede le autorizzazioni necessarie per le operazioni di ElastiCache che permettono all'utente di consultare le risorse in elenco. In genere, si collega questo tipo di policy di autorizzazione a un gruppo di gestori.

{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECReadOnly", "Effect":"Allow", "Action": [ "elasticache:Describe*", "elasticache:List*"], "Resource":"*" } ] }

Esempio 2: assegnazione a un utente dell'autorizzazione a eseguire operazioni di amministrazione comuni del sistema ElastiCache

Le attività comuni dell'amministratore di sistema includono la modifica delle risorse. Un amministratore di sistema potrebbe, inoltre, voler reperire informazioni sugli eventi di ElastiCache. La policy seguente concede a un utente le autorizzazioni necessarie per eseguire le operazioni di ElastiCache correlate alle più comuni attività degli amministratori di sistema, già citate. In genere, si collega questo tipo di policy di autorizzazione al gruppo degli amministratori di sistema.

{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowMutations", "Effect":"Allow", "Action":[ "elasticache:Modify*", "elasticache:Describe*", "elasticache:ResetCacheParameterGroup" ], "Resource":"*" } ] }

Esempio 3: assegnazione a un utente dell'accesso a tutte le operazioni dell'API ElastiCache

La policy seguente permette a un utente di accedere a tutte le operazioni di ElastiCache. Consigliamo di concedere questo tipo di policy di autorizzazione solo a un utente amministratore.

{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowAll", "Effect":"Allow", "Action":[ "elasticache:*" ], "Resource":"*" } ] }

Esempio 4: assegnazione a un utente dell'autorizzazione a chiamare l'API IAM CreateServiceLinkedRole

La policy seguente permette a un utente di chiamare l'API IAM CreateServiceLinkedRole . Consigliamo di concedere questo tipo di policy di autorizzazione all'utente che invoca le operazioni mutative di ElastiCache.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"CreateSLRAllows", "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:AWSServiceName":"elasticache.amazonaws.com" } } } ] }