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
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
HIBAH
Mendefinisikan izin akses untuk pengguna atau peran.
Izin termasuk opsi akses seperti dapat membaca data dalam tabel dan tampilan, menulis data, membuat tabel, dan melepas tabel. Gunakan perintah ini untuk memberikan izin khusus untuk tabel, database, skema, fungsi, prosedur, bahasa, atau kolom. Untuk mencabut izin dari objek database, gunakan MENCABUT perintah.
Izin juga mencakup opsi akses produsen datashare berikut:
-
Memberikan akses datashare ke ruang nama konsumen dan akun.
-
Memberikan izin untuk mengubah datashare dengan menambahkan atau menghapus objek dari datashare.
-
Memberikan izin untuk berbagi datashare dengan menambahkan atau menghapus ruang nama konsumen dari datashare.
Opsi akses konsumen Datashare adalah sebagai berikut:
-
Memberikan pengguna akses penuh ke database yang dibuat dari datashare atau skema eksternal yang mengarah ke database tersebut.
-
Memberikan izin tingkat objek kepada pengguna pada database yang dibuat dari datashare seperti yang Anda bisa untuk objek database lokal. Untuk memberikan tingkat izin ini, Anda harus menggunakan klausa WITH PERMISSIONS saat membuat database dari datashare. Untuk informasi selengkapnya, lihat BUAT BASIS DATA.
Untuk informasi selengkapnya tentang izin datashare, lihat. Izin yang dapat Anda berikan kepada datashares
Izin juga mencakup Katalog Izin Federasi Amazon Redshift berikut:
-
Memberikan izin tingkat tabel kepada pengguna dan peran.
-
Memberikan izin tingkat kolom berbutir halus pada tabel, tampilan, dan tampilan yang terwujud.
-
Memberikan izin cakupan kepada pengguna dan peran.
-
Memberikan izin tingkat database di Katalog Izin Federasi Amazon Redshift.
Untuk informasi selengkapnya tentang mengelola izin di Katalog Izin Federasi Amazon Redshift, lihat. Mengelola kontrol akses di katalog izin federasi Amazon Redshift Untuk informasi selengkapnya tentang grant/revoke sintaks yang didukung Katalog Izin Federasi Amazon Redshift, lihat. Grant/Revoke
Izin juga menyertakan hak istimewa CONNECT untuk pengguna AWS IAM Identity Center federasi. Hak istimewa ini memungkinkan administrator untuk mengontrol akses pengguna melalui izin terperinci di setiap kelompok kerja atau cluster Amazon Redshift di mana Izin Federasi Amazon Redshift diaktifkan. Administrator Amazon Redshift dapat menentukan pengguna AWS IAM Identity Center atau grup federasi mana yang memiliki akses untuk terhubung langsung ke grup kerja Amazon Redshift, memberikan kontrol halus atas akses AWS IAM Identity Center pengguna di setiap kelompok kerja atau cluster.
Anda juga dapat memberikan peran untuk mengelola izin database dan mengontrol apa yang dapat dilakukan pengguna relatif terhadap data Anda. Dengan menentukan peran dan menetapkan peran kepada pengguna, Anda dapat membatasi tindakan yang dapat dilakukan pengguna tersebut, seperti membatasi pengguna hanya pada perintah CREATE TABLE dan INSERT. Untuk informasi selengkapnya tentang perintah CREATE ROLE, lihatCREATE ROLE. Amazon Redshift memiliki beberapa peran yang ditentukan sistem yang juga dapat Anda gunakan untuk memberikan izin khusus kepada pengguna Anda. Untuk informasi selengkapnya, lihat Peran yang ditentukan sistem Amazon Redshift.
Anda hanya dapat MEMBERIKAN atau MENCABUT izin USAGE pada skema eksternal kepada pengguna database dan grup pengguna yang menggunakan sintaks ON SCHEMA. Saat menggunakan ON EXTERNAL SCHEMA dengan AWS Lake Formation, Anda hanya dapat MEMBERIKAN dan MENCABUT izin ke peran AWS Identity and Access Management (IAM). Untuk daftar izin, lihat sintaks.
Untuk prosedur tersimpan, satu-satunya izin yang dapat Anda berikan adalah EXECUTE.
Anda tidak dapat menjalankan GRANT (pada sumber daya eksternal) dalam blok transaksi (BEGIN... AKHIR). Untuk informasi lebih lanjut tentang transaksi, lihatTingkat isolasi di Amazon Redshift.
Untuk melihat izin mana yang telah diberikan pengguna untuk database, gunakanHAS_DATABASE_PRIVILEGE. Untuk melihat izin mana yang telah diberikan pengguna untuk skema, gunakanHAS_SCHEMA_PRIVILEGE. Untuk melihat izin mana yang telah diberikan pengguna untuk tabel, gunakanHAS_TABLE_PRIVILEGE.
Sintaksis
GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES | ALTER | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | USAGE | TEMPORARY | TEMP | ALTER } [,...] | ALL [ PRIVILEGES ] } ON DATABASE db_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTION function_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL FUNCTIONS IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { PROCEDURE procedure_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL PROCEDURES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT USAGE ON LANGUAGE language_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { ALTER | DROP} [,...] | ALL [ PRIVILEGES ] } ON COPY JOB job_name [,...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { ALTER | DROP | USAGE } [,...] | ALL [ PRIVILEGES ] } ON TEMPLATE [database_name.][schema_name.]template_name [,...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
Berikut ini adalah sintaks untuk izin tingkat kolom pada tabel dan tampilan Amazon Redshift.
GRANT { { SELECT | UPDATE } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) } ON { [ TABLE ] table_name [, ...] } TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
Berikut ini adalah sintaks untuk izin ASSUMEROLE yang diberikan kepada pengguna dan grup dengan peran tertentu. Untuk mulai menggunakan hak istimewa ASSUMEROLE, lihat. Catatan penggunaan untuk memberikan izin ASSUMEROLE
GRANT ASSUMEROLE ON { 'iam_role' [, ...] | default | ALL } TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] FOR { ALL | COPY | UNLOAD | EXTERNAL FUNCTION | CREATE MODEL } [, ...]
Berikut ini adalah sintaks untuk integrasi Redshift Spectrum dengan Lake Formation.
GRANT { SELECT | ALL [ PRIVILEGES ] } ( column_list ) ON EXTERNAL TABLE schema_name.table_name TO { IAM_ROLE iam_role } [, ...] [ WITH GRANT OPTION ] GRANT { { SELECT | ALTER | DROP | DELETE | INSERT } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL TABLE schema_name.table_name [, ...] TO { { IAM_ROLE iam_role } [, ...] | PUBLIC } [ WITH GRANT OPTION ] GRANT { { CREATE | ALTER | DROP } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL SCHEMA schema_name [, ...] TO { IAM_ROLE iam_role } [, ...] [ WITH GRANT OPTION ]
Producer-side izin datashare
Berikut ini adalah sintaks untuk menggunakan GRANT untuk memberikan izin ALTER atau SHARE kepada pengguna atau peran. Pengguna dapat mengubah datashare dengan izin ALTER, atau memberikan penggunaan kepada konsumen dengan izin SHARE. ALTER dan SHARE adalah satu-satunya izin yang dapat Anda berikan pada datashare kepada pengguna dan peran.
GRANT { ALTER | SHARE } ON DATASHARE datashare_name TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUPgroup_name| PUBLIC } [, ...]
Berikut ini adalah sintaks untuk menggunakan GRANT untuk izin penggunaan datashare di Amazon Redshift. Anda memberikan akses ke datashare kepada konsumen menggunakan izin PENGGUNAAN. Anda tidak dapat memberikan izin ini kepada pengguna atau grup pengguna. Izin ini juga tidak mendukung OPSI WITH GRANT untuk pernyataan GRANT. Hanya pengguna atau grup pengguna dengan izin SHARE yang sebelumnya diberikan kepada mereka UNTUK datashare yang dapat menjalankan jenis pernyataan GRANT ini.
GRANT USAGE ON DATASHARE datashare_name TO NAMESPACE 'namespaceGUID' | ACCOUNT 'accountnumber' [ VIA DATA CATALOG ]
Berikut ini adalah contoh bagaimana memberikan penggunaan datashare ke akun Formasi Danau.
GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '123456789012' VIA DATA CATALOG;
Consumer-side izin datashare
Berikut ini adalah sintaks untuk izin penggunaan berbagi data GRANT pada database atau skema tertentu yang dibuat dari datashare.
Izin lebih lanjut yang diperlukan bagi konsumen untuk mengakses database yang dibuat dari datashare bervariasi tergantung pada apakah perintah CREATE DATABASE yang digunakan untuk membuat database dari datashare menggunakan klausa WITH PERMISSIONS atau tidak. Untuk informasi selengkapnya tentang perintah CREATE DATABASE dan WITH PERMISSIONS klausa, lihatBUAT BASIS DATA.
Database dibuat tanpa menggunakan klausa WITH PERMISSIONS
Bila Anda memberikan USAGE pada database yang dibuat dari datashare tanpa klausa WITH PERMISSIONS, Anda tidak perlu memberikan izin secara terpisah pada objek dalam database bersama. Entitas yang diberikan penggunaan pada database yang dibuat dari datashares tanpa klausa WITH PERMISSIONS secara otomatis memiliki akses ke semua objek dalam database.
Database yang dibuat menggunakan klausa WITH PERMISSIONS
Saat Anda memberikan USAGE pada database tempat database bersama dibuat dari datashare dengan klausa WITH PERMISSIONS, identitas sisi konsumen masih harus diberikan izin yang relevan untuk objek database dalam database bersama untuk mengaksesnya, sama seperti Anda akan memberikan izin untuk objek database lokal. Untuk memberikan izin ke objek dalam database yang dibuat dari datashare, gunakan sintaks tiga bagian. database_name.schema_name.object_name Untuk memberikan izin ke objek dalam skema eksternal yang menunjuk ke skema bersama dalam database bersama, gunakan sintaks schema_name.object_name dua bagian.
GRANT USAGE ON { DATABASE shared_database_name [, ...] | SCHEMA shared_schema} TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
Izin cakupan memungkinkan Anda memberikan izin kepada pengguna atau peran pada semua objek dari jenis dalam database atau skema. Pengguna dan peran dengan izin cakupan memiliki izin yang ditentukan pada semua objek saat ini dan yang akan datang dalam database atau skema.
Anda dapat melihat cakupan izin cakupan tingkat database di. SVV_DATABASE_PRIVILEGES Anda dapat melihat cakupan izin cakupan tingkat skema di. SVV_SCHEMA_PRIVILEGES
Untuk informasi selengkapnya tentang izin bercakupan, lihatIzin terlingkup.
Berikut ini adalah sintaks untuk memberikan izin cakupan kepada pengguna dan peran.
GRANT { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] } FOR SCHEMAS IN DATABASE db_name TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...] GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } } FOR TABLES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name} [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } FOR FUNCTIONS IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name | } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } FOR PROCEDURES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name | } [, ...] GRANT USAGE FOR LANGUAGES IN {DATABASE db_name} TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...] GRANT { { CREATE | ALTER | DROP} [,...] | ALL [ PRIVILEGES ] } FOR COPY JOBS IN DATABASE db_name TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...] GRANT { { ALTER | DROP | USAGE } [,...] | ALL [ PRIVILEGES ] } FOR TEMPLATES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...]
Perhatikan bahwa izin cakupan tidak membedakan antara izin untuk fungsi dan prosedur. Misalnya, pernyataan berikut memberikan bob EXECUTE izin untuk fungsi dan prosedur dalam skemaSales_schema.
GRANT EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema TO bob;
Berikut ini adalah sintaks untuk izin model pembelajaran mesin di Amazon Redshift.
GRANT CREATE MODEL TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON MODEL model_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
Berikut ini adalah sintaks untuk memberikan peran di Amazon Redshift.
GRANT { ROLE role_name } [, ...] TO { { user_name [ WITH ADMIN OPTION ] } | ROLE role_name }[, ...]
Berikut ini adalah sintaks untuk memberikan izin sistem ke peran di Amazon Redshift. Perhatikan bahwa Anda hanya dapat memberikan izin untuk peran, bukan pengguna.
GRANT { { CREATE USER | DROP USER | ALTER USER | CREATE SCHEMA | DROP SCHEMA | ALTER DEFAULT PRIVILEGES | ACCESS CATALOG | ACCESS SYSTEM TABLE CREATE TABLE | DROP TABLE | ALTER TABLE | CREATE OR REPLACE FUNCTION | CREATE OR REPLACE EXTERNAL FUNCTION | DROP FUNCTION | CREATE OR REPLACE PROCEDURE | DROP PROCEDURE | CREATE OR REPLACE VIEW | DROP VIEW | CREATE MODEL | DROP MODEL | CREATE DATASHARE | ALTER DATASHARE | DROP DATASHARE | CREATE LIBRARY | DROP LIBRARY | CREATE ROLE | DROP ROLE | TRUNCATE TABLE VACUUM | ANALYZE | CANCEL | IGNORE RLS | EXPLAIN RLS | EXPLAIN MASKING }[, ...] } | { ALL [ PRIVILEGES ] } TO ROLE role_name [, ...]
Berikut ini adalah sintaks untuk memberikan izin untuk menjelaskan filter kebijakan keamanan dari kueri dalam paket EXPLAIN. Kebijakan keamanan yang mungkin termasuk kebijakan keamanan tingkat baris dan kebijakan penyembunyian data dinamis.
GRANT EXPLAIN { RLS | MASKING } TO ROLE rolename
Berikut ini adalah sintaks untuk memberikan izin untuk melewati kebijakan keamanan tingkat baris untuk kueri. Sintaks ini tidak berlaku untuk kebijakan penyembunyian data dinamis.
GRANT IGNORE RLS TO ROLE rolename
Berikut ini adalah sintaks untuk memberikan izin tabel pencarian ke kebijakan keamanan yang ditentukan. Kebijakan keamanan yang mungkin termasuk kebijakan keamanan tingkat baris dan kebijakan penyembunyian data dinamis.
GRANT SELECT ON [ TABLE ] table_name [, ...] TO { RLS | MASKING } POLICY policy_name [, ...]
Berikut ini adalah sintaks untuk memberikan izin bagi pengguna AWS IAM Identity Center federasi (atau grup) untuk terhubung ke: workgroup/cluster
GRANT CONNECT [ON WORKGROUP] TO [USER] <prefix>:<username> | ROLE <prefix>:<rolename> | PUBLIC;
Parameter
- SELECT
-
Memberikan izin untuk memilih data dari tabel atau tampilan menggunakan pernyataan SELECT. Izin SELECT juga diperlukan untuk mereferensikan nilai kolom yang ada untuk operasi UPDATE atau DELETE.
- INSERT
-
Memberikan izin untuk memuat data ke dalam tabel menggunakan pernyataan INSERT atau pernyataan COPY.
- UPDATE
-
Memberikan izin untuk memperbarui kolom tabel menggunakan pernyataan UPDATE. Operasi UPDATE juga memerlukan izin SELECT, karena harus mereferensikan kolom tabel untuk menentukan baris mana yang akan diperbarui, atau untuk menghitung nilai baru untuk kolom.
- DELETE
-
Memberikan izin untuk menghapus baris data dari tabel. Operasi DELETE juga memerlukan izin SELECT, karena harus mereferensikan kolom tabel untuk menentukan baris mana yang akan dihapus.
- DROP
-
Bergantung pada objek database, memberikan izin berikut kepada pengguna atau peran:
-
Untuk tabel, DROP memberikan izin untuk menjatuhkan tabel atau tampilan. Untuk informasi selengkapnya, lihat MEJA DROP.
-
Untuk database, DROP memberikan izin untuk menghapus database. Untuk informasi selengkapnya, lihat DROP DATABASE.
-
Untuk skema, DROP memberikan izin untuk menghapus skema. Untuk informasi selengkapnya, lihat DROP SCHEMA.
-
- REFERENSI
-
Memberikan izin untuk membuat batasan kunci asing. Anda perlu memberikan izin ini pada tabel yang direferensikan dan tabel referensi; jika tidak, pengguna tidak dapat membuat batasan.
- ALTER
-
Bergantung pada objek database, memberikan izin berikut kepada pengguna atau grup pengguna:
-
Untuk tabel, ALTER memberikan izin untuk mengubah tabel atau tampilan. Untuk informasi selengkapnya, lihat ALTER TABLE.
-
Untuk database, ALTER memberikan izin untuk mengubah database. Untuk informasi selengkapnya, lihat ALTER DATABASE.
-
Untuk skema, ALTER memberikan izin untuk mengubah skema. Untuk informasi selengkapnya, lihat ALTER SCHEMA.
-
Untuk tabel eksternal, ALTER memberikan izin untuk mengubah tabel di tabel AWS Glue Data Catalog yang diaktifkan untuk Formasi Danau. Izin ini hanya berlaku saat menggunakan Formasi Danau.
-
- TRUNCATE
-
Memberikan izin untuk memotong tabel. Tanpa izin ini, hanya pemilik tabel atau superuser yang dapat memotong tabel. Untuk informasi selengkapnya tentang perintah TRUNCATE, lihatMEMOTONG.
- SEMUA [HAK ISTIMEWA]
-
Memberikan semua izin yang tersedia sekaligus kepada pengguna atau peran yang ditentukan. Kata kunci PRIVILEGES adalah opsional.
GRANT ALL ON SCHEMA tidak memberikan izin CREATE untuk skema eksternal.
Anda dapat memberikan izin ALL ke tabel AWS Glue Data Catalog yang diaktifkan untuk Formasi Danau. Dalam hal ini, izin individu (seperti SELECT, ALTER, dan sebagainya) dicatat dalam Katalog Data.
catatan
Amazon Redshift tidak mendukung izin RULE dan TRIGGER. Untuk informasi selengkapnya, kunjungi Fitur PostgreSQL yang tidak didukung.
- ASSUMEROLE
-
Memberikan izin untuk menjalankan perintah COPY, UNLOAD, EXTERNAL FUNCTION, dan CREATE MODEL kepada pengguna, peran, atau grup dengan peran tertentu. Pengguna, peran, atau grup mengasumsikan peran itu saat menjalankan perintah yang ditentukan. Untuk mulai menggunakan izin ASSUMEROLE, lihat. Catatan penggunaan untuk memberikan izin ASSUMEROLE
- PADA [TABEL] nama_ tabel
-
Memberikan izin yang ditentukan pada tabel atau tampilan. Kata kunci TABLE adalah opsional. Anda dapat membuat daftar beberapa tabel dan tampilan dalam satu pernyataan.
- PADA SEMUA TABEL DI SCHEMA schema_name
-
Memberikan izin yang ditentukan pada semua tabel dan tampilan dalam skema yang direferensikan.
- (column_name [,...]) PADA TABLE table_name
-
Memberikan izin yang ditentukan kepada pengguna, grup, atau PUBLIK pada kolom tertentu dari tabel atau tampilan Amazon Redshift.
- (column_list) PADA TABEL EKSTERNAL schema_name.table_name
-
Memberikan izin yang ditentukan ke peran IAM pada kolom tertentu dari tabel Formasi Danau dalam skema yang direferensikan.
- PADA TABEL EKSTERNAL schema_name.table_name
-
Memberikan izin yang ditentukan ke peran IAM pada tabel Formasi Danau yang ditentukan dalam skema yang direferensikan.
- PADA SKEMA EKSTERNAL SCHEMA_NAME
-
Memberikan izin yang ditentukan ke peran IAM pada skema yang direferensikan.
- DI iam_role
-
Memberikan izin yang ditentukan ke peran IAM.
- Nama pengguna TO
-
Menunjukkan pengguna yang menerima izin.
- UNTUK IAM_ROLE iam_role
-
Menunjukkan peran IAM yang menerima izin.
- DENGAN OPSI HIBAH
-
Menunjukkan bahwa pengguna yang menerima izin pada gilirannya dapat memberikan izin yang sama kepada orang lain. DENGAN OPSI HIBAH tidak dapat diberikan kepada grup atau PUBLIK.
- Nama peran
-
Memberikan izin untuk peran.
- Grup nama_grup
-
Memberikan izin ke grup pengguna. Dapat berupa daftar yang dipisahkan koma untuk menentukan beberapa grup pengguna.
- PUBLIK
-
Memberikan izin yang ditentukan kepada semua pengguna, termasuk pengguna yang dibuat nanti. PUBLIK mewakili grup yang selalu mencakup semua pengguna. Izin pengguna individu terdiri dari jumlah izin yang diberikan kepada PUBLIK, izin yang diberikan kepada grup mana pun yang dimiliki pengguna, dan izin apa pun yang diberikan kepada pengguna secara individual.
Pemberian PUBLIK ke TABEL EKSTERNAL Formasi Danau menghasilkan pemberian izin kepada kelompok semua orang Formasi Danau.
- HUBUNGKAN [PADA KELOMPOK KERJA] KE {[PENGGUNA]<prefix>: <username>| PERAN<prefix>: <rolename>| PUBLIK}
-
Memberikan izin untuk terhubung ke grup kerja atau cluster kepada pengguna atau grup AWS IAM Identity Center federasi. Awalan mengidentifikasi penyedia identitas. Ketika diberikan ke PUBLIK, izin berlaku untuk semua pengguna AWS IAM Identity Center federasi, termasuk pengguna yang dibuat nanti. Izin ini hanya berlaku jika Izin Federasi Amazon Redshift diaktifkan pada workgroup atau cluster.
- CREATE
-
Bergantung pada objek database, memberikan izin berikut kepada pengguna atau grup pengguna:
-
Untuk database, CREATE memungkinkan pengguna untuk membuat skema dalam database.
-
Untuk skema, CREATE memungkinkan pengguna untuk membuat objek dalam skema. Untuk mengganti nama objek, pengguna harus memiliki izin CREATE dan memiliki objek yang akan diganti namanya.
-
CREATE ON SCHEMA tidak didukung untuk skema eksternal Amazon Redshift Spectrum. Untuk memberikan penggunaan tabel eksternal dalam skema eksternal, berikan USAGE ON SCHEMA kepada pengguna yang membutuhkan akses. Hanya pemilik skema eksternal atau superuser yang diizinkan untuk membuat tabel eksternal dalam skema eksternal. Untuk mentransfer kepemilikan skema eksternal, gunakan ALTER SCHEMA untuk mengubah pemilik.
-
- SEMENTARA | TEMP
-
Memberikan izin untuk membuat tabel sementara dalam database yang ditentukan. Untuk menjalankan kueri Amazon Redshift Spectrum, pengguna database harus memiliki izin untuk membuat tabel sementara di database.
catatan
Secara default, pengguna diberikan izin untuk membuat tabel sementara oleh keanggotaan otomatis mereka di grup PUBLIK. Untuk menghapus izin bagi pengguna mana pun untuk membuat tabel sementara, cabut izin TEMP dari grup PUBLIK. Kemudian secara eksplisit memberikan izin untuk membuat tabel sementara kepada pengguna atau grup pengguna tertentu.
- PADA DATABASE db_name
-
Memberikan izin yang ditentukan pada database.
- PENGGUNAAN
-
Memberikan izin PENGGUNAAN pada skema tertentu, yang membuat objek dalam skema tersebut dapat diakses oleh pengguna. Tindakan spesifik pada objek ini harus diberikan secara terpisah (misalnya, izin SELECT atau UPDATE pada tabel) untuk skema Amazon Redshift lokal. Secara default, semua pengguna memiliki izin CREATE dan USAGE pada skema PUBLIK.
Saat Anda memberikan USAGE ke skema eksternal menggunakan sintaks ON SCHEMA, Anda tidak perlu memberikan tindakan secara terpisah pada objek dalam skema eksternal. Izin katalog yang sesuai mengontrol izin granular pada objek skema eksternal.
- ON SCHEMA schema_name
-
Memberikan izin yang ditentukan pada skema.
GRANT CREATE ON SCHEMA dan izin BUAT di GRANT ALL ON SCHEMA tidak didukung untuk skema eksternal Amazon Redshift Spectrum. Untuk memberikan penggunaan tabel eksternal dalam skema eksternal, berikan USAGE ON SCHEMA kepada pengguna yang membutuhkan akses. Hanya pemilik skema eksternal atau superuser yang diizinkan untuk membuat tabel eksternal dalam skema eksternal. Untuk mentransfer kepemilikan skema eksternal, gunakan ALTER SCHEMA untuk mengubah pemilik.
- JALANKAN PADA SEMUA FUNGSI DALAM SCHEMA schema_name
-
Memberikan izin yang ditentukan pada semua fungsi dalam skema yang direferensikan.
Amazon Redshift tidak mendukung pernyataan GRANT atau REVOKE untuk entri bawaan pg_proc yang ditentukan dalam namespace pg_catalog.
- JALANKAN NAMA_prosedur PADA PROSED UR
-
Memberikan izin EXECUTE pada prosedur tersimpan tertentu. Karena nama prosedur yang disimpan dapat kelebihan beban, Anda harus menyertakan daftar argumen untuk prosedur. Untuk informasi selengkapnya, lihat Penamaan prosedur tersimpan.
- JALANKAN PADA SEMUA PROSEDUR DALAM SCHEMA schema_name
-
Memberikan izin yang ditentukan pada semua prosedur tersimpan dalam skema yang direferensikan.
- PENGGUNAAN PADA LANGUAGE language_name
-
Memberikan izin PENGGUNAAN pada suatu bahasa.
catatan
Mulai 1 November 2025, Amazon Redshift tidak akan lagi mendukung pembuatan UDF Python baru. UDF Python yang ada akan terus berfungsi hingga 30 Juni 2026. Mulai 1 Juli 2026, Amazon Redshift tidak akan lagi mendukung Python UDF. Kami menyarankan Anda memigrasikan UDF Python yang ada ke UDF Lambda sebelum 1 November 2025. Untuk informasi tentang membuat dan menggunakan Lambda UDF, lihat. Skalar Lambda UDF Untuk informasi tentang mengonversi UDF Python yang ada ke UDF Lambda, lihat posting blog. https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/
Izin USAGE ON LANGUAGE diperlukan untuk membuat fungsi yang ditentukan pengguna (UDF) dengan menjalankan perintahCREATE FUNCTION. Untuk informasi selengkapnya, lihat Keamanan dan izin UDF.
Izin USAGE ON LANGUAGE diperlukan untuk membuat prosedur tersimpan dengan menjalankan BUAT PROSEDUR perintah. Untuk informasi selengkapnya, lihat Keamanan dan hak istimewa untuk prosedur tersimpan.
Untuk Python UDF, gunakan
plpythonu. Untuk SQL UDF, gunakansql. Untuk prosedur yang disimpan, gunakanplpgsql. - ON COPY JOB nama_ pekerjaan
-
Memberikan izin yang ditentukan pada pekerjaan penyalinan.
- UNTUK {SEMUA | SALIN | MEMBONGKAR | FUNGSI EKSTERNAL | BUAT MODEL} [,...]
-
Menentukan perintah SQL yang izin diberikan. Anda dapat menentukan SEMUA untuk memberikan izin pada pernyataan COPY, UNLOAD, EXTERNAL FUNCTION, dan CREATE MODEL. Klausul ini hanya berlaku untuk memberikan izin ASSUMEROLE.
- MENGUBAH
-
Memberikan izin ALTER kepada pengguna untuk menambah atau menghapus objek dari datashare, atau untuk mengatur properti PUBLICACCESSIBLE. Untuk informasi selengkapnya, lihat ALTER DATA.
- BERBAGI
-
Memberikan pemrissi kepada pengguna dan grup pengguna untuk menambahkan konsumen data ke datashare. Izin ini diperlukan untuk mengaktifkan konsumen tertentu (akun atau namespace) untuk mengakses datashare dari cluster mereka. Konsumen dapat berupa AWS akun yang sama atau berbeda, dengan namespace cluster yang sama atau berbeda seperti yang ditentukan oleh pengenal unik global (GUID).
-
Memberikan izin yang ditentukan pada datashare yang direferensikan. Untuk informasi tentang perincian kontrol akses konsumen, lihatBerbagi data di berbagai tingkatan di Amazon Redshift.
- PENGGUNAAN
-
Ketika USAGE diberikan ke akun konsumen atau namespace dalam akun yang sama, akun konsumen tertentu atau namespace dalam akun dapat mengakses datashare dan objek datashare dengan cara read-only.
- KE NAMESPACE 'GUID' ruang nama cluster'
-
Menunjukkan namespace di akun yang sama tempat konsumen dapat menerima izin yang ditentukan ke datashare. Ruang nama menggunakan GUID alfanumerik 128-bit.
- KE AKUN 'nomor akun' [VIA KATALOG DATA]
-
Menunjukkan jumlah akun lain yang konsumennya dapat menerima izin yang ditentukan ke datashare. Menentukan 'VIA DATA CATALOG' menunjukkan bahwa Anda memberikan penggunaan datashare ke akun Lake Formation. Menghilangkan parameter ini berarti Anda memberikan penggunaan ke akun yang memiliki cluster.
-
Memberikan izin penggunaan yang ditentukan pada database tertentu yang dibuat di datashare yang ditentukan.
-
Memberikan izin yang ditentukan pada skema tertentu yang dibuat di datashare yang ditentukan.
- UNTUK {SKEMA | TABEL | FUNGSI | PROSEDUR | BAHASA | PEKERJAAN SALIN} DI
-
Menentukan objek database untuk memberikan izin. Parameter berikut IN menentukan ruang lingkup izin yang diberikan.
- BUAT MODEL
-
Memberikan izin CREATE MODEL kepada pengguna atau grup pengguna tertentu.
- NAMA_model ON MODEL
-
Memberikan izin EXECUTE pada model tertentu.
- AKSES KATALOG
-
Memberikan izin untuk melihat metadata objek yang relevan yang dapat diakses oleh peran tersebut.
- {peran} [,...]
-
Peran yang akan diberikan kepada peran lain, pengguna, atau PUBLIK.
PUBLIK mewakili grup yang selalu mencakup semua pengguna. Izin pengguna individu terdiri dari jumlah izin yang diberikan kepada PUBLIK, izin yang diberikan kepada grup mana pun yang dimiliki pengguna, dan izin apa pun yang diberikan kepada pengguna secara individual.
- UNTUK {{user_name [DENGAN OPSI ADMIN]} | peran} [,...]
-
Memberikan peran yang ditentukan kepada pengguna tertentu dengan OPSI DENGAN ADMIN, peran lain, atau PUBLIK.
Klausa WITH ADMIN OPTION menyediakan opsi administrasi untuk semua peran yang diberikan kepada semua penerima hibah.
- JELASKAN {RLS | MASKING} UNTUK ROLE ROLE
-
Memberikan izin untuk menjelaskan filter kebijakan keamanan dari kueri dalam rencana EXPLAIN ke peran. RLS memberikan izin untuk menjelaskan filter kebijakan keamanan tingkat baris. MASKING memberikan izin untuk menjelaskan filter kebijakan penyembunyian data dinamis.
- ABAIKAN RLS UNTUK ROLE rolename
-
Memberikan izin untuk melewati kebijakan keamanan tingkat baris untuk kueri ke peran.
- NAMA KEBIJAKAN KE {RLS | MASKING} KEBIJAKAN
Menunjukkan kebijakan keamanan yang menerima izin. KEBIJAKAN TO RLS menunjukkan kebijakan keamanan tingkat baris. TO MASKING POLICY menunjukkan kebijakan penyembunyian data dinamis.
Catatan penggunaan
Untuk mempelajari lebih lanjut tentang catatan penggunaan untuk GRANT, lihatCatatan penggunaan.
Contoh
Untuk contoh cara menggunakan GRANT, lihatContoh.