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 politiche (IAMpolitiche) basate sull'identità per Amazon Redshift
Questo argomento fornisce esempi di politiche basate sull'identità in cui un amministratore di account può associare politiche di autorizzazione alle IAM identità (ovvero utenti, gruppi e ruoli).
Importante
In primo luogo, è consigliabile esaminare gli argomenti introduttivi in cui vengono spiegati i concetti di base e le opzioni disponibili per gestire l'accesso alle risorse di Amazon Redshift. Per ulteriori informazioni, consulta Panoramica della gestione delle autorizzazioni di accesso alle risorse di Amazon Redshift.
Di seguito viene illustrato un esempio di policy di autorizzazione. La politica consente a un utente di creare, eliminare, modificare e riavviare tutti i cluster, quindi nega l'autorizzazione a eliminare o modificare tutti i cluster in cui l'identificatore del cluster inizia con and. production
Regione AWS us-west-2
Account AWS
123456789012
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowClusterManagement", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"DenyDeleteModifyProtected", "Action": [ "redshift:DeleteCluster", "redshift:ModifyCluster" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:cluster:production*" ], "Effect": "Deny" } ] }
La policy include due dichiarazioni:
-
La prima istruzione concede le autorizzazioni a un utente per la creazione, l'eliminazione, la modifica e il riavvio di cluster. L'istruzione specifica un carattere jolly (*) come
Resource
valore in modo che la policy si applichi a tutte le risorse Amazon Redshift di proprietà dell'account root. AWS -
La seconda istruzione nega l'autorizzazione per l'eliminazione o la modifica di un cluster. L'istruzione specifica un cluster Amazon Resource Name (ARN) per il
Resource
valore che include un carattere jolly (*). Di conseguenza, questa dichiarazione si applica a tutti i cluster Amazon Redshift di proprietà dell' AWS account root da cui inizia l'identificatore del cluster.production
AWS politiche gestite per Amazon Redshift
AWS affronta molti casi d'uso comuni fornendo IAM politiche autonome create e amministrate da. AWS Le policy gestite concedono le autorizzazioni necessarie per i casi di utilizzo comune in modo da non dover cercare quali sono le autorizzazioni richieste. Per ulteriori informazioni, consulta le politiche AWS gestite nella Guida per l'IAMutente.
Puoi anche creare IAM policy personalizzate per consentire le autorizzazioni per le operazioni e le risorse di Amazon API Redshift. Puoi allegare queste politiche personalizzate ai IAM ruoli o ai gruppi che richiedono tali autorizzazioni.
Le seguenti sezioni descrivono le politiche AWS gestite, che puoi allegare agli utenti del tuo account e sono specifiche per Amazon Redshift.
AmazonRedshiftReadOnlyAccess
Garantisce l'accesso in sola lettura a tutte le risorse Amazon Redshift per un account. AWS
Puoi trovare la AmazonRedshiftReadOnlyAccess
AmazonRedshiftFullAccess
Garantisce l'accesso completo a tutte le risorse Amazon Redshift per AWS un account. Inoltre, questa policy consente l'accesso completo a tutte le risorse di Amazon Redshift Serverless.
Puoi trovare la AmazonRedshiftFullAccess
AmazonRedshiftQueryEditor
Concede l'accesso completo all'editor di query nella console Amazon Redshift.
È possibile trovare la AmazonRedshiftQueryEditor
AmazonRedshiftDataFullAccess
Garantisce l'accesso completo alle operazioni e alle risorse di Amazon Redshift API Data per AWS un account.
Puoi trovare la AmazonRedshiftDataFullAccess
AmazonRedshiftQueryEditorV2 FullAccess
Consente l'accesso completo alle operazioni e alle risorse dell'editor di query v2 di Amazon Redshift. Questa policy inoltre garantisce l'accesso ad altri servizi richiesti.
È possibile trovare la FullAccess policy AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2 NoSharing
Concede la possibilità di lavorare con l'editor di query v2 di Amazon Redshift senza condividere le risorse. Questa policy inoltre garantisce l'accesso ad altri servizi richiesti. Il principale che utilizza questa policy non può taggare le sue risorse (ad esempio le query) per condividerle con altre entità nello stesso Account AWS.
È possibile trovare la NoSharing policy AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2 ReadSharing
Concede la possibilità di lavorare con l'editor di query v2 di Amazon Redshift con una condivisione limitata di risorse. Questa policy inoltre garantisce l'accesso ad altri servizi richiesti. Il principale che utilizza questa policy può taggare le sue risorse (come le query) per condividerle con altri principali nello stesso Account AWS. Il principale concesso può leggere le risorse condivise con il suo team ma non può aggiornarle.
È possibile trovare la ReadSharing policy AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2 ReadWriteSharing
Concede la possibilità di lavorare con l'editor di query v2 di Amazon Redshift condividendo le risorse. Questa policy inoltre garantisce l'accesso ad altri servizi richiesti. Il principale che utilizza questa policy può taggare le sue risorse (come le query) per condividerle con altri principali nello stesso Account AWS. Il principale concesso può leggere e aggiornare le risorse condivise con il suo team.
È possibile trovare la ReadWriteSharing policy AmazonRedshiftQueryEditorV2
AmazonRedshiftServiceLinkedRolePolicy
Non puoi collegarti AmazonRedshiftServiceLinkedRolePolicy alle tue IAM entità. Questa policy è allegata a un ruolo collegato al servizio che consente ad Amazon Redshift di accedere alle risorse dell'account. Per ulteriori informazioni, consultare Utilizzo di ruoli collegati ai servizi per Amazon Redshift.
Puoi trovare la AmazonRedshiftServiceLinkedRolePolicy
AmazonRedshiftAllCommandsFullAccess
Garantisce la possibilità di utilizzare il IAM ruolo creato dalla console Amazon Redshift e di impostarlo come predefinito per l'esecuzione COPY da parte del cluster da Amazon S3UNLOAD,, CREATE EXTERNALSCHEMA, CREATE EXTERNAL FUNCTION e comandi. CREATE MODEL La policy concede anche le autorizzazioni per eseguire SELECT dichiarazioni per servizi correlati, come Amazon S3, CloudWatch Logs, Amazon o. SageMaker AWS Glue
Puoi trovare la AmazonRedshiftAllCommandsFullAccess
Puoi anche creare IAM policy personalizzate per consentire le autorizzazioni per le operazioni e le risorse di Amazon API Redshift. Puoi allegare queste politiche personalizzate ai IAM ruoli o ai gruppi che richiedono tali autorizzazioni.
Amazon Redshift si aggiorna alle AWS politiche gestite
Visualizza i dettagli sugli aggiornamenti delle politiche AWS gestite per Amazon Redshift da quando questo servizio ha iniziato a tracciare queste modifiche. Per ricevere avvisi automatici sulle modifiche a questa pagina, iscriviti al RSS feed nella pagina della cronologia dei documenti di Amazon Redshift.
Modifica | Descrizione | Data |
---|---|---|
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
8 marzo 2024 |
AmazonRedshiftQueryEditorV2 FullAccess: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
21 febbraio 2024 |
AmazonRedshiftQueryEditorV2 NoSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
21 febbraio 2024 |
AmazonRedshiftQueryEditorV2 ReadSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
21 febbraio 2024 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
21 febbraio 2024 |
AmazonRedshiftReadOnlyAccess: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
7 febbraio 2024 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
31 ottobre 2023 |
AmazonRedshiftQueryEditorV2 NoSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
16 agosto 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
16 agosto 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
16 agosto 2023 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
Le autorizzazioni per le azioni volte AWS Secrets Manager a creare e gestire segreti vengono aggiunte alla policy gestita. Le autorizzazioni aggiunte sono le seguenti:
|
14 agosto 2023 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
Le autorizzazioni per le azioni su Amazon volte EC2 a creare e gestire gruppi di sicurezza e regole di routing vengono rimosse dalla policy gestita. Queste autorizzazioni riguardavano la creazione di sottoreti e. VPCs Le autorizzazioni rimosse sono le seguenti:
|
8 maggio 2023 |
AmazonRedshiftDataFullAccess: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
7 aprile 2023 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
Le autorizzazioni per le azioni su Amazon EC2 per la creazione e la gestione delle regole dei gruppi di sicurezza vengono aggiunte alla policy gestita. Queste regole e gruppi di sicurezza sono specificamente associati al tag delle risorse |
6 aprile 2023 |
AmazonRedshiftQueryEditorV2 NoSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
21 marzo 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
21 marzo 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
21 marzo 2023 |
AmazonRedshiftQueryEditorV2 NoSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
2 febbraio 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
2 febbraio 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
2 febbraio 2023 |
AmazonRedshiftQueryEditorV2 NoSharing: aggiornamento a una policy esistente |
Per concedere l'autorizzazione all'uso dei notebook, Amazon Redshift ha aggiunto l'autorizzazione per le seguenti azioni:
|
17 ottobre 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing: aggiornamento a una policy esistente |
Per concedere l'autorizzazione all'uso dei notebook, Amazon Redshift ha aggiunto l'autorizzazione per le seguenti azioni:
|
17 ottobre 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing: aggiornamento a una policy esistente |
Per concedere l'autorizzazione all'uso dei notebook, Amazon Redshift ha aggiunto l'autorizzazione per le seguenti azioni:
|
17 ottobre 2022 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto lo spazio dei nomi |
7 settembre 2022 |
AmazonRedshiftQueryEditorV2 NoSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per le operazioni |
30 agosto 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per le operazioni |
30 agosto 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per le operazioni |
30 agosto 2022 |
AmazonRedshiftFullAccess: aggiornamento a una policy esistente |
Le autorizzazioni per Amazon Redshift Serverless vengono aggiunte alla policy gestita esistente. AmazonRedshiftFullAccess |
22 luglio 2022 |
AmazonRedshiftDataFullAccess: aggiornamento a una policy esistente |
Amazon Redshift ha aggiornato la condizione di ambito predefinita redshift-serverless:GetCredentials dell'autorizzazione del tag aws:ResourceTag/RedshiftDataFullAccess da StringEquals a StringLike per concedere l'accesso alle risorse taggate con la chiave di tag RedshiftDataFullAccess e qualsiasi valore di tag. |
11 luglio 2022 |
AmazonRedshiftDataFullAccess: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto nuove autorizzazioni per consentire l'operazione redshift-serverless:GetCredentials per le credenziali temporanee ad Amazon Redshift Serverless. |
8 luglio 2022 |
AmazonRedshiftQueryEditorV2 NoSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per l'azione |
15 giugno 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per l'azione |
15 giugno 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per l'azione |
15 giugno 2022 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
Per consentire l'accesso pubblico ai nuovi endpoint Serverless Amazon Redshift, Amazon Redshift alloca e associa gli indirizzi IP elastici all'interfaccia di rete elastica dell'VPCendpoint nell'account cliente. Lo fa tramite le autorizzazioni fornite attraverso il ruolo collegato al servizio. Per abilitare questo caso d'uso, le azioni per allocare e rilasciare un indirizzo IP elastico vengono aggiunte al ruolo collegato al servizio Amazon Redshift Serverless. |
26 maggio 2022 |
AmazonRedshiftQueryEditorV2 FullAccess: aggiornamento a una policy esistente |
Autorizzazioni per l'operazione |
22 febbraio 2022 |
AmazonRedshiftQueryEditorV2 NoSharing: aggiornamento a una policy esistente |
Autorizzazioni per l'operazione |
22 febbraio 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing: aggiornamento a una policy esistente |
Autorizzazioni per l'operazione |
22 febbraio 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing: aggiornamento a una policy esistente |
Autorizzazioni per l'operazione |
22 febbraio 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
22 febbraio 2022 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto le autorizzazioni per nuove azioni per consentire la gestione della rete e delle risorse Amazon Redshift. VPC |
22 novembre 2021 |
AmazonRedshiftAllCommandsFullAccess: nuova policy |
Amazon Redshift ha aggiunto una nuova policy per consentire l'utilizzo del IAM ruolo creato dalla console Amazon Redshift e l'ha impostato come predefinito per l'esecuzione da parte del cluster da COPY Amazon S3UNLOAD,,, CREATE EXTERNALSCHEMA, CREATE EXTERNAL FUNCTION o comandi. CREATE MODEL CREATE LIBRARY |
18 novembre 2021 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto le autorizzazioni per nuove azioni per consentire la gestione dei gruppi di CloudWatch log e dei flussi di log di Amazon Redshift, inclusa l'esportazione dei log di audit. |
15 novembre 2021 |
AmazonRedshiftFullAccess: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto nuove autorizzazioni per consentire la spiegabilità del modello, DynamoDB, Redshift Spectrum e Amazon Federation. RDS | 7 ottobre 2021 |
AmazonRedshiftQueryEditorV2 FullAccess: nuova policy |
Amazon Redshift ha aggiunto una nuova policy per consentire l'accesso completo all'editor di query v2 di Amazon Redshift. |
24 settembre 2021 |
AmazonRedshiftQueryEditorV2 NoSharing: nuova policy |
Amazon Redshift ha aggiunto una nuova policy per consentire l'utilizzo dell'editor di query v2 di Amazon Redshift senza condividere risorse. |
24 settembre 2021 |
AmazonRedshiftQueryEditorV2 ReadSharing: nuova policy |
Amazon Redshift ha aggiunto una nuova policy per consentire la condivisione di lettura all'interno dell'editor di query v2 di Amazon Redshift. |
24 settembre 2021 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing: nuova policy |
Amazon Redshift ha aggiunto una nuova policy per consentire la condivisione di lettura e aggiornamento all'interno dell'editor di query v2 di Amazon Redshift. |
24 settembre 2021 |
AmazonRedshiftFullAccess: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto nuove autorizzazioni per consentire |
18 agosto 2021 |
AmazonRedshiftDataFullAccess: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto nuove autorizzazioni per consentire |
12 agosto 2021 |
AmazonRedshiftDataFullAccess: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto nuove autorizzazioni per consentire |
27 luglio 2021 |
Amazon Redshift ha iniziato a monitorare le modifiche |
Amazon Redshift ha iniziato a tracciare le modifiche per le sue politiche AWS gestite. |
27 luglio 2021 |
Autorizzazioni richieste per utilizzare Redshift Spectrum
Amazon Redshift Spectrum richiede autorizzazioni per AWS altri servizi per accedere alle risorse. Per informazioni dettagliate sulle autorizzazioni nelle IAM politiche per Redshift Spectrum, IAMconsulta le politiche per Amazon Redshift Spectrum nella Amazon Redshift Database Developer Guide.
Autorizzazioni richieste per utilizzare la console Amazon Redshift
Affinché un utente possa lavorare con la console Amazon Redshift, deve disporre di un set minimo di autorizzazioni che gli consentano di descrivere le risorse Amazon Redshift per il proprio account. AWS Queste autorizzazioni devono inoltre consentire all'utente di descrivere altre informazioni correlate, tra cui la EC2 sicurezza di Amazon, Amazon CloudWatchSNS, Amazon e le informazioni di rete.
Se crei una IAM politica più restrittiva delle autorizzazioni minime richieste, la console non funziona come previsto per gli utenti con quella politica. IAM Per essere certi che gli utenti possano continuare a usare la console Amazon Redshift, collega anche la policy gestita da AmazonRedshiftReadOnlyAccess
all'utente. Questa procedura è descritta in AWS politiche gestite per Amazon Redshift.
Per informazioni su come consentire a un utente l'accesso all'editor di query nella console Amazon Redshift, consultare Autorizzazioni richieste per utilizzare l'editor di query della console Amazon Redshift.
Non è necessario consentire autorizzazioni minime per la console per gli utenti che effettuano chiamate solo verso Amazon Redshift AWS CLI o Amazon API Redshift.
Autorizzazioni richieste per utilizzare l'editor di query della console Amazon Redshift
Affinché un utente possa lavorare con l'editor di query di Amazon Redshift, deve disporre di un set minimo di autorizzazioni per le operazioni di Amazon Redshift e Amazon Redshift Data. API Per connettersi a un database utilizzando un segreto, è necessario disporre anche delle autorizzazioni di Secrets Manager.
Per consentire a un utente di accedere all'editor di query sulla console Amazon Redshift, collega le policy AmazonRedshiftQueryEditor
e le policy AmazonRedshiftReadOnlyAccess
AWS
gestite. La AmazonRedshiftQueryEditor
policy consente all'utente di recuperare i risultati solo delle proprie dichiarazioni. SQL Cioè, dichiarazioni inviate dallo stesso, aws:userid
come illustrato in questa sezione della politica AmazonRedshiftQueryEditor
AWS gestita.
{ "Sid":"DataAPIIAMStatementPermissionsRestriction", "Action": [ "redshift-data:GetStatementResult", "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:ListStatements" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "redshift-data:statement-owner-iam-userid": "${aws:userid}" } } }
Per consentire a un utente di recuperare i risultati delle SQL dichiarazioni di altre persone che ricoprono lo stesso IAM ruolo, crea una politica personalizzata senza la condizione di limitare l'accesso all'utente corrente. Limitare anche l'accesso a un amministratore per modificare una policy.
Autorizzazioni necessarie per utilizzare l'editor della query v2
Affinché un utente possa lavorare con l'editor di query di Amazon Redshift v2, deve disporre di un set minimo di autorizzazioni per Amazon Redshift, le operazioni dell'editor di query v2 e altri AWS servizi come il servizio di tagging. AWS Key Management Service AWS Secrets Manager
Per consentire a un utente l'accesso completo all'editor di query v2, allega la policy gestita. AmazonRedshiftQueryEditorV2FullAccess
AWS La policy AmazonRedshiftQueryEditorV2FullAccess
consente all'utente di condividere le risorse dell'editor di query v2, come le query, con altri membri dello stesso team. Per i dettagli su come viene controllato l'accesso alle risorse dell'editor di query v2, vedere la definizione della politica gestita specifica per l'editor di query v2 nella console. IAM
Alcune policy AWS gestite di Amazon Redshift Query Editor v2 utilizzano i AWS tag all'interno di condizioni per definire l'accesso alle risorse. In Query Editor v2, la condivisione delle query si basa sulla chiave del tag e sul valore "aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}"
della IAM policy associata a principal (il ruolo). IAM I principali nello stesso Account AWS con lo stesso valore del tag (ad esempio, accounting-team
), sono nello stesso team nell'editor di query v2. Si può essere associati a un solo team alla volta. Un utente con autorizzazioni amministrative può configurare i team nella IAM console assegnando a tutti i membri del team lo stesso valore per il tag. sqlworkbench-team
Se il valore del tag di sqlworkbench-team
viene modificato per un IAM utente o un IAM ruolo, potrebbe verificarsi un ritardo prima che la modifica si rifletta nelle risorse condivise. Se il valore del tag di una risorsa (ad esempio una query) viene modificato, potrebbe esserci un ritardo fino a quando la modifica non viene riflessa. I membri del team devono avere anche il permesso tag:GetResources
per condividere.
Esempio: aggiungere il accounting-team
tag per un IAM ruolo
Accedi a AWS Management Console e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel riquadro di navigazione della console, scegliere Roles (Ruoli) e selezionare il nome del ruolo che si desidera modificare.
-
Scegliere la scheda Tag quindi scegliere Aggiungi tag.
-
Aggiungi il tag chiave sqlworkbench team e il valore
accounting-team
. -
Scegli Save changes (Salva modifiche).
Ora, quando IAM un responsabile (a cui è associato questo IAM ruolo) condivide una query con il team, altri responsabili con lo stesso valore di
accounting-team
tag possono visualizzarla.
Per ulteriori informazioni su come allegare un tag a un responsabile, inclusi IAM ruoli e IAM utenti, consulta Taggare IAM le risorse nella Guida per l'IAMutente.
È inoltre possibile configurare team a livello di sessione utilizzando un Identity Provider (IdP). Ciò consente a più utenti che utilizzano lo stesso IAM ruolo di avere team diversi. La politica di fiducia dei IAM ruoli deve consentire l'sts:TagSession
operazione. Per ulteriori informazioni, consulta Autorizzazioni necessarie per aggiungere tag di sessione nella Guida per l'IAMutente. Aggiungi l'attributo del tag principal all'SAMLasserzione fornita dal tuo IdP.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:sqlworkbench-team"> <AttributeValue>accounting-team</AttributeValue> </Attribute>
Segui le istruzioni per il tuo provider di identità (IdP) per compilare l'SAMLattributo con il contenuto proveniente dalla tua directory. Per ulteriori informazioni sui provider di identità (IdPs) e Amazon Redshift, consulta Utilizzo IAM dell'autenticazione per generare le credenziali utente del database e provider di identità e federazione nella Guida per l'IAMutente.
sqlworkbench:CreateNotebookVersion
concede l'autorizzazione per ottenere il contenuto corrente delle celle del notebook e creare una versione del notebook nel tuo account. Pertanto, al momento della creazione della versione, il contenuto corrente del notebook è lo stesso di quello della versione. Quando il notebook viene aggiornato, il contenuto delle celle della versione rimane lo stesso. sqlworkbench:GetNotebookVersion
concede l'autorizzazione per ottenere una versione del notebook. Un utente che non dispone dell'autorizzazione sqlworkbench:BatchGetNotebookCell
, ma ha le autorizzazioni sqlworkbench:CreateNotebookVersion
e sqlworkbench:GetNotebookVersion
su un notebook, ha accesso alle celle del notebook nella versione. Questo utente senza l'autorizzazione sqlworkbench:BatchGetNotebookCell
è comunque in grado di recuperare il contenuto delle celle del notebook creando una versione e ottenendola.
Autorizzazioni richieste per utilizzare il pianificatore Amazon Redshift
Quando utilizzi lo scheduler di Amazon Redshift, configuri un IAM ruolo con una relazione di fiducia con lo scheduler di Amazon Redshift (scheduler.redshift.amazonaws.com
) per consentire allo scheduler di assumere le autorizzazioni per tuo conto. Inoltre, alleghi una policy (autorizzazioni) al ruolo per le operazioni di Amazon API Redshift che desideri pianificare.
L'esempio seguente mostra il documento di policy in JSON formato per impostare una relazione di trust con lo scheduler di Amazon Redshift e Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "scheduler.redshift.amazonaws.com", "redshift.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Per ulteriori informazioni sulle entità fiduciarie, consulta Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'utente. IAM
È necessario anche aggiungere le autorizzazioni per le operazioni Amazon Redshift che desideri pianificare.
Per consentire allo scheduler di utilizzare l'ResizeCluster
operazione, aggiungi alla tua policy un'autorizzazione simile alla seguente. IAM A seconda dell'ambiente, potrebbe essere necessario rendere la policy maggiormente restrittiva.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift:ResizeCluster", "Resource": "*" } ] }
Per i passaggi per creare un ruolo per lo scheduler di Amazon Redshift, consulta Creating a role for an AWS service (console) nella Guida per l'IAMutente. Fai queste scelte quando crei un ruolo nella IAM console:
-
Alla voce Choose the service that will use this role (Scegli il servizio che utilizzerà questo ruolo), scegli Redshift.
-
Alla voce Select your use case (Seleziona il tuo caso d'uso), scegli Redshift - Scheduler.
-
Crea o collega una policy al ruolo che permetta a un'operazione di Amazon Redshift di essere pianificata. Scegli Create policy (Crea policy) o modifica il ruolo per collegare una policy. Inserisci la JSON politica per l'operazione da pianificare.
-
Dopo aver creato il ruolo, modifica la relazione di fiducia del IAM ruolo per includere il servizio
redshift.amazonaws.com
.
Il IAM ruolo che crei include entità attendibili di scheduler.redshift.amazonaws.com
eredshift.amazonaws.com
. Dispone inoltre di una policy allegata che consente un'APIazione supportata da Amazon Redshift, ad esempio. "redshift:ResizeCluster"
Autorizzazioni necessarie per utilizzare lo scheduler di Amazon EventBridge
Quando utilizzi lo EventBridge scheduler di Amazon, imposti un IAM ruolo con una relazione di fiducia con lo EventBridge scheduler (events.amazonaws.com
) per consentire allo scheduler di assumere le autorizzazioni per tuo conto. Inoltre, alleghi una policy (autorizzazioni) al ruolo per le operazioni Amazon Redshift API Data che desideri pianificare e una policy per le operazioni Amazon EventBridge.
Utilizzi lo EventBridge scheduler quando crei query pianificate con l'editor di query di Amazon Redshift sulla console.
Puoi creare un IAM ruolo per eseguire query pianificate sulla console. IAM In questo IAM ruolo, allega AmazonEventBridgeFullAccess
eAmazonRedshiftDataFullAccess
.
L'esempio seguente mostra il documento di policy in JSON formato per impostare una relazione di fiducia con lo EventBridge scheduler.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com", ] }, "Action": "sts:AssumeRole" } ] }
Per ulteriori informazioni sulle entità fiduciarie, vedere Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'IAMutente.
Per i passaggi per creare un ruolo per lo EventBridge scheduler, vedi Creazione di un ruolo per un AWS servizio (console) nella Guida per l'IAMutente. Fai queste scelte quando crei un ruolo nella IAM console:
-
Per Scegli il servizio che utilizzerà questo ruolo: scegli CloudWatch Eventi.
-
Per Seleziona il tuo caso d'uso: scegli CloudWatch Eventi.
-
Collega le policy di autorizzazione
AmazonEventBridgeFullAccess
eAmazonRedshiftDataFullAccess
.
Il IAM ruolo che crei ha un'entità attendibile dievents.amazonaws.com
. Dispone inoltre di una policy allegata che consente le API azioni supportate di Amazon Redshift Data, ad esempio,. "redshift-data:*"
Autorizzazioni necessarie per utilizzare il machine learning (ML) di Amazon Redshift
Di seguito, puoi trovare una descrizione delle autorizzazioni necessarie per utilizzare il machine learning (ML) di Amazon Redshift con Amazon SageMaker per diversi casi d'uso.
Per consentire ai tuoi utenti di utilizzare Amazon Redshift ML con Amazon SageMaker, crea un IAM ruolo con una politica più restrittiva rispetto a quella predefinita. Si più usare la seguente policy. È inoltre possibile modificare questa policy per soddisfare le esigenze specifiche.
La seguente politica mostra le autorizzazioni necessarie per eseguire SageMaker Autopilot con la spiegabilità del modello da Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:CreateAutoMLJob", "sagemaker:CreateCompilationJob", "sagemaker:CreateEndpoint", "sagemaker:DescribeAutoMLJob", "sagemaker:DescribeTrainingJob", "sagemaker:DescribeCompilationJob", "sagemaker:DescribeProcessingJob", "sagemaker:DescribeTransformJob", "sagemaker:ListCandidatesForAutoMLJob", "sagemaker:StopAutoMLJob", "sagemaker:StopCompilationJob", "sagemaker:StopTrainingJob", "sagemaker:DescribeEndpoint", "sagemaker:InvokeEndpoint", "sagemaker:StopProcessingJob", "sagemaker:CreateModel", "sagemaker:CreateProcessingJob" ], "Resource": [ "arn:aws:sagemaker:*:*:model/*redshift*", "arn:aws:sagemaker:*:*:training-job/*redshift*", "arn:aws:sagemaker:*:*:automl-job/*redshift*", "arn:aws:sagemaker:*:*:compilation-job/*redshift*", "arn:aws:sagemaker:*:*:processing-job/*redshift*", "arn:aws:sagemaker:*:*:transform-job/*redshift*", "arn:aws:sagemaker:*:*:endpoint/*redshift*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": [ "SageMaker", "/aws/sagemaker/Endpoints", "/aws/sagemaker/ProcessingJobs", "/aws/sagemaker/TrainingJobs", "/aws/sagemaker/TransformJobs" ] } } }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": [ "arn:aws:s3:::redshift-downloads", "arn:aws:s3:::redshift-downloads/*", "arn:aws:s3:::*redshift*", "arn:aws:s3:::*redshift*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": [ "redshift.amazonaws.com", "sagemaker.amazonaws.com" ] } } } ] }
La seguente policy mostra le autorizzazioni minime complete per consentire l'accesso ad Amazon DynamoDB, RDS Redshift Spectrum e Amazon Federation.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:CreateAutoMLJob", "sagemaker:CreateCompilationJob", "sagemaker:CreateEndpoint", "sagemaker:DescribeAutoMLJob", "sagemaker:DescribeTrainingJob", "sagemaker:DescribeCompilationJob", "sagemaker:DescribeProcessingJob", "sagemaker:DescribeTransformJob", "sagemaker:ListCandidatesForAutoMLJob", "sagemaker:StopAutoMLJob", "sagemaker:StopCompilationJob", "sagemaker:StopTrainingJob", "sagemaker:DescribeEndpoint", "sagemaker:InvokeEndpoint", "sagemaker:StopProcessingJob", "sagemaker:CreateModel", "sagemaker:CreateProcessingJob" ], "Resource": [ "arn:aws:sagemaker:*:*:model/*redshift*", "arn:aws:sagemaker:*:*:training-job/*redshift*", "arn:aws:sagemaker:*:*:automl-job/*redshift*", "arn:aws:sagemaker:*:*:compilation-job/*redshift*", "arn:aws:sagemaker:*:*:processing-job/*redshift*", "arn:aws:sagemaker:*:*:transform-job/*redshift*", "arn:aws:sagemaker:*:*:endpoint/*redshift*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": [ "SageMaker", "/aws/sagemaker/Endpoints", "/aws/sagemaker/ProcessingJobs", "/aws/sagemaker/TrainingJobs", "/aws/sagemaker/TransformJobs" ] } } }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": [ "arn:aws:s3:::redshift-downloads", "arn:aws:s3:::redshift-downloads/*", "arn:aws:s3:::*redshift*", "arn:aws:s3:::*redshift*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "dynamodb:Scan", "dynamodb:DescribeTable", "dynamodb:Getitem" ], "Resource": [ "arn:aws:dynamodb:*:*:table/*redshift*", "arn:aws:dynamodb:*:*:table/*redshift*/index/*" ] }, { "Effect": "Allow", "Action": [ "elasticmapreduce:ListInstances" ], "Resource": [ "arn:aws:elasticmapreduce:*:*:cluster/*redshift*" ] }, { "Effect": "Allow", "Action": [ "elasticmapreduce:ListInstances" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "elasticmapreduce:ResourceTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:*redshift*" }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "arn:aws:glue:*:*:table/*redshift*/*", "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:database/*redshift*" ] }, { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "arn:aws:secretsmanager:*:*:secret:*redshift*" ] }, { "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*", "Condition": { "StringEquals": { "secretsmanager:ResourceTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": [ "redshift.amazonaws.com", "glue.amazonaws.com", "sagemaker.amazonaws.com", "athena.amazonaws.com" ] } } } ] }
Facoltativamente, per utilizzare una AWS KMS chiave per la crittografia, aggiungi le seguenti autorizzazioni alla policy.
{ "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": [ "arn:aws:kms:<your-region>:<your-account-id>:key/<your-kms-key>" ] }
Per consentire ad Amazon Redshift e SageMaker assumere il IAM ruolo precedente di interagire con altri servizi, aggiungi la seguente politica di fiducia al ruolo.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com", "sagemaker.amazonaws.com", "forecast.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Nel precedente esempio, il bucket Amazon S3 redshift-downloads/redshift-ml/
è la posizione in cui sono memorizzati i dati di esempio utilizzati per altre fasi ed esempi. È possibile rimuovere questo bucket se non è necessario caricare dati da Amazon S3. O sostituirlo con altri bucket Amazon S3 utilizzati per caricare i dati in Amazon Redshift.
I your-s3-bucket
valori your-account-id
your-role
, e sono l'ID dell'account, il ruolo e il bucket specificati nel comando. CREATE MODEL
Facoltativamente, puoi utilizzare la sezione AWS KMS keys della policy di esempio se specifichi una AWS KMS chiave da usare con Amazon Redshift ML. Il your-kms-key
valore è la chiave che usi come parte del comando. CREATE MODEL
Quando specificate un cloud privato virtuale privato (VPC) per un processo di ottimizzazione degli iperparametri, aggiungete le seguenti autorizzazioni.
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Per utilizzare la spiegazione del modello, assicuratevi di disporre delle autorizzazioni necessarie per effettuare chiamate operative. SageMaker API Ti consigliamo di utilizzare la policy gestita AmazonSageMakerFullAccess
. Se desideri creare un IAM ruolo con una politica più restrittiva, utilizza la politica seguente.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker::CreateEndpoint", "sagemaker::CreateEndpointConfig", "sagemaker::DeleteEndpoint", "sagemaker::DeleteEndpointConfig", "sagemaker::DescribeEndpoint", "sagemaker::DescribeEndpointConfig", "sagemaker::DescribeModel", "sagemaker::InvokeEndpoint", "sagemaker::ListTags" ], "Resource": "*" } ] }
Per ulteriori informazioni sulla policy AmazonSageMakerFullAccess
gestita, consulta AmazonSageMakerFullAccessla Amazon SageMaker Developer Guide.
Se desideri creare modelli di previsione, ti consigliamo di utilizzare la policy gestita AmazonForecastFullAccess
. Se desideri utilizzare una politica più restrittiva, aggiungi la seguente politica al tuo IAM ruolo.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "forecast:CreateAutoPredictor", "forecast:CreateDataset", "forecast:CreateDatasetGroup", "forecast:CreateDatasetImportJob", "forecast:CreateForecast", "forecast:CreateForecastExportJob", "forecast:DeleteResourceTree", "forecast:DescribeAutoPredictor", "forecast:DescribeDataset", "forecast:DescribeDatasetGroup", "forecast:DescribeDatasetImportJob", "forecast:DescribeForecast", "forecast:DescribeForecastExportJob", "forecast:StopResource", "forecast:TagResource", "forecast:UpdateDatasetGroup" ], "Resource": "*" } ] }
Se desideri creare modelli Amazon Bedrock, ti consigliamo di utilizzare la policy AmazonBedrockFullAccess
gestita. Se desideri utilizzare una politica più restrittiva, aggiungi la seguente politica al tuo IAM ruolo.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": [ "*", "arn:aws:bedrock:
>region<
::foundation-model/*" ] } ] }
Per ulteriori informazioni su Amazon Redshift ML, consulta Using machine learning in Amazon Redshift CREATEMODEL, or. CREATEEXTERNALMODEL
Autorizzazioni per l'importazione dati in streaming
L'importazione dati in streaming funziona con due servizi. Si tratta di Kinesis Data Streams MSK e Amazon.
Autorizzazioni necessarie per utilizzare l'importazione dati in streaming con flusso di dati Amazon Kinesis
Una procedura con un esempio di policy gestita è disponibile in Nozioni di base sull'importazione dati in streaming da flusso di dati Amazon Kinesis.
Autorizzazioni necessarie per utilizzare lo streaming ingestion con Amazon MSK
Una procedura con un esempio di policy gestita è disponibile in Nozioni di base sull'importazione dati in streaming da flusso di dati Amazon Kinesis.
Autorizzazioni necessarie per utilizzare le operazioni di condivisione dei dati API
Per controllare l'accesso alle API operazioni di condivisione dei dati, utilizza politiche basate sulle IAM azioni. Per informazioni su come gestire IAM le politiche, consulta Managing IAM policy nella Guida per l'IAMutente.
In particolare, si supponga che un amministratore del cluster producer debba utilizzare la chiamata AuthorizeDataShare
per autorizzare l'uscita di una unità di condivisione dati all'esterno di un account Account AWS. In questo caso, si imposta una politica IAM basata sulle azioni per concedere questa autorizzazione. Utilizzare la chiamata DeauthorizeDataShare
per revocare l'uscita.
Quando si utilizzano politiche IAM basate sulle azioni, è anche possibile specificare una IAM risorsa nella politica, ad esempio. DataShareARN
Di seguito vengono mostrati il formato e un esempio per DataShareARN
.
arn:aws:redshift:region:account-id:datashare:namespace-guid/datashare-name arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare
È possibile limitare AuthorizeDataShare
l'accesso a un datashare specifico specificando il nome del datashare nella policy. IAM
{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare" ], "Effect": "Deny" } ] }
È inoltre possibile limitare la IAM policy a tutti i datashare di proprietà di uno specifico cluster di produttori. Per effettuare questa operazione, sostituire il valore datashare-name
nella policy con un carattere jolly o un asterisco. Mantieni il valore del cluster namespace-guid
.
arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*
Di seguito è riportata una IAM politica che impedisce a un'entità di richiamare AuthorizeDataShare
i datashare di proprietà di uno specifico cluster di produttori.
{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*" ], "Effect": "Deny" } ] }
DataShareARN
limita l'accesso in base sia al nome del datashare che all'ID univoco globale (GUID) per lo spazio dei nomi del cluster proprietario. Questa operazione viene effettuata specificando il nome come asterisco.
Politiche relative alle risorse per GetClusterCredentials
Per connettersi a un database del cluster utilizzando una ODBC connessione JDBC o con le credenziali del IAM database o per richiamare l'GetClusterCredentials
azione a livello di codice, è necessario un set minimo di autorizzazioni. Devi avere almeno l'autorizzazione per chiamare l'azione redshift:GetClusterCredentials
con accesso a una risorsa dbuser
.
Se si utilizza una ODBC connessione JDBC or, anziché server
e port
è possibile specificare cluster_id
eregion
, a tal fine, la politica deve consentire l'redshift:DescribeClusters
azione con accesso alla risorsa. cluster
Se chiami GetClusterCredentials
con i parametri facoltativi Autocreate
, DbGroups
e DbName
, dovrai anche consentire le operazioni e permettere l'accesso alle risorse elencate nella tabella seguente:
GetClusterCredentials parametro |
Azione |
Risorsa |
---|---|---|
|
redshift:CreateClusterUser |
|
|
redshift:JoinGroup |
|
|
N/A | dbname |
Per ulteriori informazioni sulle risorse, consultare Risorse e operazioni di Amazon Redshift.
Puoi anche includere le condizioni seguenti nella policy:
-
redshift:DurationSeconds
-
redshift:DbName
-
redshift:DbUser
Per ulteriori informazioni sulle condizioni, consulta Specifica delle condizioni in una policy.
Esempi di policy gestite dal cliente
Questa sezione include policy utente di esempio che concedono autorizzazioni per diverse operazioni Amazon Redshift. Queste politiche funzionano quando utilizzi Amazon Redshift o API AWS SDKs il. AWS CLI
Nota
Tutti gli esempi utilizzano la regione degli Stati Uniti occidentali (Oregon) (us-west-2
) e contengono account fittizi. IDs
Esempio 1: concessione di accesso utente completo a tutte le operazioni e risorse di Amazon Redshift
La policy seguente concede l'accesso a tutte le operazioni di Amazon Redshift su tutte le risorse.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowRedshift", "Action": [ "redshift:*" ], "Effect": "Allow", "Resource": "*" } ] }
Il valore redshift:*
nell'elemento Action
indica tutte le operazioni in Amazon Redshift.
Esempio 2: rifiuto dell'accesso utente a un set di operazioni Amazon Redshift
Per impostazione predefinita, vengono negate tutte le autorizzazioni. Tuttavia, a volte è necessario negare esplicitamente l'accesso a un'operazione specifica o un set di operazioni specifico. La policy seguente concede l'accesso a tutte le operazioni di Amazon Redshift e nega esplicitamente l'accesso a qualsiasi operazione Amazon Redshift il cui nome inizia con Delete
. Questa policy si applica a tutte le risorse Amazon Redshift nella regione us-west-2
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowUSWest2Region", "Action": [ "redshift:*" ], "Effect": "Allow", "Resource": "arn:aws:redshift:us-west-2:*" }, { "Sid":"DenyDeleteUSWest2Region", "Action": [ "redshift:Delete*" ], "Effect": "Deny", "Resource": "arn:aws:redshift:us-west-2:*" } ] }
Esempio 3: Concessione a un utente dell'autorizzazione per la gestione dei cluster
La policy seguente permette a un utente di creare, eliminare, modificare e riavviare tutti i cluster e quindi nega l'autorizzazione per eliminare o modificare qualsiasi cluster il cui identificatore inizia con protected
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowClusterManagement", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"DenyDeleteProtected", "Action": [ "redshift:DeleteCluster" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:cluster:protected*" ], "Effect": "Deny" } ] }
Esempio 4: Concessione a un utente dell'autorizzazione per concedere o revocare l'accesso agli snapshot
La policy seguente permette a un utente, ad esempio all'utente A, di eseguire le operazioni seguenti:
-
Autorizzare l'accesso a qualsiasi snapshot creato da un cluster denominato
shared
. -
Revocare l'accesso a qualsiasi snapshot creato dal cluster
shared
il cui nome di cluster inizia conrevokable
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowSharedSnapshots", "Action": [ "redshift:AuthorizeSnapshotAccess" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:shared/*" ], "Effect": "Allow" }, { "Sid":"AllowRevokableSnapshot", "Action": [ "redshift:RevokeSnapshotAccess" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/revokable*" ], "Effect": "Allow" } ] }
Se l'utente A ha consentito all'utente B di accedere a uno snapshot, l'utente B deve avere una policy come la seguente per poter ripristinare un cluster dallo snapshot. La policy seguente permette all'utente B di descrivere gli snaphost ed eseguire operazioni di ripristino dagli snapshot, nonché di creare cluster. Il nome di questi cluster deve iniziare con from-other-account
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowDescribeSnapshots", "Action": [ "redshift:DescribeClusterSnapshots" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"AllowUserRestoreFromSnapshot", "Action": [ "redshift:RestoreFromClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/*", "arn:aws:redshift:us-west-2:444455556666:cluster:from-other-account*" ], "Effect": "Allow" } ] }
Esempio 5: Concessione a un utente dell'autorizzazione per la copia di uno snapshot del cluster e per il ripristino di un cluster da uno snapshot
La policy seguente permette a un utente di copiare qualsiasi snapshot creato dal cluster denominato big-cluster-1
e di ripristinare qualsiasi snapshot il cui nome inizia con snapshot-for-restore
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowCopyClusterSnapshot", "Action": [ "redshift:CopyClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:big-cluster-1/*" ], "Effect": "Allow" }, { "Sid":"AllowRestoreFromClusterSnapshot", "Action": [ "redshift:RestoreFromClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/snapshot-for-restore*", "arn:aws:redshift:us-west-2:123456789012:cluster:*" ], "Effect": "Allow" } ] }
Esempio 6: consentire a un utente l'accesso ad Amazon Redshift e ad azioni e risorse comuni per i servizi correlati AWS
La seguente policy di esempio consente l'accesso a tutte le azioni e le risorse per Amazon Redshift, Amazon Simple Notification Service SNS (Amazon) e Amazon. CloudWatch Consente inoltre azioni specifiche su tutte le EC2 risorse Amazon correlate all'account.
Nota
Le autorizzazioni a livello di risorsa non sono supportate per le EC2 azioni Amazon specificate in questa politica di esempio.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowRedshift", "Effect": "Allow", "Action": [ "redshift:*" ], "Resource": [ "*" ] }, { "Sid":"AllowSNS", "Effect": "Allow", "Action": [ "sns:*" ], "Resource": [ "*" ] }, { "Sid":"AllowCloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:*" ], "Resource": [ "*" ] }, { "Sid":"AllowEC2Actions", "Effect": "Allow", "Action": [ "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AttachNetworkInterface", "ec2:DescribeAccountAttributes", "ec2:DescribeAddresses", "ec2:DescribeAvailabilityZones", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": [ "*" ] } ] }
Esempio 7: consentire a un utente di taggare le risorse con la console Amazon Redshift
La seguente policy di esempio consente a un utente di taggare le risorse con la console Amazon Redshift utilizzando AWS Resource Groups. Questa policy può essere collegata a un ruolo utente che richiama la console Amazon Redshift nuova o originale. Per ulteriori informazioni sul tagging, consultare Tagga le risorse in Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"Tagging permissions", "Effect": "Allow", "Action": [ "redshift:DeleteTags", "redshift:CreateTags", "redshift:DescribeTags", "tag:UntagResources", "tag:TagResources" ], "Resource": "*" } ] }
Esempio di politica per l'utilizzo GetClusterCredentials
La seguente policy utilizza questi valori di parametro di esempio:
-
Regione:
us-west-2
-
AWS Account:
123456789012
-
Nome del cluster:
examplecluster
La seguente policy consente le operazioni GetCredentials
, CreateClusterUser
e JoinGroup
. La policy utilizza i tasti condizionali per consentire le CreateClusterUser
azioni GetClusterCredentials
and solo quando l'ID AWS utente corrisponde"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"
. IAMl'accesso è richiesto solo per il "testdb"
database. La policy, inoltre, consente agli utenti di unirsi a un gruppo chiamato "common_group"
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"GetClusterCredsStatement", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}", "arn:aws:redshift:us-west-2:123456789012:dbname:examplecluster/testdb", "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group" ], "Condition": { "StringEquals": { "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com" } } }, { "Sid":"CreateClusterUserStatement", "Effect": "Allow", "Action": [ "redshift:CreateClusterUser" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}" ], "Condition": { "StringEquals": { "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com" } } }, { "Sid":"RedshiftJoinGroupStatement", "Effect": "Allow", "Action": [ "redshift:JoinGroup" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group" ] } ] }