Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan kebijakan (IAMkebijakan) berbasis identitas untuk Amazon Redshift
Topik ini memberikan contoh kebijakan berbasis identitas di mana administrator akun dapat melampirkan kebijakan izin ke IAM identitas (yaitu, pengguna, grup, dan peran).
penting
Kami menyarankan Anda terlebih dahulu meninjau topik pengantar yang menjelaskan konsep dasar dan opsi yang tersedia bagi Anda untuk mengelola akses ke sumber daya Amazon Redshift Anda. Untuk informasi selengkapnya, lihat Ikhtisar mengelola izin akses ke sumber daya Amazon Redshift.
Berikut adalah contoh kebijakan izin. Kebijakan ini memungkinkan pengguna untuk membuat, menghapus, memodifikasi, dan me-reboot semua kluster, lalu menolak izin untuk menghapus atau memodifikasi kluster tempat pengenal klaster dimulai dengan in dan. production
Wilayah AWS us-west-2
Akun 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" } ] }
Kebijakan tersebut memiliki dua pernyataan:
-
Pernyataan pertama memberikan izin bagi pengguna kepada pengguna untuk membuat, menghapus, memodifikasi, dan me-reboot cluster. Pernyataan tersebut menetapkan karakter wildcard (*) sebagai
Resource
nilai sehingga kebijakan tersebut berlaku untuk semua resource Amazon Redshift yang dimiliki oleh akun root. AWS -
Pernyataan kedua menolak izin untuk menghapus atau memodifikasi cluster. Pernyataan tersebut menentukan klaster Amazon Resource Name (ARN) untuk
Resource
nilai yang menyertakan karakter wildcard (*). Akibatnya, pernyataan ini berlaku untuk semua cluster Amazon Redshift yang dimiliki oleh AWS akun root tempat pengidentifikasi cluster dimulai.production
AWS kebijakan terkelola untuk Amazon Redshift
AWS mengatasi banyak kasus penggunaan umum dengan menyediakan IAM kebijakan mandiri yang dibuat dan dikelola oleh AWS. Kebijakan terkelola ini memberikan izin yang diperlukan untuk kasus penggunaan umum sehingga Anda tidak perlu menyelidiki izin apa yang diperlukan. Untuk informasi selengkapnya, lihat kebijakan AWS terkelola di Panduan IAM Pengguna.
Anda juga dapat membuat IAM kebijakan kustom Anda sendiri untuk mengizinkan izin untuk operasi dan sumber daya Amazon API Redshift. Anda dapat melampirkan kebijakan khusus ini ke IAM peran atau grup yang memerlukan izin tersebut.
Bagian berikut menjelaskan kebijakan AWS terkelola, yang dapat Anda lampirkan ke pengguna di akun Anda, dan khusus untuk Amazon Redshift.
AmazonRedshiftReadOnlyAccess
Memberikan akses hanya-baca ke semua sumber daya Amazon Redshift untuk sebuah akun. AWS
Anda dapat menemukan AmazonRedshiftReadOnlyAccess
AmazonRedshiftFullAccess
Memberikan akses penuh ke semua sumber daya Amazon Redshift untuk AWS sebuah akun. Selain itu, kebijakan ini memberikan akses penuh ke semua sumber daya Amazon Redshift Tanpa Server.
Anda dapat menemukan AmazonRedshiftFullAccess
AmazonRedshiftQueryEditor
Memberikan akses penuh ke editor kueri di konsol Amazon Redshift.
Anda dapat menemukan AmazonRedshiftQueryEditor
AmazonRedshiftDataFullAccess
Memberikan akses penuh ke operasi Amazon Redshift API Data dan sumber daya untuk AWS akun.
Anda dapat menemukan AmazonRedshiftDataFullAccess
AmazonRedshiftQueryEditorV2 FullAccess
Memberikan akses penuh ke operasi dan sumber daya Amazon Redshift query editor v2. Kebijakan ini juga memberikan akses ke layanan lain yang diperlukan.
Anda dapat menemukan FullAccess kebijakan AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2 NoSharing
Memberikan kemampuan untuk bekerja dengan editor kueri Amazon Redshift v2 tanpa berbagi sumber daya. Kebijakan ini juga memberikan akses ke layanan lain yang diperlukan. Prinsipal yang menggunakan kebijakan ini tidak dapat menandai sumber dayanya (seperti kueri) untuk membagikannya dengan prinsipal lain dalam hal yang sama. Akun AWS
Anda dapat menemukan NoSharing kebijakan AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2 ReadSharing
Memberikan kemampuan untuk bekerja dengan editor kueri Amazon Redshift v2 dengan berbagi sumber daya yang terbatas. Kebijakan ini juga memberikan akses ke layanan lain yang diperlukan. Prinsipal yang menggunakan kebijakan ini dapat menandai sumber dayanya (seperti kueri) untuk membagikannya dengan prinsipal lain dalam hal yang sama. Akun AWS Prinsipal yang diberikan dapat membaca sumber daya yang dibagikan dengan timnya tetapi tidak dapat memperbaruinya.
Anda dapat menemukan ReadSharing kebijakan AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2 ReadWriteSharing
Memberikan kemampuan untuk bekerja dengan editor kueri Amazon Redshift v2 dengan berbagi sumber daya. Kebijakan ini juga memberikan akses ke layanan lain yang diperlukan. Prinsipal yang menggunakan kebijakan ini dapat menandai sumber dayanya (seperti kueri) untuk membagikannya dengan prinsipal lain dalam hal yang sama. Akun AWS Kepala sekolah yang diberikan dapat membaca dan memperbarui sumber daya yang dibagikan dengan timnya.
Anda dapat menemukan ReadWriteSharing kebijakan AmazonRedshiftQueryEditorV2
AmazonRedshiftServiceLinkedRolePolicy
Anda tidak dapat melampirkan AmazonRedshiftServiceLinkedRolePolicy ke IAM entitas Anda. Kebijakan ini dilampirkan ke peran terkait layanan yang memungkinkan Amazon Redshift mengakses sumber daya akun. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon Redshift.
Anda dapat menemukan AmazonRedshiftServiceLinkedRolePolicy
AmazonRedshiftAllCommandsFullAccess
Memberikan kemampuan untuk menggunakan IAM peran yang dibuat dari konsol Amazon Redshift dan mengaturnya sebagai default untuk cluster untuk menjalankan COPY perintah dari Amazon S3UNLOAD,,,, CREATE EXTERNALSCHEMA, CREATE EXTERNAL FUNCTION dan. CREATE MODEL Kebijakan ini juga memberikan izin untuk menjalankan SELECT pernyataan untuk layanan terkait, seperti Amazon S3, CloudWatch Log, Amazon SageMaker, atau. AWS Glue
Anda dapat menemukan AmazonRedshiftAllCommandsFullAccess
Anda juga dapat membuat IAM kebijakan kustom Anda sendiri untuk mengizinkan izin untuk operasi dan sumber daya Amazon API Redshift. Anda dapat melampirkan kebijakan khusus ini ke IAM peran atau grup yang memerlukan izin tersebut.
Pembaruan Amazon Redshift ke kebijakan terkelola AWS
Lihat detail tentang pembaruan kebijakan AWS terkelola untuk Amazon Redshift sejak layanan ini mulai melacak perubahan ini. Untuk peringatan otomatis tentang perubahan pada halaman ini, berlangganan RSS feed di halaman riwayat Dokumen Amazon Redshift.
Perubahan | Deskripsi | Tanggal |
---|---|---|
AmazonRedshiftServiceLinkedRolePolicy — Permbaruan ke kebijakan yang sudah ada |
Izin untuk tindakan |
8 Maret 2024 |
AmazonRedshiftQueryEditorV2 FullAccess – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 21, 2024 |
AmazonRedshiftQueryEditorV2 NoSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 21, 2024 |
AmazonRedshiftQueryEditorV2 ReadSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 21, 2024 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 21, 2024 |
AmazonRedshiftReadOnlyAccess – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 7, 2024 |
AmazonRedshiftServiceLinkedRolePolicy – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
31 Oktober 2023 |
AmazonRedshiftQueryEditorV2 NoSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
16 Agustus 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
16 Agustus 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
16 Agustus 2023 |
AmazonRedshiftServiceLinkedRolePolicy – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan AWS Secrets Manager untuk membuat dan mengelola rahasia ditambahkan ke kebijakan terkelola. Izin yang ditambahkan adalah sebagai berikut:
|
Agustus 14, 2023 |
AmazonRedshiftServiceLinkedRolePolicy – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan di Amazon EC2 untuk membuat dan mengelola grup keamanan dan aturan perutean dihapus dari kebijakan terkelola. Izin ini berkaitan dengan pembuatan subnet dan. VPCs Izin yang dihapus adalah sebagai berikut:
|
08 Mei 2023 |
AmazonRedshiftDataFullAccess – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
April 7, 2023 |
AmazonRedshiftServiceLinkedRolePolicy – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan di Amazon EC2 untuk pembuatan dan pengelolaan aturan grup keamanan ditambahkan ke kebijakan terkelola. Grup dan aturan keamanan ini secara khusus terkait dengan tag |
April 06, 2023 |
AmazonRedshiftQueryEditorV2 NoSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
21 Maret 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
21 Maret 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
21 Maret 2023 |
AmazonRedshiftQueryEditorV2 NoSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
2 Februari 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
2 Februari 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
2 Februari 2023 |
AmazonRedshiftQueryEditorV2 NoSharing – Pembaruan ke kebijakan yang ada |
Untuk memberikan izin menggunakan buku catatan, Amazon Redshift menambahkan izin untuk tindakan berikut:
|
Oktober 17, 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Pembaruan ke kebijakan yang ada |
Untuk memberikan izin menggunakan buku catatan, Amazon Redshift menambahkan izin untuk tindakan berikut:
|
Oktober 17, 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Pembaruan ke kebijakan yang ada |
Untuk memberikan izin menggunakan buku catatan, Amazon Redshift menambahkan izin untuk tindakan berikut:
|
Oktober 17, 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan namespace |
7 September 2022 |
AmazonRedshiftQueryEditorV2 NoSharing – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin ke tindakan |
30 Agustus 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin ke tindakan |
30 Agustus 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin ke tindakan |
30 Agustus 2022 |
AmazonRedshiftFullAccess – Pembaruan ke kebijakan yang ada |
Izin untuk Amazon Redshift Tanpa Server ditambahkan ke kebijakan terkelola yang ada. AmazonRedshiftFullAccess |
22 Juli 2022 |
AmazonRedshiftDataFullAccess – Pembaruan ke kebijakan yang ada |
Amazon Redshift memperbarui kondisi pelingkupan redshift-serverless:GetCredentials default aws:ResourceTag/RedshiftDataFullAccess izin tag dari StringEquals untuk memberikan akses StringLike ke sumber daya yang ditandai dengan kunci RedshiftDataFullAccess tag dan nilai tag apa pun. |
Juli 11, 2022 |
AmazonRedshiftDataFullAccess – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin baru redshift-serverless:GetCredentials untuk memungkinkan kredensitas sementara ke Amazon Redshift Tanpa Server. |
8 Juli 2022 |
AmazonRedshiftQueryEditorV2 NoSharing – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin untuk tindakan tersebut. |
15 Juni 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin untuk tindakan tersebut. |
15 Juni 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin untuk tindakan tersebut. |
15 Juni 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Pembaruan ke kebijakan yang ada |
Untuk mengaktifkan akses publik ke titik akhir Amazon Redshift Serverless baru, Amazon Redshift mengalokasikan dan mengaitkan alamat IP Elastic ke antarmuka jaringan Elastic titik akhir VPC di akun pelanggan. Ini dilakukan melalui izin yang diberikan melalui peran terkait layanan. Untuk mengaktifkan kasus penggunaan ini, tindakan untuk mengalokasikan dan merilis alamat IP Elastis ditambahkan ke peran terkait layanan Amazon Redshift Tanpa Server. |
26 Mei 2022 |
AmazonRedshiftQueryEditorV2 FullAccess – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 22, 2022 |
AmazonRedshiftQueryEditorV2 NoSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 22, 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 22, 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 22, 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Pembaruan ke kebijakan yang ada |
Izin untuk tindakan |
Februari 22, 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin untuk tindakan baru guna memungkinkan pengelolaan jaringan dan sumber daya Amazon Redshift. VPC |
22 November 2021 |
AmazonRedshiftAllCommandsFullAccess – Kebijakan baru |
Amazon Redshift menambahkan kebijakan baru untuk mengizinkan penggunaan IAM peran yang dibuat dari konsol Amazon Redshift dan mengaturnya sebagai default untuk cluster untuk menjalankan perintah dari COPY Amazon S3UNLOAD,,,,, CREATE EXTERNALSCHEMA, CREATE EXTERNAL FUNCTION atau. CREATE MODEL CREATE LIBRARY |
18 November 2021 |
AmazonRedshiftServiceLinkedRolePolicy – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin untuk tindakan baru guna memungkinkan pengelolaan grup CloudWatch log Amazon Redshift dan aliran log, termasuk ekspor log audit. |
15 November 2021 |
AmazonRedshiftFullAccess – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin baru untuk memungkinkan penjelasan model, DynamoDB, Redshift Spectrum, dan federasi Amazon. RDS | Oktober 07, 2021 |
AmazonRedshiftQueryEditorV2 FullAccess – Kebijakan baru |
Amazon Redshift menambahkan kebijakan baru untuk mengizinkan akses penuh ke editor kueri Amazon Redshift v2. |
24 September 2021 |
AmazonRedshiftQueryEditorV2 NoSharing – Kebijakan baru |
Amazon Redshift menambahkan kebijakan baru untuk mengizinkan penggunaan editor kueri Amazon Redshift v2 tanpa berbagi sumber daya. |
24 September 2021 |
AmazonRedshiftQueryEditorV2 ReadSharing – Kebijakan baru |
Amazon Redshift menambahkan kebijakan baru untuk mengizinkan berbagi baca dalam editor kueri Amazon Redshift v2. |
24 September 2021 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Kebijakan baru |
Amazon Redshift menambahkan kebijakan baru untuk mengizinkan pembacaan dan pembaruan berbagi dalam editor kueri Amazon Redshift v2. |
24 September 2021 |
AmazonRedshiftFullAccess – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin baru untuk mengizinkan. |
18 Agustus 2021 |
AmazonRedshiftDataFullAccess – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin baru untuk mengizinkan. |
Agustus 12, 2021 |
AmazonRedshiftDataFullAccess – Pembaruan ke kebijakan yang ada |
Amazon Redshift menambahkan izin baru untuk mengizinkan. |
27 Juli 2021 |
Amazon Redshift mulai melacak perubahan |
Amazon Redshift mulai melacak perubahan untuk kebijakan AWS terkelolanya. |
27 Juli 2021 |
Izin diperlukan untuk menggunakan Redshift Spectrum
Amazon Redshift Spectrum memerlukan izin ke layanan AWS lain untuk mengakses sumber daya. Untuk detail tentang izin dalam IAM kebijakan untuk Redshift Spectrum, IAMlihat kebijakan untuk Amazon Redshift Spectrum di Panduan Pengembang Database Amazon Redshift.
Izin diperlukan untuk menggunakan konsol Amazon Redshift
Agar pengguna dapat bekerja dengan konsol Amazon Redshift, pengguna tersebut harus memiliki seperangkat izin minimum yang memungkinkan pengguna mendeskripsikan sumber daya Amazon Redshift untuk akun mereka. AWS Izin ini juga harus memungkinkan pengguna untuk menjelaskan informasi terkait lainnya, termasuk EC2 keamanan Amazon, Amazon CloudWatch, AmazonSNS, dan informasi jaringan.
Jika Anda membuat IAM kebijakan yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak berfungsi seperti yang dimaksudkan untuk pengguna dengan kebijakan tersebutIAM. Untuk memastikan bahwa pengguna tersebut masih dapat menggunakan konsol Amazon Redshift, lampirkan juga kebijakan AmazonRedshiftReadOnlyAccess
terkelola ke pengguna. Cara melakukan ini dijelaskan dalamAWS kebijakan terkelola untuk Amazon Redshift.
Untuk informasi yang dapat memberi pengguna akses ke editor kueri di konsol Amazon Redshift, lihat. Izin diperlukan untuk menggunakan editor kueri konsol Amazon Redshift
Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke Amazon Redshift AWS CLI atau Amazon API Redshift.
Izin diperlukan untuk menggunakan editor kueri konsol Amazon Redshift
Agar pengguna dapat bekerja dengan editor kueri Amazon Redshift, pengguna tersebut harus memiliki set izin minimum untuk operasi Amazon Redshift dan Amazon Redshift Data. API Untuk terhubung ke database menggunakan rahasia, Anda juga harus memiliki izin Secrets Manager.
Untuk memberi pengguna akses ke editor kueri di konsol Amazon Redshift, lampirkan kebijakan AmazonRedshiftQueryEditor
dan AmazonRedshiftReadOnlyAccess
AWS
terkelola. AmazonRedshiftQueryEditor
Kebijakan ini memungkinkan izin pengguna untuk mengambil hasil hanya SQL pernyataan mereka sendiri. Artinya, pernyataan yang diajukan sama aws:userid
seperti yang ditunjukkan pada bagian kebijakan yang AmazonRedshiftQueryEditor
AWS dikelola ini.
{ "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}" } } }
Untuk memungkinkan pengguna mengambil hasil SQL pernyataan orang lain dalam IAM peran yang sama, buat kebijakan Anda sendiri tanpa syarat untuk membatasi akses ke pengguna saat ini. Batasi juga akses untuk mengubah kebijakan ke administrator.
Izin yang diperlukan untuk menggunakan editor kueri v2
Agar pengguna dapat bekerja dengan editor kueri Amazon Redshift v2, pengguna tersebut harus memiliki set izin minimum untuk Amazon Redshift, operasi editor kueri v2, dan AWS layanan lain seperti AWS Key Management Service,, dan layanan penandaan. AWS Secrets Manager
Untuk memberi pengguna akses penuh ke editor kueri v2, lampirkan kebijakan AmazonRedshiftQueryEditorV2FullAccess
AWS terkelola. AmazonRedshiftQueryEditorV2FullAccess
Kebijakan ini memungkinkan izin pengguna untuk berbagi sumber daya editor kueri v2, seperti kueri, dengan orang lain di tim yang sama. Untuk detail tentang cara akses ke resource editor kueri v2 dikendalikan, lihat definisi kebijakan terkelola khusus untuk editor kueri v2 di IAM konsol.
Beberapa kebijakan AWS terkelola Amazon Redshift query editor v2 menggunakan AWS tag dalam kondisi untuk cakupan akses ke sumber daya. Dalam editor kueri v2, kueri berbagi didasarkan pada kunci tag dan nilai "aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}"
dalam IAM kebijakan yang dilampirkan pada prinsipal (IAMperan). Prinsipal yang sama Akun AWS dengan nilai tag yang sama (misalnya,accounting-team
), berada di tim yang sama di editor kueri v2. Anda hanya dapat dikaitkan dengan satu tim pada satu waktu. Pengguna dengan izin administratif dapat mengatur tim di IAM konsol dengan memberi semua anggota tim nilai yang sama untuk sqlworkbench-team
tag tersebut. Jika nilai tag diubah untuk IAM pengguna atau IAM peran, mungkin ada penundaan hingga perubahan tercermin dalam sumber daya bersama. sqlworkbench-team
Jika nilai tag sumber daya (seperti kueri) diubah, sekali lagi mungkin ada penundaan hingga perubahan tercermin. Anggota tim juga harus memiliki tag:GetResources
izin untuk berbagi.
Contoh: Untuk menambahkan accounting-team
tag untuk IAM peran
Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Di panel navigasi konsol, pilih Peran lalu pilih nama peran yang ingin Anda edit.
-
Pilih tab Tag dan kemudian pilih Tambahkan tag.
-
Tambahkan kunci tag sqlworkbench-team dan nilainya.
accounting-team
-
Pilih Simpan perubahan.
Sekarang ketika seorang IAM prinsipal (dengan IAM peran ini terlampir) berbagi kueri dengan tim, prinsipal lain dengan nilai
accounting-team
tag yang sama dapat melihat kueri.
Untuk informasi selengkapnya tentang cara melampirkan tag ke prinsipal, termasuk IAM peran dan IAM pengguna, lihat Menandai IAM sumber daya di Panduan IAM Pengguna.
Anda juga dapat mengatur tim di tingkat sesi menggunakan Penyedia Identitas (iDP). Hal ini memungkinkan beberapa pengguna yang menggunakan IAM peran yang sama untuk memiliki tim yang berbeda. Kebijakan kepercayaan IAM peran harus memungkinkan sts:TagSession
operasi. Untuk informasi selengkapnya, lihat Izin yang diperlukan untuk menambahkan tag sesi di Panduan IAM Pengguna. Tambahkan atribut tag utama ke SAML pernyataan yang disediakan oleh idP Anda.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:sqlworkbench-team"> <AttributeValue>accounting-team</AttributeValue> </Attribute>
Ikuti petunjuk untuk penyedia Identitas (iDP) Anda untuk mengisi SAML atribut dengan konten yang berasal dari direktori Anda. Untuk informasi selengkapnya tentang Penyedia identitas (IdPs) dan Amazon Redshift, lihat Menggunakan IAM otentikasi untuk menghasilkan kredensyal pengguna database dan Penyedia identitas dan federasi di IAMPanduan Pengguna.
sqlworkbench:CreateNotebookVersion
Memberikan izin untuk mendapatkan konten sel notebook saat ini dan membuat versi buku catatan di akun Anda. Artinya, pada saat pembuatan versi, konten notebook saat ini sama dengan konten versi. Kemudian, konten sel dalam versi tetap sama dengan notebook saat ini diperbarui. sqlworkbench:GetNotebookVersion
Memberikan izin untuk mendapatkan versi notebook. Pengguna yang tidak memiliki sqlworkbench:BatchGetNotebookCell
izin tetapi memiliki sqlworkbench:CreateNotebookVersion
dan sqlworkbench:GetNotebookVersion
izin pada buku catatan memiliki akses ke sel notebook dalam versi. Pengguna ini tanpa sqlworkbench:BatchGetNotebookCell
izin masih dapat mengambil konten sel notebook dengan terlebih dahulu membuat versi dan kemudian mendapatkan versi yang dibuat ini.
Izin diperlukan untuk menggunakan penjadwal Amazon Redshift
Saat Anda menggunakan penjadwal Amazon Redshift, Anda menyiapkan IAM peran dengan hubungan kepercayaan dengan penjadwal Amazon Redshift (scheduler.redshift.amazonaws.com
) untuk memungkinkan penjadwal menerima izin atas nama Anda. Anda juga melampirkan kebijakan (izin) ke peran untuk operasi Amazon API Redshift yang ingin Anda jadwalkan.
Contoh berikut menunjukkan dokumen kebijakan dalam JSON format untuk menyiapkan hubungan kepercayaan dengan penjadwal Amazon Redshift dan Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "scheduler.redshift.amazonaws.com", "redshift.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Untuk informasi selengkapnya tentang entitas kepercayaan, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan di IAMPanduan Pengguna.
Anda juga harus menambahkan izin untuk operasi Amazon Redshift yang ingin Anda jadwalkan.
Agar penjadwal dapat menggunakan ResizeCluster
operasi, tambahkan izin yang serupa dengan IAM kebijakan berikut ini. Tergantung pada lingkungan Anda, Anda mungkin ingin membuat kebijakan lebih ketat.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift:ResizeCluster", "Resource": "*" } ] }
Untuk langkah-langkah membuat peran bagi penjadwal Amazon Redshift, lihat Membuat peran untuk AWS layanan (konsol) di Panduan Pengguna. IAM Buat pilihan ini saat Anda membuat peran di IAM konsol:
-
Untuk Pilih layanan yang akan menggunakan peran ini: Pilih Redshift.
-
Untuk Pilih kasus penggunaan Anda: Pilih Redshift - Scheduler.
-
Buat atau lampirkan kebijakan ke peran yang memungkinkan operasi Amazon Redshift dijadwalkan. Pilih Buat kebijakan atau ubah peran untuk melampirkan kebijakan. Masukkan JSON kebijakan untuk operasi yang akan dijadwalkan.
-
Setelah Anda membuat peran, edit Hubungan Kepercayaan IAM peran untuk menyertakan layanan
redshift.amazonaws.com
.
IAMPeran yang Anda buat memiliki entitas tepercaya scheduler.redshift.amazonaws.com
danredshift.amazonaws.com
. Ini juga memiliki kebijakan terlampir yang memungkinkan API tindakan Amazon Redshift yang didukung, seperti,. "redshift:ResizeCluster"
Izin diperlukan untuk menggunakan penjadwal Amazon EventBridge
Saat Anda menggunakan EventBridge penjadwal Amazon, Anda menyiapkan IAM peran dengan hubungan kepercayaan dengan EventBridge scheduler (events.amazonaws.com
) untuk memungkinkan penjadwal menerima izin atas nama Anda. Anda juga melampirkan kebijakan (izin) ke peran untuk operasi API Data Amazon Redshift yang ingin Anda jadwalkan dan kebijakan untuk operasi Amazon EventBridge.
Anda menggunakan EventBridge penjadwal saat membuat kueri terjadwal dengan editor kueri Amazon Redshift di konsol.
Anda dapat membuat IAM peran untuk menjalankan kueri terjadwal di IAM konsol. Dalam IAM peran ini, lampirkan AmazonEventBridgeFullAccess
danAmazonRedshiftDataFullAccess
.
Contoh berikut menunjukkan dokumen kebijakan dalam JSON format untuk mengatur hubungan kepercayaan dengan EventBridge penjadwal.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com", ] }, "Action": "sts:AssumeRole" } ] }
Untuk informasi selengkapnya tentang entitas kepercayaan, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan di IAMPanduan Pengguna.
Untuk langkah-langkah membuat peran bagi EventBridge penjadwal, lihat Membuat peran untuk AWS layanan (konsol) di Panduan IAM Pengguna. Buat pilihan ini saat Anda membuat peran di IAM konsol:
-
Untuk Pilih layanan yang akan menggunakan peran ini: Pilih CloudWatch Acara.
-
Untuk Pilih kasus penggunaan Anda: Pilih CloudWatch Acara.
-
Lampirkan kebijakan izin berikut:
AmazonEventBridgeFullAccess
danAmazonRedshiftDataFullAccess
.
IAMPeran yang Anda buat memiliki entitas tepercayaevents.amazonaws.com
. Ini juga memiliki kebijakan terlampir yang memungkinkan API tindakan Data Amazon Redshift yang didukung, seperti,. "redshift-data:*"
Izin yang diperlukan untuk menggunakan machine learning Amazon Redshift (ML)
Berikut ini, Anda dapat menemukan deskripsi izin yang diperlukan untuk menggunakan pembelajaran mesin Amazon Redshift (ML) untuk berbagai kasus penggunaan.
Agar pengguna Anda dapat menggunakan Amazon Redshift ML dengan Amazon SageMaker, buat IAM peran dengan kebijakan yang lebih ketat daripada default. Anda dapat menggunakan kebijakan berikut. Anda juga dapat mengubah kebijakan ini untuk memenuhi kebutuhan Anda.
Kebijakan berikut menunjukkan izin yang diperlukan untuk menjalankan SageMaker Autopilot dengan penjelasan model dari 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" ] } } } ] }
Kebijakan berikut menunjukkan izin minimal penuh untuk mengizinkan akses ke Amazon DynamoDB, RDS Redshift Spectrum, dan federasi Amazon.
{ "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" ] } } } ] }
Secara opsional, untuk menggunakan AWS KMS kunci enkripsi, tambahkan izin berikut ke kebijakan.
{ "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>" ] }
Untuk mengizinkan Amazon Redshift dan mengambil IAM peran sebelumnya SageMaker untuk berinteraksi dengan layanan lain, tambahkan kebijakan kepercayaan berikut ke peran tersebut.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com", "sagemaker.amazonaws.com", "forecast.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Sebelumnya, redshift-downloads/redshift-ml/
bucket Amazon S3 adalah lokasi penyimpanan data sampel yang digunakan untuk langkah dan contoh lain. Anda dapat menghapus bucket ini jika Anda tidak perlu memuat data dari Amazon S3. Atau ganti dengan bucket Amazon S3 lain yang Anda gunakan untuk memuat data ke Amazon Redshift.
your-s3-bucket
Nilaiyour-account-id
,your-role
, dan adalah ID akun, peran, dan bucket yang Anda tentukan dalam CREATE MODEL perintah Anda.
Secara opsional, Anda dapat menggunakan bagian AWS KMS kunci dari kebijakan sampel jika Anda menentukan AWS KMS kunci untuk digunakan dengan Amazon Redshift ML. your-kms-key
Nilai adalah kunci yang Anda gunakan sebagai bagian dari CREATE MODEL perintah Anda.
Saat Anda menentukan private private cloud (VPC) virtual privat untuk pekerjaan penyetelan hyperparameter, tambahkan izin berikut.
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Untuk bekerja dengan penjelasan model, pastikan Anda memiliki izin untuk memanggil SageMaker API operasi. Kami menyarankan Anda menggunakan kebijakan AmazonSageMakerFullAccess
terkelola. Jika Anda ingin membuat IAM peran dengan kebijakan yang lebih ketat, gunakan kebijakan berikut ini.
{ "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": "*" } ] }
Untuk informasi selengkapnya tentang kebijakan AmazonSageMakerFullAccess
terkelola, lihat AmazonSageMakerFullAccessdi Panduan SageMaker Pengembang Amazon.
Jika Anda ingin membuat model Forecast, sebaiknya gunakan kebijakan AmazonForecastFullAccess
terkelola. Jika Anda ingin menggunakan kebijakan yang lebih ketat, tambahkan kebijakan berikut ke IAM peran Anda.
{ "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": "*" } ] }
Jika Anda ingin membuat model Amazon Bedrock, sebaiknya gunakan kebijakan AmazonBedrockFullAccess
terkelola. Jika Anda ingin menggunakan kebijakan yang lebih ketat, tambahkan kebijakan berikut ke IAM peran Anda.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": [ "*", "arn:aws:bedrock:
>region<
::foundation-model/*" ] } ] }
Untuk informasi selengkapnya tentang Amazon Redshift ML, lihat Menggunakan machine learning di Amazon Redshift CREATEMODEL,, atau. CREATEEXTERNALMODEL
Izin untuk konsumsi streaming
Streaming ingestion bekerja dengan dua layanan. Ini adalah Kinesis Data Streams MSK dan Amazon.
Izin yang diperlukan untuk menggunakan konsumsi streaming dengan Kinesis Data Streams
Prosedur dengan contoh kebijakan terkelola tersedia di Memulai dengan konsumsi streaming dari Amazon Kinesis Data Streams.
Izin diperlukan untuk menggunakan streaming ingestion dengan Amazon MSK
Prosedur dengan contoh kebijakan terkelola tersedia di Memulai dengan konsumsi streaming dari Amazon Managed Streaming for Apache Kafka.
Izin yang diperlukan untuk menggunakan operasi berbagi API data
Untuk mengontrol akses ke API operasi berbagi data, gunakan kebijakan IAM berbasis tindakan. Untuk informasi tentang cara mengelola IAM kebijakan, lihat Mengelola IAM kebijakan di Panduan IAM Pengguna.
Secara khusus, anggaplah administrator cluster produser perlu menggunakan AuthorizeDataShare
panggilan untuk mengotorisasi jalan keluar untuk datashare di luar file. Akun AWS Dalam hal ini, Anda menyiapkan kebijakan IAM berbasis tindakan untuk memberikan izin ini. Gunakan DeauthorizeDataShare
panggilan untuk mencabut jalan keluar.
Saat menggunakan kebijakan IAM berbasis tindakan, Anda juga dapat menentukan IAM sumber daya dalam kebijakan, seperti. DataShareARN
Berikut ini menunjukkan format dan contoh untukDataShareARN
.
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
Anda dapat membatasi AuthorizeDataShare
akses ke datashare tertentu dengan menentukan nama datashare dalam kebijakan. IAM
{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare" ], "Effect": "Deny" } ] }
Anda juga dapat membatasi IAM kebijakan untuk semua datashares yang dimiliki oleh cluster produsen tertentu. Untuk melakukannya, ganti datashare-name
nilai dalam kebijakan dengan wildcard atau tanda bintang. Pertahankan namespace-guid
nilai cluster.
arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*
Berikut ini adalah IAM kebijakan yang mencegah entitas memanggil AuthorizeDataShare
datashares yang dimiliki oleh cluster produsen tertentu.
{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*" ], "Effect": "Deny" } ] }
DataShareARN
membatasi akses berdasarkan nama datashare dan global unique ID (GUID) untuk namespace cluster pemilik. Ini dilakukan dengan menentukan nama sebagai tanda bintang.
Kebijakan sumber daya untuk GetClusterCredentials
Untuk terhubung ke database cluster menggunakan JDBC atau ODBC koneksi dengan kredenal IAM database, atau untuk memanggil GetClusterCredentials
tindakan secara terprogram, Anda memerlukan set izin minimum. Minimal, Anda memerlukan izin untuk memanggil redshift:GetClusterCredentials
tindakan dengan akses ke dbuser
sumber daya.
Jika Anda menggunakan ODBC koneksi JDBC atau, alih-alih server
dan port
Anda dapat menentukan cluster_id
danregion
, tetapi untuk melakukannya kebijakan Anda harus mengizinkan redshift:DescribeClusters
tindakan dengan akses ke cluster
sumber daya.
Jika Anda memanggil GetClusterCredentials
dengan parameter opsional Autocreate
DbGroups
,DbName
, dan, pastikan juga mengizinkan tindakan dan mengizinkan akses ke sumber daya yang tercantum dalam tabel berikut.
GetClusterCredentials parameter |
Tindakan |
Sumber Daya |
---|---|---|
|
redshift:CreateClusterUser |
|
|
redshift:JoinGroup |
|
|
TA | dbname |
Untuk informasi selengkapnya tentang sumber daya, lihatSumber daya dan operasi Amazon Redshift.
Anda juga dapat memasukkan ketentuan berikut dalam polis Anda:
-
redshift:DurationSeconds
-
redshift:DbName
-
redshift:DbUser
Untuk informasi lebih lanjut tentang syarat, lihat Menentukan kondisi dalam kebijakan.
Contoh kebijakan yang dikelola pelanggan
Di bagian ini, Anda dapat menemukan contoh kebijakan pengguna yang memberikan izin untuk berbagai tindakan Amazon Redshift. Kebijakan ini berfungsi saat Anda menggunakan Amazon RedshiftAPI, AWS SDKs, atau. AWS CLI
catatan
Semua contoh menggunakan Wilayah Barat AS (Oregon) (us-west-2
) dan berisi akun fiktif. IDs
Contoh 1: Izinkan pengguna akses penuh ke semua tindakan dan sumber daya Amazon Redshift
Kebijakan berikut memungkinkan akses ke semua tindakan Amazon Redshift di semua sumber daya.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowRedshift", "Action": [ "redshift:*" ], "Effect": "Allow", "Resource": "*" } ] }
Nilai redshift:*
dalam Action
elemen menunjukkan semua tindakan di Amazon Redshift.
Contoh 2: Tolak akses pengguna ke serangkaian tindakan Amazon Redshift
Secara default, semua izin ditolak. Namun, terkadang Anda perlu secara eksplisit menolak akses ke tindakan atau serangkaian tindakan tertentu. Kebijakan berikut memungkinkan akses ke semua tindakan Amazon Redshift dan secara eksplisit menolak akses ke tindakan Amazon Redshift di mana nama dimulai. Delete
Kebijakan ini berlaku untuk semua sumber daya Amazon Redshift di. 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:*" } ] }
Contoh 3: Izinkan pengguna untuk mengelola cluster
Kebijakan berikut memungkinkan pengguna untuk membuat, menghapus, memodifikasi, dan me-reboot semua cluster, lalu menolak izin untuk menghapus klaster mana pun di mana nama cluster dimulai. 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" } ] }
Contoh 4: Izinkan pengguna untuk mengotorisasi dan mencabut akses snapshot
Kebijakan berikut memungkinkan pengguna, misalnya Pengguna A, untuk melakukan hal berikut:
-
Otorisasi akses ke snapshot apa pun yang dibuat dari cluster bernama.
shared
-
Cabut akses snapshot untuk snapshot apa pun yang dibuat dari
shared
cluster tempat nama snapshot dimulai.revokable
{ "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" } ] }
Jika Pengguna A telah mengizinkan Pengguna B mengakses snapshot, Pengguna B harus memiliki kebijakan seperti berikut ini untuk mengizinkan Pengguna B memulihkan klaster dari snapshot. Kebijakan berikut memungkinkan Pengguna B untuk mendeskripsikan dan memulihkan dari snapshot, dan membuat cluster. Nama cluster ini harus dimulai denganfrom-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" } ] }
Contoh 5: Izinkan pengguna menyalin snapshot cluster dan memulihkan cluster dari snapshot
Kebijakan berikut memungkinkan pengguna untuk menyalin snapshot apa pun yang dibuat dari klaster bernamabig-cluster-1
, dan memulihkan snapshot apa pun tempat nama snapshot dimulai. 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" } ] }
Contoh 6: Izinkan pengguna mengakses Amazon Redshift, serta tindakan serta sumber daya umum untuk layanan terkait AWS
Kebijakan contoh berikut memungkinkan akses ke semua tindakan dan sumber daya untuk Amazon Redshift, Amazon Simple Notification Service SNS (Amazon), dan Amazon. CloudWatch Ini juga memungkinkan tindakan yang ditentukan pada semua EC2 sumber daya Amazon terkait di bawah akun.
catatan
Izin tingkat sumber daya tidak didukung untuk EC2 tindakan Amazon yang ditentukan dalam kebijakan contoh ini.
{ "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": [ "*" ] } ] }
Contoh 7: Izinkan pengguna menandai sumber daya dengan konsol Amazon Redshift
Kebijakan contoh berikut memungkinkan pengguna untuk menandai sumber daya dengan konsol Amazon Redshift menggunakan. AWS Resource Groups Kebijakan ini dapat dilampirkan ke peran pengguna yang memanggil konsol Amazon Redshift baru atau asli. Untuk informasi lebih lanjut tentang penandaan, lihat Menandai sumber daya di Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"Tagging permissions", "Effect": "Allow", "Action": [ "redshift:DeleteTags", "redshift:CreateTags", "redshift:DescribeTags", "tag:UntagResources", "tag:TagResources" ], "Resource": "*" } ] }
Contoh kebijakan untuk menggunakan GetClusterCredentials
Kebijakan berikut menggunakan nilai parameter sampel ini:
-
Wilayah:
us-west-2
-
AWS Akun:
123456789012
-
Nama cluster:
examplecluster
Kebijakan berikut memungkinkanGetCredentials
,CreateClusterUser
, dan JoinGroup
tindakan. Kebijakan ini menggunakan kunci kondisi untuk mengizinkan GetClusterCredentials
dan CreateClusterUser
tindakan hanya jika ID AWS pengguna cocok"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"
. IAMakses hanya diminta untuk "testdb"
database. Kebijakan ini juga memungkinkan pengguna untuk bergabung dengan grup bernama"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" ] } ] }