Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat IAM peran sebagai default untuk Amazon Redshift
Saat Anda membuat IAM peran melalui konsol Redshift, Amazon Redshift secara terprogram membuat peran di dalam peran Akun AWS Anda dan secara otomatis melampirkan AWS kebijakan terkelola yang ada padanya. Pendekatan ini berarti Anda dapat tetap berada di dalam konsol Redshift dan tidak perlu beralih ke IAM konsol untuk pembuatan peran. Untuk kontrol izin yang lebih terperinci untuk IAM peran yang sudah ada yang dibuat di konsol Amazon Redshift, Anda dapat melampirkan kebijakan terkelola yang disesuaikan ke peran tersebut. IAM
IAMperan yang dibuat di konsol
Saat Anda menggunakan konsol Amazon Redshift untuk membuat IAM peran, Amazon Redshift melacak IAM semua peran yang dibuat melalui konsol. Amazon Redshift memilih IAM peran default terbaru untuk membuat semua cluster baru dan memulihkan cluster dari snapshot.
Anda dapat membuat IAM peran melalui konsol yang memiliki kebijakan dengan izin untuk menjalankan SQL perintah. Perintah-perintah ini termasuk COPYUNLOAD, CREATE EXTERNALFUNCTION, CREATE EXTERNALTABLE, CREATE EXTERNALSCHEMA, CREATEMODEL,, atau CREATELIBRARY. 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 tersebut. IAM
Saat Anda membuat IAM peran dan mengaturnya sebagai default untuk klaster menggunakan konsol, Anda tidak perlu menyediakan Amazon Resource Name (ARN) IAM peran tersebut untuk melakukan autentikasi dan otorisasi.
IAMPeran yang Anda buat melalui konsol untuk klaster Anda memiliki kebijakan AmazonRedshiftAllCommandsFullAccess
terkelola yang dilampirkan secara otomatis. IAMPeran ini memungkinkan Amazon Redshift menyalin, membongkar, menanyakan, dan menganalisis data untuk AWS sumber daya di akun Anda. IAM Kebijakan terkelola menyediakan akses ke COPY, UNLOAD, CREATEEXTERNALFUNCTION, CREATEEXTERNALSCHEMA,, CREATEMODEL, dan CREATELIBRARYoperasi. Kebijakan ini juga memberikan izin untuk menjalankan SELECT pernyataan untuk AWS layanan terkait, seperti Amazon S3, Amazon Logs, CloudWatch SageMaker Amazon, dan. AWS Glue
Perintah CREATE EXTERNAL FUNCTION CREATE EXTERNALSCHEMA, CREATEMODEL, dan CREATE LIBRARY perintah memiliki default
kata kunci. Untuk kata kunci ini untuk perintah ini, Amazon Redshift menggunakan IAM peran yang ditetapkan sebagai default dan terkait dengan cluster saat perintah berjalan. Anda dapat menjalankan ROLE perintah DEFAULTIAM_ _ untuk memeriksa IAM peran default saat ini yang dilampirkan ke cluster.
Untuk mengontrol hak akses dari IAM peran yang dibuat dan ditetapkan sebagai default untuk klaster Redshift Anda, gunakan ASSUMEROLE hak istimewa. Kontrol akses ini berlaku untuk pengguna database dan grup ketika mereka menjalankan perintah seperti yang tercantum sebelumnya. Setelah Anda memberikan ASSUMEROLE hak istimewa kepada pengguna atau grup untuk IAM peran tersebut, pengguna atau grup dapat mengambil peran tersebut saat menjalankan perintah ini. Dengan menggunakan hak ASSUMEROLE istimewa, Anda dapat memberikan akses ke perintah yang sesuai sesuai kebutuhan.
Menggunakan konsol Amazon Redshift, Anda dapat melakukan hal berikut:
Izin kebijakan AmazonRedshiftAllCommandsFullAccess terkelola
Contoh berikut menunjukkan izin dalam kebijakan AmazonRedshiftAllCommandsFullAccess
terkelola yang mengizinkan tindakan tertentu untuk IAM peran yang ditetapkan sebagai default untuk klaster Anda. IAMPeran dengan kebijakan izin yang dilampirkan mengotorisasi apa yang dapat dan tidak dapat dilakukan oleh pengguna atau grup. Dengan izin ini, Anda dapat menjalankan COPY perintah dari Amazon S3, UNLOAD menjalankan, dan menggunakan CREATE MODEL perintah.
{ "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 AmazonRedshiftAllCommandsFullAccess
terkelola yang mengizinkan tindakan tertentu untuk IAM peran yang ditetapkan sebagai default untuk klaster. IAMPeran dengan kebijakan izin yang dilampirkan mengotorisasi apa yang dapat dan tidak dapat dilakukan oleh pengguna atau grup. Dengan izin berikut, Anda dapat menjalankan CREATE EXTERNAL FUNCTION perintah.
{ "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:*redshift*" }
Contoh berikut menunjukkan izin dalam kebijakan AmazonRedshiftAllCommandsFullAccess
terkelola yang mengizinkan tindakan tertentu untuk IAM peran yang ditetapkan sebagai default untuk klaster. IAMPeran dengan kebijakan izin yang dilampirkan mengotorisasi apa yang dapat dan tidak dapat dilakukan oleh pengguna atau grup. Dengan izin berikut, Anda dapat menjalankan CREATE EXTERNAL TABLE perintah CREATE EXTERNAL SCHEMA dan 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 AmazonRedshiftAllCommandsFullAccess
terkelola yang mengizinkan tindakan tertentu untuk IAM peran yang ditetapkan sebagai default untuk klaster. IAMPeran dengan kebijakan izin yang dilampirkan mengotorisasi apa yang dapat dan tidak dapat dilakukan oleh pengguna atau grup. Dengan izin berikut, Anda dapat menjalankan CREATE EXTERNAL SCHEMA perintah 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 IAM peran yang dibuat untuk klaster menggunakan konsol
Untuk membuat, memodifikasi, dan menghapus IAM peran yang dibuat dari konsol Amazon Redshift, gunakan bagian Clusters di konsol.
Membuat IAM peran sebagai default
Di konsol, Anda dapat membuat IAM peran untuk klaster yang memiliki AmazonRedshiftAllCommandsFullAccess
kebijakan yang dilampirkan secara otomatis. IAMPeran baru yang Anda buat memungkinkan Amazon Redshift menyalin, memuat, menanyakan, dan menganalisis data dari sumber daya Amazon di akun AndaIAM.
Hanya ada satu set IAM peran sebagai default untuk cluster. Jika Anda membuat IAM peran lain sebagai default klaster saat IAM peran yang ada saat ini ditetapkan sebagai default, IAM peran baru menggantikan peran lainnya sebagai default.
Untuk membuat klaster baru dan set IAM peran sebagai default untuk cluster baru
-
Masuk ke AWS Management Console dan buka konsol Amazon Redshift di. https://console.aws.amazon.com/redshiftv2/
-
Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.
-
Pilih Buat cluster untuk membuat cluster.
-
Ikuti petunjuk di halaman konsol untuk memasukkan properti untuk konfigurasi Cluster. Untuk informasi selengkapnya tentang langkah ini, lihat Membuat klaster.
-
(Opsional) Pilih Muat 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.
-
Ikuti petunjuk di halaman konsol untuk memasukkan properti untuk konfigurasi Database.
-
Di bawah Izin cluster, dari Kelola IAM peran, pilih Buat IAM peran.
-
Tentukan bucket Amazon S3 untuk IAM peran yang akan diakses dengan memilih salah satu metode berikut:
-
Pilih Tidak ada bucket Amazon S3 tambahan untuk membuat IAM peran tanpa menentukan bucket Amazon S3 tertentu.
-
Pilih bucket Amazon S3 apa pun untuk memungkinkan pengguna yang memiliki akses ke klaster Amazon Redshift Anda untuk juga mengakses bucket Amazon S3 apa pun dan isinya di dalam Anda. Akun AWS
-
Pilih Bucket Amazon S3 Spesifik untuk menentukan satu atau beberapa bucket Amazon S3 yang memiliki izin untuk diakses oleh IAM peran yang dibuat. Kemudian pilih satu atau lebih ember Amazon S3 dari tabel.
-
-
Pilih Buat IAM peran sebagai default. Amazon Redshift secara otomatis membuat dan menetapkan IAM peran sebagai default untuk klaster Anda.
-
Pilih Buat cluster untuk membuat cluster. Cluster mungkin membutuhkan waktu beberapa menit untuk siap digunakan.
Menghapus IAM peran dari klaster
Anda dapat menghapus satu atau beberapa IAM peran dari klaster Anda.
Untuk menghapus IAM peran dari klaster
-
Masuk ke AWS Management Console dan buka konsol Amazon Redshift di. https://console.aws.amazon.com/redshiftv2/
-
Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.
-
Pilih klaster yang ingin Anda hapus IAM perannya.
-
Di bawah Izin klaster, pilih satu atau IAM beberapa peran yang ingin Anda hapus dari klaster.
-
Dari Kelola IAM peran, pilih Hapus IAM peran.
Mengaitkan IAM peran dengan klaster Anda
Anda dapat mengaitkan satu atau beberapa IAM peran dengan klaster Anda.
Untuk mengaitkan IAM peran dengan klaster Anda
-
Masuk ke AWS Management Console dan buka konsol Amazon Redshift di. https://console.aws.amazon.com/redshiftv2/
-
Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.
-
Pilih klaster yang ingin Anda kaitkan dengan IAM peran.
-
Di bawah Izin klaster, pilih satu atau beberapa IAM peran yang ingin Anda kaitkan dengan klaster.
-
Dari Kelola IAM peran, pilih IAMPeran asosiasi.
-
Pilih satu bijih IAM peran lagi untuk diasosiasikan dengan cluster Anda.
-
Pilih IAMperan Associate.
Menetapkan IAM peran sebagai default
Anda dapat menetapkan IAM peran sebagai default untuk klaster Anda.
Untuk menjadikan IAM peran sebagai default untuk klaster Anda
-
Masuk ke AWS Management Console dan buka konsol Amazon Redshift di. https://console.aws.amazon.com/redshiftv2/
-
Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.
-
Pilih klaster yang ingin Anda tetapkan IAM peran defaultnya.
-
Di bawah Izin klaster, dari IAMperan Terkait, pilih IAM peran yang ingin Anda jadikan sebagai default untuk klaster.
-
Di bawah Set default, pilih Make default.
-
Saat diminta, pilih Setel default untuk mengonfirmasi membuat IAM peran yang ditentukan sebagai default.
Membuat IAM peran tidak lagi default untuk klaster Anda
Anda dapat membuat IAM peran bukan lagi default untuk klaster Anda.
Untuk menghapus IAM peran sebagai default untuk klaster Anda
-
Masuk ke AWS Management Console dan buka konsol Amazon Redshift di. https://console.aws.amazon.com/redshiftv2/
-
Pada menu navigasi, pilih Cluster. Cluster untuk akun Anda saat ini Wilayah AWS terdaftar. Subset properti dari setiap cluster ditampilkan dalam kolom dalam daftar.
-
Pilih klaster yang ingin Anda kaitkan dengan IAM peran.
-
Di bawah Izin klaster, dari IAMperan Terkait, pilih IAM peran default.
-
Di bawah Setel default, pilih Hapus default.
-
Saat diminta, pilih Hapus default untuk mengonfirmasi pembersihan IAM peran yang ditentukan sebagai default.
Mengelola IAM peran yang dibuat di cluster menggunakan AWS CLI
Anda dapat mengelola IAM peran yang dibuat di cluster menggunakan file AWS CLI.
Untuk membuat klaster Amazon Redshift dengan set IAM peran sebagai default
Untuk membuat klaster Amazon Redshift dengan IAM peran, tetapkan sebagai default untuk cluster, gunakan perintah. aws redshift create-cluster
AWS CLI
AWS CLI Perintah berikut membuat cluster Amazon Redshift dan IAM peran bernama myrole1. AWS CLI Perintah 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 responsnya.
{ "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 IAM peran ke cluster Amazon Redshift
Untuk menambahkan satu atau beberapa IAM peran yang terkait dengan cluster, gunakan aws
redshift modify-cluster-iam-roles
AWS CLI perintah.
AWS CLI Perintah berikut menambahkan 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 responsnya.
{ "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 IAM peran dari klaster Amazon Redshift
Untuk menghapus satu atau beberapa IAM peran yang terkait dengan cluster, gunakan aws
redshift modify-cluster-iam-roles
AWS CLI perintah.
AWS CLI Perintah 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 responsnya.
{ "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 menetapkan IAM peran terkait sebagai default untuk cluster
Untuk menetapkan IAM peran terkait sebagai default untuk cluster, gunakan aws redshift modify-cluster-iam-roles
AWS CLI perintah.
AWS CLI Perintah berikut ditetapkan myrole2
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 responsnya.
{ "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 menetapkan IAM peran yang tidak terkait sebagai default untuk klaster
Untuk menetapkan IAM peran yang tidak terkait sebagai default untuk cluster, gunakan aws redshift modify-cluster-iam-roles
AWS CLI perintah.
AWS CLI Perintah berikut ditambahkan myrole2
ke 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 responsnya.
{ "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 IAM peran sebagai default untuk itu
Saat memulihkan klaster dari snapshot, Anda dapat mengaitkan IAM peran yang ada atau membuat yang baru dan mengaturnya sebagai default untuk cluster.
Untuk memulihkan klaster Amazon Redshift dari snapshot dan menetapkan IAM peran sebagai default cluster, gunakan perintah. aws redshift restore-from-cluster-snapshot
AWS CLI
AWS CLI Perintah 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 responsnya.
{ "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" } ], ... } }