Konfigurasikan otorisasi untuk gudang data Amazon Redshift Anda - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai 1 November 2025. Jika Anda ingin menggunakan Python UDFs, buat UDFs sebelum tanggal tersebut. Python yang ada UDFs akan terus berfungsi seperti biasa. Untuk informasi lebih lanjut, lihat posting blog.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan otorisasi untuk gudang data Amazon Redshift Anda

Untuk mereplikasi data dari sumber integrasi Anda ke gudang data Amazon Redshift, Anda harus menambahkan dua entitas berikut:

  • Prinsipal resmi — mengidentifikasi pengguna atau peran yang dapat membuat integrasi nol-ETL ke dalam gudang data.

  • Sumber integrasi resmi - mengidentifikasi basis data sumber yang dapat memperbarui gudang data.

Anda dapat mengonfigurasi prinsip resmi dan sumber integrasi resmi dari tab Kebijakan Sumber Daya di konsol Amazon Redshift atau menggunakan operasi Amazon Redshift API. PutResourcePolicy

Tambahkan prinsipal resmi

Untuk membuat integrasi nol-ETL ke dalam workgroup Redshift Serverless atau klaster yang disediakan, otorisasi akses ke namespace terkait atau klaster yang disediakan.

Anda dapat melewati langkah ini jika kedua kondisi berikut benar:

  • Akun AWS Yang memiliki grup kerja Redshift Serverless atau cluster yang disediakan juga memiliki database sumber.

  • Prinsip tersebut dikaitkan dengan kebijakan IAM berbasis identitas dengan izin untuk membuat integrasi nol-ETL ke dalam namespace Redshift Tanpa Server atau cluster yang disediakan ini.

Tambahkan prinsipal resmi ke namespace Amazon Redshift Tanpa Server

  1. Di konsol Amazon Redshift, di panel navigasi kiri, pilih Redshift Serverless.

  2. Pilih konfigurasi Namespace, lalu pilih namespace Anda, dan buka tab Kebijakan Sumber Daya.

  3. Pilih Tambahkan prinsipal resmi.

  4. Untuk setiap prinsipal resmi yang ingin Anda tambahkan, masukkan ke dalam namespace baik ARN AWS pengguna atau peran, atau ID yang ingin Anda berikan akses untuk membuat Akun AWS integrasi nol-ETL. ID akun disimpan sebagai ARN.

  5. Pilih Simpan perubahan.

Tambahkan prinsipal resmi ke kluster yang disediakan Amazon Redshift

  1. Di konsol Amazon Redshift, di panel navigasi kiri, pilih Dasbor cluster yang disediakan.

  2. Pilih Cluster, lalu pilih klaster, dan buka tab Kebijakan Sumber Daya.

  3. Pilih Tambahkan prinsipal resmi.

  4. Untuk setiap prinsipal resmi yang ingin Anda tambahkan, masukkan ke dalam klaster baik ARN AWS pengguna atau peran, atau ID Akun AWS yang ingin Anda berikan akses untuk membuat integrasi nol-ETL. ID akun disimpan sebagai ARN.

  5. Pilih Simpan perubahan.

Tambahkan sumber integrasi resmi

Untuk mengizinkan sumber Anda memperbarui gudang data Amazon Redshift, Anda harus menambahkannya sebagai sumber integrasi resmi ke namespace.

Menambahkan sumber integrasi resmi ke namespace Amazon Redshift Tanpa Server

  1. Di konsol Amazon Redshift, buka dasbor Tanpa Server.

  2. Pilih nama namespace.

  3. Buka tab Kebijakan Sumber Daya.

  4. Pilih Tambahkan sumber integrasi resmi.

  5. Tentukan ARN sumber untuk integrasi nol-ETL.

catatan

Menghapus sumber integrasi resmi menghentikan data mereplikasi ke namespace. Tindakan ini menonaktifkan semua integrasi nol-ETL dari sumber itu ke namespace ini.

Menambahkan sumber integrasi resmi ke klaster yang disediakan Amazon Redshift

  1. Di konsol Amazon Redshift, buka dasbor cluster yang disediakan.

  2. Pilih nama cluster yang disediakan.

  3. Buka tab Kebijakan Sumber Daya.

  4. Pilih Tambahkan sumber integrasi resmi.

  5. Tentukan ARN dari sumber yang merupakan sumber data untuk integrasi nol-ETL.

catatan

Menghapus sumber integrasi resmi menghentikan data mereplikasi ke dalam klaster yang disediakan. Tindakan ini menonaktifkan semua integrasi nol-ETL dari sumber itu ke dalam cluster yang disediakan Amazon Redshift ini.

Konfigurasikan otorisasi menggunakan Amazon Redshift API

Anda dapat menggunakan operasi Amazon Redshift API untuk mengonfigurasi kebijakan sumber daya yang berfungsi dengan integrasi nol-ETL.

Untuk mengontrol sumber yang dapat membuat integrasi masuk ke dalam namespace, buat kebijakan sumber daya dan lampirkan ke namespace. Dengan kebijakan sumber daya, Anda dapat menentukan sumber yang memiliki akses ke integrasi. Kebijakan sumber daya dilampirkan ke namespace gudang data target Anda untuk memungkinkan sumber membuat integrasi masuk untuk mereplikasi data langsung dari sumber ke Amazon Redshift.

Berikut ini adalah contoh kebijakan sumber daya.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "redshift:AuthorizeInboundIntegration", "Condition": { "StringEquals": { "aws:SourceArn": "source_arn" } } }, { "Effect": "Allow", "Principal": { "AWS": "source_principal" }, "Action": "redshift:CreateInboundIntegration" } ] }

Berikut ini merangkum operasi Amazon Redshift API yang berlaku untuk mengonfigurasi kebijakan sumber daya untuk integrasi:

  • Gunakan operasi PutResourcePolicyAPI untuk mempertahankan kebijakan sumber daya. Saat Anda memberikan kebijakan sumber daya lain, kebijakan sumber daya sebelumnya pada sumber daya diganti. Gunakan contoh kebijakan sumber daya sebelumnya, yang memberikan izin untuk tindakan berikut:

    • CreateInboundIntegration— Memungkinkan prinsipal sumber untuk membuat integrasi inbound untuk data yang akan direplikasi dari sumber ke gudang data target.

    • AuthorizeInboundIntegration— Memungkinkan Amazon Redshift untuk terus memvalidasi bahwa gudang data target dapat menerima data yang direplikasi dari sumber ARN.

  • Gunakan operasi GetResourcePolicyAPI untuk melihat kebijakan sumber daya yang ada.

  • Gunakan operasi DeleteResourcePolicyAPI untuk menghapus kebijakan sumber daya dari sumber daya.

Untuk memperbarui kebijakan sumber daya, Anda juga dapat menggunakan put-resource-policy AWS CLI perintah. Misalnya, untuk menempatkan kebijakan sumber daya di ruang nama Amazon Redshift ARN untuk sumber DynamoDB, jalankan perintah yang mirip dengan berikut ini. AWS CLI

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"

Di mana rs-rp.json berisi:

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" } ] }