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 Redshift
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 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 policy 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 per il valore
Resource
l'Amazon Resource Name (ARN) di un cluster 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 politiche IAM 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, consultare Policy gestite da AWS nella Guida per l'utente di IAM.
Puoi anche creare policy IAM personalizzate per concedere autorizzazioni per risorse e operazioni API Amazon Redshift. Puoi collegare queste policy personalizzate ai ruoli o ai gruppi IAM che richiedono le 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.
Puoi trovare la AmazonRedshiftQueryEditor
AmazonRedshiftDataFullAccess
Garantisce l'accesso completo alle operazioni e alle risorse dell'Amazon Redshift Data API per AWS un account.
Puoi trovare la AmazonRedshiftDataFullAccess
AmazonRedshiftQueryEditorV2FullAccess
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.
Puoi trovare la FullAccess policy AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2NoSharing
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.
Puoi trovare la NoSharing policy AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2ReadSharing
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.
Puoi trovare la ReadSharing policy AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2ReadWriteSharing
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.
Puoi trovare la ReadWriteSharing policy AmazonRedshiftQueryEditorV2
AmazonRedshiftServiceLinkedRolePolicy
Non puoi collegarti AmazonRedshiftServiceLinkedRolePolicy alle tue entità IAM. 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
Consente di utilizzare il ruolo IAM creato dalla console Amazon Redshift e impostarlo come predefinito per far eseguire al cluster la COPIA tramite i comandi di Amazon S3, SCARICARE, CREA FUNZIONE ESTERNA, CREA TABELLA ESTERNA, CREA SCHEMA ESTERNO e CREA MODELLO. La policy concede inoltre le autorizzazioni per eseguire istruzioni SELECT per servizi correlati, come Amazon S3, CloudWatch Logs, Amazon SageMaker AI o. AWS Glue
Puoi trovare la AmazonRedshiftAllCommandsFullAccess
Puoi anche creare policy IAM personalizzate per concedere autorizzazioni per risorse e operazioni API Amazon Redshift. Puoi collegare queste policy personalizzate ai ruoli o ai gruppi IAM che richiedono le 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 gli avvisi automatici sulle modifiche apportate a questa pagina, sottoscrivere il feed RSS nella pagina della cronologia dei documenti di Amazon Redshift.
Modifica | Descrizione | Data |
---|---|---|
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
3 dicembre 2024 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
8 marzo 2024 |
AmazonRedshiftQueryEditorV2FullAccess: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
21 febbraio 2024 |
AmazonRedshiftQueryEditorV2NoSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
21 febbraio 2024 |
AmazonRedshiftQueryEditorV2ReadSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
21 febbraio 2024 |
AmazonRedshiftQueryEditorV2ReadWriteSharing: 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 |
AmazonRedshiftQueryEditorV2NoSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
16 agosto 2023 |
AmazonRedshiftQueryEditorV2ReadSharing: aggiornamento a una policy esistente |
L'autorizzazione per le operazioni |
16 agosto 2023 |
AmazonRedshiftQueryEditorV2ReadWriteSharing: 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 |
AmazonRedshiftQueryEditorV2NoSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
21 marzo 2023 |
AmazonRedshiftQueryEditorV2ReadSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
21 marzo 2023 |
AmazonRedshiftQueryEditorV2ReadWriteSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
21 marzo 2023 |
AmazonRedshiftQueryEditorV2NoSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
2 febbraio 2023 |
AmazonRedshiftQueryEditorV2ReadSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
2 febbraio 2023 |
AmazonRedshiftQueryEditorV2ReadWriteSharing: aggiornamento a una policy esistente |
L'autorizzazione per l'operazione |
2 febbraio 2023 |
AmazonRedshiftQueryEditorV2NoSharing: 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 |
AmazonRedshiftQueryEditorV2ReadSharing: 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 |
AmazonRedshiftQueryEditorV2ReadWriteSharing: 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 |
AmazonRedshiftQueryEditorV2NoSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per le operazioni |
30 agosto 2022 |
AmazonRedshiftQueryEditorV2ReadSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per le operazioni |
30 agosto 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing: 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 |
AmazonRedshiftQueryEditorV2NoSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per l'azione |
15 giugno 2022 |
AmazonRedshiftQueryEditorV2ReadSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per l'azione |
15 giugno 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing: aggiornamento a una policy esistente |
Amazon Redshift ha aggiunto l'autorizzazione per l'azione |
15 giugno 2022 |
AmazonRedshiftServiceLinkedRolePolicy: aggiornamento a una policy esistente |
Per abilitare l'accesso pubblico ai nuovi endpoint Amazon Redshift Serverless, Amazon Redshift assegna e associa gli indirizzi IP elastici all'interfaccia di rete Elastic dell'endpoint VPC 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 |
AmazonRedshiftQueryEditorV2FullAccess: aggiornamento a una policy esistente |
Autorizzazioni per l'operazione |
22 febbraio 2022 |
AmazonRedshiftQueryEditorV2NoSharing: aggiornamento a una policy esistente |
Autorizzazioni per l'operazione |
22 febbraio 2022 |
AmazonRedshiftQueryEditorV2ReadSharing: aggiornamento a una policy esistente |
Autorizzazioni per l'operazione |
22 febbraio 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing: aggiornamento a una policy esistente |
Autorizzazioni per l'operazione |
22 febbraio 2022 |
AmazonRedshiftQueryEditorV2ReadSharing: 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 Amazon Redshift e delle risorse VPC. |
22 novembre 2021 |
AmazonRedshiftAllCommandsFullAccess: nuova policy |
Amazon Redshift ha aggiunto una nuova policy per consentire l'utilizzo del ruolo IAM creato dalla console di Amazon Redshift e impostarlo come predefinito per far eseguire al cluster la COPIA tramite i comandi di Amazon S3, SCARICARE, CREA FUNZIONE ESTERNA, CREA TABELLA ESTERNA, CREA SCHEMA ESTERNO, CREA MODELLO o CREA LIBRERIA. |
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 la federazione Amazon RDS. | 7 ottobre 2021 |
AmazonRedshiftQueryEditorV2FullAccess: 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 |
AmazonRedshiftQueryEditorV2NoSharing: 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 |
AmazonRedshiftQueryEditorV2ReadSharing: 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 |
AmazonRedshiftQueryEditorV2ReadWriteSharing: 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 i dettagli delle autorizzazioni nelle policy IAM per Redshift Spectrum, consultare Policy IAM per Amazon Redshift Spectrum nella Guida per gli sviluppatori di database di Amazon Redshift.
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 CloudWatch, Amazon SNS e le informazioni di rete.
Se decidi di creare una policy IAM più restrittiva delle autorizzazioni minime richieste, la console non funzionerà come previsto per gli utenti con tale policy 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 l' AWS CLI API di Amazon Redshift.
Autorizzazioni richieste per utilizzare l'editor di query della console Amazon Redshift
Affinché un utente possa utilizzare l'editor di query Amazon Redshift, deve disporre di un set minimo di autorizzazioni per Amazon Redshift e le operazioni API dati di Amazon Redshift. 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 policy AmazonRedshiftQueryEditor
concede all'utente l'autorizzazione per recuperare solo i risultati delle proprie istruzioni SQL. Ovvero, 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 istruzioni SQL di altri utenti nello stesso ruolo IAM, creare una policy personalizzata senza la condizione per 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 informazioni dettagliate su come viene controllato l'accesso alle risorse dell'editor di query v2, consultare la definizione della specifica policy gestita 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. Nell'editor di query v2, la condivisione delle query si basa sulla chiave e sul valore del tag "aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}"
nella policy IAM collegata al principale (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 console IAM dando a tutti i membri del team lo stesso valore per il tag sqlworkbench-team
. Se il valore del tag del sqlworkbench-team
viene modificato per un utente o per un ruolo IAM, potrebbe esserci un ritardo fino a quando la modifica non si riflette 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: per aggiungere il tag accounting-team
per un ruolo IAM
Accedi AWS Management Console e apri la console IAM 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 un principale IAM (con questo ruolo IAM allegato) condivide una query con il team, altri principal con lo stesso valore del tag
accounting-team
può visualizzare la query.
Per ulteriori informazioni su come collegare un tag a un principale, inclusi i ruoli e gli utenti IAM, consultare Assegnazione di tag di risorse IAM nella Guida per l'utente di IAM.
È inoltre possibile configurare team a livello di sessione utilizzando un Identity Provider (IdP). Ciò consente a più utenti che utilizzano lo stesso ruolo IAM di avere un team diverso. La policy di attendibilità del ruolo IAM deve consentire l'operazione sts:TagSession
. Per ulteriori informazioni, consultare Autorizzazioni necessarie per aggiungere tag di sessione nella Guida per l'utente di IAM. Aggiungi l'attributo tag principale all'asserzione SAML 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 popolare l'attributo SAML con il contenuto proveniente dalla tua directory. Per ulteriori informazioni sui provider di identità (IdPs) e Amazon Redshift, consulta Utilizzo dell'autenticazione IAM per generare credenziali utente di database e Identity providers and federation nella IAM User Guide.
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 il pianificatore di Amazon Redshift, imposti un ruolo IAM con una relazione di attendibilità con il pianificatore Amazon Redshift (scheduler.redshift.amazonaws.com
) per permettere al pianificatore di acquisire le autorizzazioni per tuo conto. Viene inoltre collegata una policy (autorizzazioni) al ruolo delle operazioni API di Amazon Redshift che desideri pianificare.
L'esempio seguente mostra il documento di policy in formato JSON per impostare una relazione di attendibilità con il pianificatore di Amazon Redshift e Amazon Redshift stesso.
{
"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 Creating a role to delegate permissions to an AWS service nella IAM User Guide.
È necessario anche aggiungere le autorizzazioni per le operazioni Amazon Redshift che desideri pianificare.
Affinché lo strumento di pianificazione possa usare l'operazione ResizeCluster
, aggiungi alla tua policy IAM un'autorizzazione sia simile alla seguente. 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 IAM User Guide. Durante la creazione di un ruolo nella console IAM, applica queste selezioni:
-
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 policy JSON per l'operazione che deve essere pianificata.
-
Dopo aver creato il ruolo, modifica la Trust Relationship (Relazione di trust) del ruolo IAM per includere il servizio
redshift.amazonaws.com
.
Il ruolo IAM creato dispone delle entità trusted di scheduler.redshift.amazonaws.com
e redshift.amazonaws.com
. Possiede anche una policy collegata che permette un'operazione API di Amazon Redshift supportata, come per esempio "redshift:ResizeCluster"
.
Autorizzazioni necessarie per utilizzare lo scheduler di Amazon EventBridge
Quando utilizzi lo EventBridge scheduler Amazon, configuri un ruolo IAM 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 Data API 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.
È possibile creare un ruolo IAM per eseguire query pianificate nella console IAM. In questo ruolo IAM, collegare AmazonEventBridgeFullAccess
e AmazonRedshiftDataFullAccess
.
L'esempio seguente mostra il documento di policy in formato JSON per impostare una relazione di fiducia con lo scheduler. EventBridge
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"events.amazonaws.com",
]
},
"Action": "sts:AssumeRole"
}
]
}
Per ulteriori informazioni sulle entità di fiducia, consulta Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'utente IAM.
Per i passaggi per creare un ruolo per lo EventBridge scheduler, consulta Creating a role for an AWS service (console) nella IAM User Guide. Durante la creazione di un ruolo nella console IAM, applica queste selezioni:
-
Per scegliere il servizio che utilizzerà questo ruolo: Scegli CloudWatch gli eventi.
-
Per Seleziona il tuo caso d'uso: scegli CloudWatch Eventi.
-
Collega le policy di autorizzazione
AmazonEventBridgeFullAccess
eAmazonRedshiftDataFullAccess
.
Il ruolo IAM creato dispone delle entità attendibili di events.amazonaws.com
. Possiede anche una policy collegata che permette un'operazione API dati di Amazon Redshift supportata, come per 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 AI, crea un ruolo IAM 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 AI Autopilot con 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 alla federazione Amazon DynamoDB, Redshift Spectrum e Amazon RDS.
{
"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 AI di assumere il precedente ruolo IAM per interagire con altri servizi, aggiungi la seguente policy 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 valori your-account-id
, your-role
, eyour-s3-bucket
sono l'ID account, il ruolo e il bucket specificati nel comando CREAZIONE MODELLO.
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 valore your-kms-key
è la chiave che si utilizza come parte del comando CREATE MODEL.
Quando si specifica un cloud privato virtuale (VPC) privato per processo di ottimizzazione dell'iperparametro, aggiungere 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, assicurati di disporre delle autorizzazioni per chiamare le operazioni dell' SageMaker API AI. Ti consigliamo di utilizzare la policy gestita AmazonSageMakerFullAccess
. Se si desidera creare un ruolo IAM con una policy più restrittiva, utilizzare la policy 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 AI Developer Guide.
Se desideri creare modelli di previsione, ti consigliamo di utilizzare la policy gestita AmazonForecastFullAccess
. Se desideri utilizzare una policy maggiormente restrittiva, aggiungi la policy seguente al tuo ruolo IAM.
{
"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 policy maggiormente restrittiva, aggiungi la policy seguente al tuo ruolo IAM.
{ "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 Utilizzo dell'apprendimento automatico in Amazon Redshift, CREATE MODEL o CREATE EXTERNAL MODEL.
Autorizzazioni per l'importazione dati in streaming
L'importazione dati in streaming funziona con due servizi. Questi sono flusso di video Amazon Kinesis e Amazon MSK.
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 l'importazione dati in streaming 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 dell'API di condivisione dei dati
Per controllare l'accesso alle operazioni API di condivisione dati, utilizzare le policy basate su azioni IAM. Per ulteriori informazioni sulla gestione e sulla creazione di policy IAM personalizzate, consultare Gestione delle policy IAM nella Guida per l'utente di IAM.
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 policy basata sulle azioni IAM per concedere questa autorizzazione. Utilizzare la chiamata DeauthorizeDataShare
per revocare l'uscita.
Quando si utilizzano policy basate su operazioni IAM è inoltre possibile specificare una risorsa IAM nella policy, 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 l'accesso AuthorizeDataShare
a una unità di condivisione dati specificando il nome dell'unità 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 policy IAM a tutte le unità di condivisione dati di proprietà di un cluster producer specifico. 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 policy IAM che impedisce a un'entità di chiamare AuthorizeDataShare
sulle unità di condivisione dati di proprietà di un cluster producer specifico.
{
"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 dell'unità di condivisione dati che all'ID univoco globale (GUID) dello spazio dei nomi del cluster proprietario. Questa operazione viene effettuata specificando il nome come asterisco.
Politiche relative alle risorse per GetClusterCredentials
Per connetterti al database di un cluster tramite una connessione JDBC o ODBC con credenziali di database IAM o per chiamare a livello di programmazione l'operazione GetClusterCredentials
, devi disporre di un set minimo di autorizzazioni. Devi avere almeno l'autorizzazione per chiamare l'azione redshift:GetClusterCredentials
con accesso a una risorsa dbuser
.
Se usi una connessione JDBC o ODBC, invece di server
e port
puoi specificare cluster_id
e region
, ma a questo scopo la policy deve anche consentire l'operazione redshift:DescribeClusters
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 l'API Amazon Redshift o 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 (Amazon SNS) 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"
. L'accesso IAM è richiesto solo per il database "testdb"
. 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"
]
}
]
}