Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Configurazione delle autorizzazioni IAM - 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à.

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

Configurazione delle autorizzazioni IAM

Amazon Redshift fornisce la policy gestita AmazonRedshiftDataFullAccess. Questa policy fornisce accesso completo alle operazioni API dati di Amazon Redshift. Questa policy consente inoltre l'accesso mirato a specifiche operazioni di Amazon Redshift AWS Secrets Manager e API IAM necessarie per autenticare e accedere a un cluster Amazon Redshift o a un gruppo di lavoro Serverless Redshift.

È possibile anche creare una policy IAM personalizzata che consente l'accesso a risorse specifiche. Per creare la policy, utilizzare la policy AmazonRedshiftDataFullAccess come modello di partenza. Dopo aver creato la policy, aggiungerla a ciascun utente che richiede l'accesso all'API dati.

Considera i seguenti requisiti della policy IAM associata all'utente:

  • Se la utilizzi AWS Secrets Manager per l'autenticazione, conferma che la policy consenta l'utilizzo dell'secretsmanager:GetSecretValueazione per recuperare il segreto etichettato con la chiave. RedshiftDataFullAccess

  • Se per l'autenticazione in un cluster vengono utilizzate credenziali temporanee, confermare che la policy consente l'uso dell'operazione redshift:GetClusterCredentials al nome utente del database redshift_data_api_user per qualsiasi database nel cluster. Questo nome utente deve essere già stato creato nel database.

  • Se utilizzi credenziali temporanee per eseguire l'autenticazione in un gruppo di lavoro serverless, verifica che la policy consenta l'uso dell'operazione redshift-serverless:GetCredentials per richiamare il gruppo di lavoro taggato con la chiave RedshiftDataFullAccess. L'utente del database viene mappato 1:1 all'identità di origine AWS Identity and Access Management (IAM). Ad esempio, l'utente sample_user è mappato all'utente del database IAM:sample_user e il ruolo IAM sample_role è mappato a IAMR:sample_role. Per ulteriori informazioni sulle diverse identità IAM, consulta Identità IAM (utenti, gruppi di utenti e ruoli) nella Guida per l'utente IAM.

  • L'azione IAM redshift-data:GetStatementResult consente l'accesso a entrambe le operazioni GetStatementResult e all'GetStatementResultV2API.

I seguenti collegamenti forniscono ulteriori informazioni sulla AWS Identity and Access Management IAM User Guide.

Esegui una query su un cluster di proprietà di un altro account

Per eseguire una query su un cluster di proprietà di un altro account, l'account proprietario deve fornire un ruolo IAM che l'API dati può assumere nell'account chiamante. Si supponga, ad esempio, che l'Account B sia proprietario di un cluster a cui l'Account A deve accedere. L'account B può allegare la policy AWS gestita AmazonRedshiftDataFullAccess al ruolo IAM dell'account B. Quindi l'Account B considera attendibile l'Account A utilizzando una policy di attendibilità come la seguente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::accountID-of-account-A:role/someRoleA" ] }, "Action": "sts:AssumeRole" } ] }

Infine, il ruolo IAM dell'Account A deve essere in grado di assumere il ruolo IAM dell'Account B.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::accountID-of-account-B:role/someRoleB" } }

Specificare un ruolo IAM che limiti le risorse ai gruppi di lavoro Serverless Redshift e ai cluster Amazon Redshift in un Account AWS

Puoi specificare la risorsa ARNs nella tua policy basata sull'identità per controllare l'accesso ai gruppi di lavoro Serverless Redshift e ai cluster Amazon Redshift in un unico. Account AWS Questo esempio mostra come è possibile creare una policy che consenta l'accesso all'API Data solo per il gruppo di lavoro e i cluster nell'area specificata. Account AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult", "redshift-data:ListStatements" ], "Resource": "*" }, { "Effect": "Allow", "Action": "redshift-data:*", "Resource": [ "arn:arn-partition:redshift-serverless:*:Account AWS:workgroup/*", "arn:arn-partition:redshift:*:Account AWS:cluster:*" ] } ] }

Configura una policy IAM che limiti l'accesso alle informazioni delle istruzioni SQL solo al proprietario dell'istruzione

Per impostazione predefinita, Amazon Redshift Data API considera il ruolo IAM utilizzato durante la chiamata ExecuteStatement e BatchExecuteStatement come proprietario dell'istruzione SQL. Chiunque sia autorizzato ad assumere il ruolo è in grado di accedere alle informazioni sull'istruzione SQL, compresi i relativi risultati. Per limitare l'accesso alle informazioni sull'istruzione SQL a una sessione di ruolo IAM con un particolare proprietario, aggiungi una condizioneredshift-data:statement-owner-iam-userid: "${aws:userid}". La seguente politica IAM limita l'accesso.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult", "redshift-data:ListStatements" ], "Resource": "*", "Condition": { "StringEquals": { "redshift-data:statement-owner-iam-userid": "${aws:userid}" } } } ] }

Puoi usare la condizione statement-owner-iam-userid conCancelStatement, DescribeStatementGetStatementResult, eListStatements. Per ulteriori informazioni, consulta Actions defined by Amazon Redshift Data API.

Configura una policy IAM che limiti l'accesso ai risultati SQL solo al proprietario della sessione

Per impostazione predefinita, Amazon Redshift Data API considera il ruolo IAM utilizzato durante la chiamata ExecuteStatement e BatchExecuteStatement come proprietario della sessione del database che esegue l'istruzione SQL. Chiunque sia autorizzato ad assumere il ruolo è in grado di inviare domande alla sessione del database. Per limitare l'accesso alla sessione a una sessione di ruolo IAM con un particolare proprietario, aggiungi una condizione redshift-data:session-owner-iam-userid: "${aws:userid}". La seguente politica IAM limita l'accesso.

La seguente policy IAM consente solo al proprietario della sessione di ottenere i risultati delle istruzioni. La condizione session-owner-iam-userid viene utilizzata per limitare l'accesso alle risorse al valore specificatouserid.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:ExecuteStatement", "redshift-data:BatchExecuteStatement" ], "Resource": "*", "Condition": { "StringEquals": { "redshift-data:session-owner-iam-userid": "${aws:userid}" } } } ] }

È possibile utilizzare la condizione session-owner-iam-userid con ExecuteStatement eBatchExecuteStatement. Per ulteriori informazioni, consulta Actions defined by Amazon Redshift Data API.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.