Panoramica della gestione delle autorizzazioni di accesso alle risorse di Amazon Redshift - Amazon Redshift

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

Panoramica della gestione delle autorizzazioni di accesso alle risorse di Amazon Redshift

Ogni AWS risorsa è di proprietà di un AWS account e le autorizzazioni per creare o accedere alle risorse sono regolate da politiche di autorizzazione. Un amministratore di account può allegare politiche di autorizzazione alle identità IAM (ovvero utenti, gruppi e ruoli) e alcuni servizi (come AWS Lambda) supportano anche l'associazione di politiche di autorizzazione alle risorse.

Nota

Un amministratore account (o un utente amministratore) è un utente con privilegi di amministratore. Per ulteriori informazioni, consultare la sezione best practice IAM nella Guida per l'utente IAM.

Nel concedere le autorizzazioni, devi stabilire chi ottiene le autorizzazioni, per quali risorse concedere le autorizzazioni e le operazioni specifiche che vuoi permettere su tali risorse.

Risorse e operazioni di Amazon Redshift

Amazon Redshift fornisce operazioni e chiavi di contesto della condizione specifiche del servizio per l'utilizzo in policy delle autorizzazioni IAM.

Autorizzazioni di accesso per Amazon Redshift, Amazon Redshift Serverless, l'API dati di Amazon Redshift e l'Editor di query Amazon Redshift v2

Quando si configura Controllo accessi, si scrivono policy di autorizzazione che è possibile collegare a un'identità IAM (policy basate sull'identità). Per ulteriori informazioni, consultare gli argomenti seguenti nella Referenza sull'autorizzazione del servizio:

La Guida di riferimento per l'autorizzazione al servizio contiene informazioni su quali operazioni API possono essere utilizzate in una policy IAM. Include anche la AWS risorsa per la quale puoi concedere le autorizzazioni e le chiavi di condizione che puoi includere per un controllo granulare degli accessi. Per ulteriori informazioni sulle condizioni, consulta Utilizzo di condizioni di policy IAM per il controllo granulare degli accessi.

Le operazioni, il valore della risorsa e le condizioni vengono specificati rispettivamente nei campi Action, Resource e Condition della policy. Per specificare un'operazione per Amazon Redshift, utilizza il prefisso redshift: seguito dal nome dell'operazione API (ad esempio, redshift:CreateCluster).

Informazioni sulla proprietà delle risorse

Il proprietario della risorsa è l' AWS account che ha creato una risorsa. Cioè, il proprietario della risorsa è l' AWS account dell'entità principale (l'account root, un utente IAM o un ruolo IAM) che autentica la richiesta che crea la risorsa. Negli esempi seguenti viene illustrato il funzionamento:

  • Se utilizzi le credenziali dell'account root del tuo AWS account per creare un cluster DB, l' AWS account è il proprietario della risorsa Amazon Redshift.

  • Se crei un ruolo IAM nel tuo AWS account con le autorizzazioni per creare risorse Amazon Redshift, chiunque possa assumere il ruolo può creare risorse Amazon Redshift. L'account AWS a cui appartiene il ruolo è il proprietario delle risorse Amazon Redshift.

  • Se crei un utente IAM nel tuo AWS account e concedi le autorizzazioni per creare risorse Amazon Redshift a quell'utente, l'utente può creare risorse Amazon Redshift. Tuttavia, il tuo AWS account, a cui appartiene l'utente, possiede le risorse di Amazon Redshift. Nella maggior parte dei casi questo metodo non è consigliato. Ti suggeriamo di creare un ruolo IAM, collegare le autorizzazioni al ruolo e quindi assegnare il ruolo a un utente.

Gestione dell'accesso alle risorse

Una policy di autorizzazioni descrive chi ha accesso a cosa. Nella sezione seguente vengono descritte le opzioni disponibili per la creazione di policy relative alle autorizzazioni.

Nota

In questa sezione viene descritto IAM nel contesto di Amazon Redshift. Non vengono fornite informazioni dettagliate sul servizio IAM. Per la documentazione di IAM completa, consulta la pagina Che cos'è IAM? nella Guida per l'utente di IAM. Per informazioni sulla sintassi delle policy IAM e le rispettive descrizioni, consultare Riferimento alle policy IAM di AWS nella Guida per l'utente di IAM.

Le policy collegate a un'identità IAM vengono definite policy basate su identità (policy IAM), mentre quelle collegate a una risorsa vengono definite policy basate su risorse. Amazon Redshift supporta solo policy basate su identità (policy IAM).

Policy basate su identità (policy IAM)

Puoi assegnare le autorizzazioni collegando le policy a un ruolo IAM e quindi assegnando il ruolo a un utente o un gruppo. Di seguito è riportato un esempio di policy contenente le autorizzazioni per creare, eliminare, modificare e riavviare i cluster Amazon Redshift per il tuo account. AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowManageClusters", "Effect":"Allow", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource":"*" } ] }

Per ulteriori informazioni sull'uso di policy basate su identità con Amazon Redshift, consultare Utilizzo di policy basate su identità (policy IAM) per Amazon Redshift. Per ulteriori informazioni su utenti, gruppi, ruoli e autorizzazioni, consultare Identità (utenti, gruppi e ruoli) nella Guida per l'utente di IAM.

Policy basate su risorse

Anche altri servizi, ad esempio Amazon S3, supportano policy di autorizzazioni basate su risorse. Ad esempio, è possibile associare una policy a un bucket S3 per gestire le autorizzazioni di accesso a quel bucket. Amazon Redshift non supporta le policy basate su risorse. 

Specifica degli elementi delle policy: operazioni, effetti, risorse ed entità

Per ogni risorsa Amazon Redshift (consultare Risorse e operazioni di Amazon Redshift), il servizio definisce un insieme di operazioni API (consultare Operazioni). Per concedere le autorizzazioni per queste operazioni API, Amazon Redshift definisce un set di operazioni che possono essere specificate in una policy. L'esecuzione di un'operazione API può richiedere le autorizzazioni per più di un'operazione.

Di seguito sono elencati gli elementi di base di una policy:

  • Risorsa: in una policy si utilizza il nome della risorsa Amazon (ARN) per identificare la risorsa a cui si applica la policy stessa. Per ulteriori informazioni, consulta Risorse e operazioni di Amazon Redshift.

  • Operazione: utilizzi le parole chiave per identificare le operazioni sulla risorsa da permettere o rifiutare. Ad esempio, l'autorizzazione redshift:DescribeClusters concede all'utente le autorizzazioni per eseguire l'operazione DescribeClusters di Amazon Redshift.

  • Effetto: l'effetto prodotto quando l'utente richiede l'operazione specifica, ovvero un'autorizzazione o un rifiuto. USe non concedi esplicitamente (consenti) l'accesso a una risorsa, l'accesso viene implicitamente rifiutato. Puoi anche rifiutare esplicitamente l'accesso a una risorsa per garantire che un utente non possa accedervi, anche se l'accesso viene concesso da un'altra policy.

  • Principale - Nelle policy basate su identità (policy IAM), l'utente a cui la policy è collegata è il principale implicito. Per policy basate su risorse, specifichi l'utente, l'account, il servizio o un'altra entità che desideri riceva le autorizzazioni (si applica solo alle policy basate su risorse). Amazon Redshift non supporta le policy basate su risorse.

Per ulteriori informazioni sulla sintassi e le descrizioni delle policy IAM, consultare AWS Riferimento alle policy IAM nella Guida per l'utente di IAM.

Per una tabella che mostra tutte le operazioni API Amazon Redshift e le risorse a cui si applicano, consultare Autorizzazioni di accesso per Amazon Redshift, Amazon Redshift Serverless, l'API dati di Amazon Redshift e l'Editor di query Amazon Redshift v2.

Specifica delle condizioni in una policy

Quando concedi le autorizzazioni, puoi utilizzare la sintassi della policy di accesso per specificare le condizioni in base a cui la policy deve essere applicata. Ad esempio, potresti decidere che una policy venga applicata solo dopo una data specifica. Per ulteriori informazioni su come specificare le condizioni nella sintassi della/e policy di accesso, consultare Elementi delle policy JSON IAM: Condizione nella Guida per l'utente di IAM.

Per identificare le condizioni in cui viene applicata una policy di autorizzazioni, includi un elemento Condition nella policy di autorizzazioni IAM. Ad esempio, puoi creare una policy che permette a un utente di creare un cluster tramite l'operazione redshift:CreateCluster e puoi aggiungere un elemento Condition per limitare la creazione del cluster da parte dell'utente a una sola regione specifica. Per informazioni dettagliate, vedi Utilizzo di condizioni di policy IAM per il controllo granulare degli accessi. Per un elenco che mostra tutti i valori delle chiavi di condizione e le operazioni e le risorse di Amazon Redshift a cui si applicano, consultare Autorizzazioni di accesso per Amazon Redshift, Amazon Redshift Serverless, l'API dati di Amazon Redshift e l'Editor di query Amazon Redshift v2.

Utilizzo di condizioni di policy IAM per il controllo granulare degli accessi

In Amazon Redshift puoi usare chiavi di condizione per limitare l'accesso alle risorse in base ai tag per queste risorse. Di seguito sono riportate le chiavi di condizione di Amazon Redshift più comuni.

Chiave di condizione Descrizione

aws:RequestTag

Richiede che gli utenti includano la chiave (nome) e il valore di un tag ogni volta che creano una risorsa. Per ulteriori informazioni, consulta aws: RequestTag nella IAM User Guide.

aws:ResourceTag

Limita l'accesso utente alle risorse in base a chiavi e valori di tag specifici. Per ulteriori informazioni, consulta aws: ResourceTag nella Guida per l'utente IAM.

aws:TagKeys

Utilizzare questa chiave per confrontare le chiavi dei tag in una richiesta con quelle specificate nella policy. Per ulteriori informazioni, consulta aws: TagKeys nella Guida per l'utente IAM.

Per informazioni sui tag, consultare Panoramica del tagging.

Per un elenco di operazioni API che supportano le chiavi di condizione redshift:RequestTag e redshift:ResourceTag, consultare Autorizzazioni di accesso per Amazon Redshift, Amazon Redshift Serverless, l'API dati di Amazon Redshift e l'Editor di query Amazon Redshift v2.

Le seguenti chiavi di condizione possono essere utilizzate con l'azione Amazon Redshift GetClusterCredentials.

Chiave di condizione Descrizione

redshift:DurationSeconds

Limita il numero di secondi che possono essere specificati per la durata.

redshift:DbName

Limita i nomi di database che possono essere specificati.

redshift:DbUser

Limita i nomi degli utenti del database che possono essere specificati.

Esempio 1: limitazione dell'accesso utilizzando la chiave aws: condition ResourceTag

Utilizza la seguente policy IAM per consentire a un utente di modificare un cluster Amazon Redshift solo per un AWS account specifico nella us-west-2 regione con un tag denominato environment con un valore di tag di. test

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowModifyTestCluster", "Effect": "Allow", "Action": "redshift:ModifyCluster", "Resource": "arn:aws:redshift:us-west-2:123456789012:cluster:*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "test" } } } }

Esempio 2: limitazione dell'accesso utilizzando la chiave aws: condition RequestTag

Utilizza la policy IAM seguente per permettere a un utente di creare un cluster Amazon Redshift solo se il comando per creare il cluster include un tag denominato usage con un valore di tag production. La condizione con aws:TagKeys e il modificatore ForAllValues specifica che solo le chiavi costcenter e usage possono essere specificate nella richiesta.

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowCreateProductionCluster", "Effect": "Allow", "Action": [ "redshift:CreateCluster", "redshift:CreateTags" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/usage": "production" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "costcenter", "usage" ] } } } }