Configurazione dell'autorizzazione per il data warehouse Amazon Redshift - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

Configurazione dell'autorizzazione per il data warehouse Amazon Redshift

Per replicare i dati dall'origine di integrazione nel data warehouse Amazon Redshift, devi inizialmente aggiungere le due entità seguenti:

  • Principale autorizzato: identifica l'utente o il ruolo che può creare integrazioni Zero-ETL nel data warehouse.

  • Origine di integrazione autorizzata: identifica il database di origine che può aggiornare il data warehouse.

Puoi configurare i principali autorizzati e le origini dell'integrazione autorizzate dalla scheda Policy delle risorse sulla console Amazon Redshift o utilizzando l'operazione API PutResourcePolicy Amazon Redshift.

Aggiunta di principali autorizzati

Per creare un'integrazione zero-ETL nel gruppo di lavoro Redshift Serverless o nel cluster con provisioning, autorizza l'accesso allo spazio dei nomi o al cluster con provisioning associato.

Puoi ignorare questa fase se si verificano entrambe le seguenti condizioni:

  • L'Account AWS proprietario del gruppo di lavoro Redshift serverless o del cluster con provisioning è anche proprietario del database di origine.

  • Questo principale è associato a una policy IAM basata sull'identità con autorizzazioni per creare integrazioni Zero-ETL in questo spazio dei nomi Redshift Serverless o nel cluster con provisioning.

Aggiunta di principali autorizzati a uno spazio dei nomi Amazon Redshift Serverless

  1. Nella console Amazon Redshift, scegli Redshift serverless dal riquadro di navigazione a sinistra.

  2. Seleziona Configurazione dello spazio dei nomi, quindi scegli lo spazio dei nomi e vai alla scheda Policy delle risorse.

  3. Scegli Aggiungi principali autorizzati.

  4. Per ogni principale autorizzato che desideri aggiungere, inserisci nello spazio dei nomi l'ARN dell'utente o del ruolo AWS o l'ID dell'Account AWS a cui desideri autorizzare l'accesso per creare integrazioni Zero-ETL. L'ID dell'account viene archiviato come ARN.

  5. Scegli Save changes (Salva modifiche).

Aggiunta di principali autorizzati a un cluster con provisioning di Amazon Redshift

  1. Nel riquadro di navigazione a sinistra della console Amazon Redshift scegli Pannello di controllo dei cluster con provisioning.

  2. Seleziona Cluster, quindi scegli il cluster e vai alla scheda Policy delle risorse.

  3. Scegli Aggiungi principali autorizzati.

  4. Per ogni principale autorizzato che desideri aggiungere, inserisci nel cluster l'ARN dell'utente o del ruolo AWS o l'ID dell'Account AWS a cui desideri autorizzare l'accesso per creare integrazioni Zero-ETL. L'ID dell'account viene archiviato come ARN.

  5. Scegli Save changes (Salva modifiche).

Aggiunta di origini di integrazione autorizzate

Per consentire all'origine di aggiornare il data warehouse Amazon Redshift, devi aggiungerla come origine di integrazione autorizzata allo spazio dei nomi.

Aggiunta di un'origine di integrazione autorizzata a uno spazio dei nomi Amazon Redshift Serverless

  1. Nella console Amazon Redshift, vai a Pannello di controllo serverless.

  2. Scegli il nome dello spazio dei nomi.

  3. Vai alla scheda Policy delle risorse.

  4. Scegli Aggiungi un'origine di integrazione autorizzata.

  5. Specifica l'ARN dell'origine per l'integrazione Zero-ETL.

Nota

La rimozione di un'origine di integrazione autorizzata blocca la replica dei dati nello spazio dei nomi. L'azione disattiva tutte le integrazioni Zero-ETL dall'origine nello spazio dei nomi.

Aggiunta di un'origine di integrazione autorizzata a un cluster con provisioning di Amazon Redshift

  1. Nella console Amazon Redshift, vai a Pannello di controllo dei cluster con provisioning.

  2. Scegli il nome del cluster con provisioning.

  3. Vai alla scheda Policy delle risorse.

  4. Scegli Aggiungi un'origine di integrazione autorizzata.

  5. Specifica l'ARN dell'origine dati per l'integrazione Zero-ETL.

Nota

La rimozione di un'origine di integrazione autorizzata blocca la replica dei dati nel cluster con provisionig. L'azione disattiva tutte le integrazioni Zero-ETL dall'origine nel cluster con provisioning Amazon Redshift.

Configurazione dell'autorizzazione usando l'API Amazon Redshift

Puoi utilizzare le operazioni API Amazon Redshift per configurare le policy delle risorse che funzionano con le integrazioni Zero-ETL.

Per controllare l'origine che può creare un'integrazione in entrata nello spazio dei nomi, crea una policy delle risorse e collegala allo spazio dei nomi. Con la policy delle risorse, puoi specificare l'origine che ha accesso all'integrazione. La policy delle risorse è collegata allo spazio dei nomi del data warehouse di destinazione per consentire all'origine di creare un'integrazione in entrata per replicare i dati in tempo reale dall'origine in Amazon Redshift.

Di seguito è riportata una policy delle risorse di esempio.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "redshift:AuthorizeInboundIntegration", "Resource": "arn:aws:redshift:*:*:integration:*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:rds:*:111122223333:cluster:*" } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "redshift:CreateInboundIntegration", "Resource": "arn:aws:redshift:*:*:integration:*" } ] }

Di seguito sono riepilogate le operazioni API Amazon Redshift applicabili alla configurazione delle policy delle risorse per le integrazioni:

  • Utilizza l'operazione API PutResourcePolicy per rendere persistente la policy delle risorse. Quando si fornisce un'altra policy delle risorse, quella precedente viene sostituita. Utilizza la policy delle risorse di esempio precedente, che assegna le autorizzazioni per le seguenti azioni:

    • CreateInboundIntegration: consente al principale di origine di creare un'integrazione in entrata per la replica dei dati dall'origine al data warehouse di destinazione.

    • AuthorizeInboundIntegration: consente ad Amazon Redshift di verificare continuamente che il data warehouse di destinazione possa ricevere dati replicati dall'ARN di origine.

  • Utilizza l'operazione API GetResourcePolicy per visualizzare le policy delle risorse esistenti.

  • Utilizza l'operazione API DeleteResourcePolicy per rimuovere una policy delle risorse.

Per aggiornare una policy delle risorse, puoi anche utilizzare il comando della AWS CLI put-resource-policy. Ad esempio, per inserire una policy delle risorse nell’ARN del namespace Amazon Redshift per un’origine DynamoDB, esegui un comando AWS CLI simile al seguente.

aws redshift put-resource-policy \ --policy file://rs-rp.json \ --resource-arn "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/cc4ffe56-ad2c-4fd1-a5a2-f29124a56433"

Dove rs-rp.json contiene:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "redshift:AuthorizeInboundIntegration", "Resource": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/cc4ffe56-ad2c-4fd1-a5a2-f29124a56433", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:dynamodb:us-east-1:123456789012:table/test_ddb" } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "redshift:CreateInboundIntegration", "Resource": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/cc4ffe56-ad2c-4fd1-a5a2-f29124a56433" } ] }