View a markdown version of this page

Membuat peran IAM sebagai default untuk Amazon Redshift - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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

Membuat peran IAM sebagai default untuk Amazon Redshift

Saat Anda membuat peran IAM melalui konsol Redshift, Amazon Redshift secara terprogram membuat peran di peran Anda Akun AWS dan secara otomatis melampirkan kebijakan terkelola yang ada AWS kepada mereka. Pendekatan ini berarti Anda dapat tetap berada di dalam konsol Redshift dan tidak perlu beralih ke konsol IAM untuk pembuatan peran. Untuk kontrol izin yang lebih terperinci untuk peran IAM yang sudah ada yang dibuat di konsol Amazon Redshift, Anda dapat melampirkan kebijakan terkelola yang disesuaikan ke peran IAM.

Peran IAM dibuat di konsol

Saat Anda menggunakan konsol Amazon Redshift untuk membuat peran IAM, Amazon Redshift melacak semua peran IAM yang dibuat melalui konsol. Amazon Redshift memilih terlebih dahulu peran IAM default terbaru untuk membuat semua cluster baru dan memulihkan cluster dari snapshot.

Anda dapat membuat peran IAM melalui konsol yang memiliki kebijakan dengan izin untuk menjalankan perintah SQL. Perintah ini termasuk COPY, UNLOAD, CREATE EXTERNAL FUNCTION, CREATE EXTERNAL TABLE, CREATE EXTERNAL SCHEMA, CREATE MODEL, atau CREATE LIBRARY. Secara opsional, Anda bisa mendapatkan kontrol yang lebih terperinci atas akses pengguna ke AWS sumber daya Anda dengan membuat dan melampirkan kebijakan khusus ke peran IAM.

Saat Anda membuat peran IAM dan mengaturnya sebagai default untuk cluster menggunakan konsol, Anda tidak perlu memberikan Nama Sumber Daya Amazon (ARN) peran IAM untuk melakukan otentikasi dan otorisasi.

Peran IAM yang Anda buat melalui konsol untuk cluster Anda memiliki kebijakan terkel AmazonRedshiftAllCommandsFullAccess ola yang dilampirkan secara otomatis. Peran IAM ini memungkinkan Amazon Redshift menyalin, membongkar, menanyakan, dan menganalisis data untuk AWS sumber daya di akun IAM Anda. Kebijakan terkelola menyediakan akses ke operasi COPY, UNLOAD, CREATE EXTERNAL FUNCTION, CREATE EXTERNAL SCHEMA, CREATE MODEL, dan CREATE LIBRARY. Kebijakan ini juga memberikan izin untuk menjalankan pernyataan SELECT untuk AWS layanan terkait, seperti Amazon S3, Amazon CloudWatch Logs, Amazon SageMaker AI, dan AWS Glue.

Perintah CREATE EXTERNAL FUNCTION, CREATE EXTERNAL SCHEMA, CREATE MODEL, dan CREATE LIBRARY memiliki default kata kunci. Untuk kata kunci ini untuk perintah ini, Amazon Redshift menggunakan peran IAM yang ditetapkan sebagai default dan terkait dengan cluster saat perintah dijalankan. Anda dapat menjalankan perintah DEFAULT_IAM_ROLE untuk memeriksa peran IAM default saat ini yang dilampirkan ke cluster.

Untuk mengontrol hak akses peran IAM yang dibuat dan ditetapkan sebagai default untuk cluster Redshift Anda, gunakan hak istimewa ASSUMEROLE. Kontrol akses ini berlaku untuk pengguna database dan grup ketika mereka menjalankan perintah seperti yang tercantum sebelumnya. Setelah Anda memberikan hak istimewa ASSUMEROLE kepada pengguna atau grup untuk peran IAM, pengguna atau grup dapat mengambil peran itu saat menjalankan perintah ini. Dengan menggunakan hak istimewa ASSUMEROLE, Anda dapat memberikan akses ke perintah yang sesuai sesuai kebutuhan.

Menggunakan konsol Amazon Redshift, Anda dapat melakukan hal berikut:

Izin kebijakan ter AmazonRedshiftAllCommandsFullAccess kelola

Contoh berikut menunjukkan izin dalam kebijakan terkel AmazonRedshiftAllCommandsFullAccess ola yang mengizinkan tindakan tertentu untuk peran IAM yang ditetapkan sebagai default untuk cluster Anda. Peran IAM dengan kebijakan izin terlampir mengizinkan apa yang dapat dan tidak dapat dilakukan pengguna atau grup. Dengan izin ini, Anda dapat menjalankan perintah COPY dari Amazon S3, menjalankan UNLOAD, dan menggunakan perintah CREATE MODEL.

{ "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*/*" ] }

Contoh berikut menunjukkan izin dalam kebijakan terkel AmazonRedshiftAllCommandsFullAccess ola yang mengizinkan tindakan tertentu untuk peran IAM yang ditetapkan sebagai default untuk cluster. Peran IAM dengan kebijakan izin terlampir mengizinkan apa yang dapat dan tidak dapat dilakukan pengguna atau grup. Dengan izin berikut, Anda dapat menjalankan perintah CREATE EXTERNAL FUNCTION.

{ "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:*redshift*" }

Contoh berikut menunjukkan izin dalam kebijakan terkel AmazonRedshiftAllCommandsFullAccess ola yang mengizinkan tindakan tertentu untuk peran IAM yang ditetapkan sebagai default untuk cluster. Peran IAM dengan kebijakan izin terlampir mengizinkan apa yang dapat dan tidak dapat dilakukan pengguna atau grup. Dengan izin berikut, Anda dapat menjalankan perintah CREATE EXTERNAL SCHEMA dan CREATE EXTERNAL TABLE yang diperlukan untuk Amazon Redshift Spectrum.

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

Contoh berikut menunjukkan izin dalam kebijakan terkel AmazonRedshiftAllCommandsFullAccess ola yang mengizinkan tindakan tertentu untuk peran IAM ditetapkan sebagai default untuk cluster. Peran IAM dengan kebijakan izin terlampir mengizinkan apa yang dapat dan tidak dapat dilakukan pengguna atau grup. Dengan izin berikut, Anda dapat menjalankan perintah CREATE EXTERNAL SCHEMA menggunakan kueri federasi.

{ "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" } } },

Mengelola peran IAM yang dibuat untuk cluster menggunakan konsol

Untuk membuat, memodifikasi, dan menghapus peran IAM yang dibuat dari konsol Amazon Redshift, gunakan bagian Cluster di konsol.

Membuat peran IAM sebagai default

Di konsol, Anda dapat membuat peran IAM untuk cluster yang memiliki AmazonRedshiftAllCommandsFullAccess kebijakan yang dilampirkan secara otomatis. Peran IAM baru yang Anda buat memungkinkan Amazon Redshift menyalin, memuat, menanyakan, dan menganalisis data dari sumber daya Amazon di akun IAM Anda.

Hanya ada satu peran IAM yang ditetapkan sebagai default untuk cluster. Jika Anda membuat peran IAM lain sebagai default cluster ketika peran IAM yang ada saat ini ditetapkan sebagai default, peran IAM baru akan menggantikan peran IAM lainnya sebagai default.

Untuk membuat cluster baru dan peran IAM ditetapkan sebagai default untuk cluster baru
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Redshift di https://console.aws.amazon.com/redshiftv2/.

  2. Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.

  3. Pilih Buat cluster untuk membuat cluster.

  4. Ikuti petunjuk pada halaman konsol untuk memasukkan properti untuk konfigurasi Cluster. Untuk informasi selengkapnya tentang langkah ini, lihat Membuat kluster.

  5. (Opsional) Pilih Mu at data sampel untuk memuat kumpulan data sampel ke cluster Amazon Redshift Anda untuk mulai menggunakan editor kueri untuk menanyakan data.

    Jika Anda berada di belakang firewall, port database harus berupa port terbuka yang menerima koneksi masuk.

  6. Ikuti petunjuk pada halaman konsol untuk memasukkan properti untuk konfigurasi Database.

  7. Di bawah Izin klaster, dari Kelola peran IAM, pilih Buat peran IAM.

  8. Tentukan bucket Amazon S3 untuk peran IAM yang akan diakses dengan memilih salah satu metode berikut:

    • Pilih Tidak ada bucket Amazon S3 tambahan untuk membuat peran IAM tanpa menentukan bucket Amazon S3 tertentu.

    • Pilih Bucket Amazon S3 apa saja untuk mengizinkan pengguna yang memiliki akses ke cluster Amazon Redshift Anda untuk juga mengakses bucket Amazon S3 apa pun dan isinya di Anda Akun AWS.

    • Pilih Bucket Amazon S3 Khusus untuk menentukan satu atau beberapa bucket Amazon S3 yang dapat diakses oleh peran IAM yang sedang dibuat. Kemudian pilih satu atau lebih bucket Amazon S3 dari tabel.

  9. Pilih Buat peran IAM sebagai default. Amazon Redshift secara otomatis membuat dan menetapkan peran IAM sebagai default untuk cluster Anda.

  10. Pilih Buat cluster untuk membuat cluster. Cluster mungkin membutuhkan waktu beberapa menit untuk siap digunakan.

Menghapus peran IAM dari cluster Anda

Anda dapat menghapus satu atau beberapa peran IAM dari cluster Anda.

Untuk menghapus peran IAM dari cluster
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Redshift di https://console.aws.amazon.com/redshiftv2/.

  2. Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.

  3. Pilih cluster tempat Anda ingin menghapus peran IAM.

  4. Di bawah Iz in klaster, pilih satu atau beberapa peran IAM yang ingin Anda hapus dari cluster.

  5. Dari Kel ola peran IAM, pilih H apus peran IAM.

Mengaitkan peran IAM dengan cluster Anda

Anda dapat mengaitkan satu atau beberapa peran IAM dengan cluster Anda.

Untuk mengaitkan peran IAM dengan cluster Anda
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Redshift di https://console.aws.amazon.com/redshiftv2/.

  2. Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.

  3. Pilih cluster yang ingin Anda kaitkan dengan peran IAM.

  4. Di bawah Izin klaster, pilih satu atau beberapa peran IAM yang ingin Anda kaitkan dengan cluster.

  5. Dari Kel ola peran IAM, pilih Asosiasikan peran IAM.

  6. Pilih satu atau lebih peran IAM untuk dikaitkan dengan cluster Anda.

  7. Pilih Per an Asosiasi IAM.

Menetapkan peran IAM sebagai default

Anda dapat menetapkan peran IAM sebagai default untuk cluster Anda.

Untuk menjadikan peran IAM sebagai default untuk cluster Anda
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Redshift di https://console.aws.amazon.com/redshiftv2/.

  2. Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.

  3. Pilih cluster yang ingin Anda tetapkan peran IAM default.

  4. Di bawah izin cluster, dari peran IAM terkait, pilih peran IAM yang ingin Anda jadikan sebagai default untuk cluster.

  5. Di bawah Set default, pilih J adikan default.

  6. Saat diminta, pilih Setel default untuk mengonfirmasi pembuatan peran IAM yang ditentukan sebagai default.

Membuat peran IAM tidak lagi default untuk cluster Anda

Anda dapat membuat peran IAM tidak lagi default untuk cluster Anda.

Untuk menghapus peran IAM sebagai default untuk cluster Anda
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Redshift di https://console.aws.amazon.com/redshiftv2/.

  2. Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.

  3. Pilih cluster yang ingin Anda kaitkan dengan peran IAM.

  4. Di bawah izin cluster, dari peran IAM terkait, pilih peran IAM default.

  5. Di bawah Setel default, pilih Hapus default.

  6. Saat diminta, pilih H apus default untuk mengonfirmasi penghapusan peran IAM yang ditentukan sebagai default.

Mengelola peran IAM yang dibuat di cluster menggunakan AWS CLI

Anda dapat mengelola peran IAM yang dibuat di cluster menggunakan. AWS CLI

Untuk membuat cluster Amazon Redshift dengan peran IAM ditetapkan sebagai default

Untuk membuat cluster Amazon Redshift dengan peran IAM, tetapkan sebagai default untuk cluster, gunakan perintah aws redshift create-cluster AWS CLI .

Per AWS CLI intah berikut membuat cluster Amazon Redshift dan peran IAM bernama myrole1. Per AWS CLI intah ini juga menetapkan myrole1 sebagai default untuk cluster.

aws redshift create-cluster \ --node-type dc2.large \ --number-of-nodes 2 \ --master-username adminuser \ --master-user-password TopSecret1 \ --cluster-identifier mycluster \ --iam-roles 'arn:aws:iam::012345678910:role/myrole1' 'arn:aws:iam::012345678910:role/myrole2' \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole1'

Cuplikan berikut adalah contoh respons.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "adding" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "adding" } ] ... } }

Untuk menambahkan satu atau beberapa peran IAM ke cluster Amazon Redshift

Untuk menambahkan satu atau lebih peran IAM yang terkait dengan cluster, gunakan aws redshift modify-cluster-iam-roles AWS CLI perintah.

Per AWS CLI intah berikut menambah myrole3 dan myrole4 ke cluster.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --add-iam-roles 'arn:aws:iam::012345678910:role/myrole3' 'arn:aws:iam::012345678910:role/myrole4'

Cuplikan berikut adalah contoh respons.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "ApplyStatus": "adding" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole4", "ApplyStatus": "adding" } ], ... } }

Untuk menghapus satu atau beberapa peran IAM dari cluster Amazon Redshift

Untuk menghapus satu atau beberapa peran IAM yang terkait dengan cluster, gunakan aws redshift modify-cluster-iam-roles AWS CLI perintah.

Per AWS CLI intah berikut menghapus myrole3 dan myrole4 dari cluster.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --remove-iam-roles 'arn:aws:iam::012345678910:role/myrole3' 'arn:aws:iam::012345678910:role/myrole4'

Cuplikan berikut adalah contoh respons.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "ApplyStatus": "removing" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole4", "ApplyStatus": "removing" } ], ... } }

Untuk mengatur peran IAM terkait sebagai default untuk cluster

Untuk menetapkan peran IAM terkait sebagai default untuk cluster, gunakan aws redshift modify-cluster-iam-roles AWS CLI perintah.

Per AWS CLI intah berikut myrole2 ditetapkan sebagai default untuk cluster.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole2'

Cuplikan berikut adalah contoh respons.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" } ], ... } }

Untuk menyetel peran IAM yang tidak terkait sebagai default untuk cluster

Untuk menetapkan peran IAM yang tidak terkait sebagai default untuk cluster, gunakan perintah aws redshift modify-cluster-iam-roles AWS CLI .

Per AWS CLI intah berikut myrole2 menambah cluster Amazon Redshift dan menetapkannya sebagai default untuk cluster.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --add-iam-roles 'arn:aws:iam::012345678910:role/myrole3' \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole3'

Cuplikan berikut adalah contoh respons.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "ApplyStatus": "adding" } ], ... } }

Untuk memulihkan cluster dari snapshot dan menetapkan peran IAM sebagai default untuknya

Saat memulihkan cluster dari snapshot, Anda dapat mengaitkan peran IAM yang ada atau membuat yang baru dan mengaturnya sebagai default untuk cluster.

Untuk memulihkan cluster Amazon Redshift dari snapshot dan menetapkan peran IAM sebagai default cluster, gunakan perintah aws redshift restore-from-cluster-snapshot AWS CLI .

Per AWS CLI intah berikut mengembalikan cluster dari snapshot dan menetapkan myrole2 sebagai default untuk cluster.

aws redshift restore-from-cluster-snapshot \ --cluster-identifier mycluster-clone \ --snapshot-identifier my-snapshot-id --iam-roles 'arn:aws:iam::012345678910:role/myrole1' 'arn:aws:iam::012345678910:role/myrole2' \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole1'

Cuplikan berikut adalah contoh respons.

{ "Cluster": { "ClusterIdentifier": "mycluster-clone", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "adding" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "adding" } ], ... } }