View a markdown version of this page

Mengelola izin untuk berbagi data di Amazon Redshift - Amazon Redshift

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

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

Mengelola izin untuk berbagi data di Amazon Redshift

Sebagai administrator produsen, Anda mempertahankan kontrol untuk kumpulan data yang Anda bagikan. Anda dapat menambahkan objek baru ke atau menghapusnya dari datashare. Anda juga dapat memberikan atau mencabut akses ke berbagi data secara keseluruhan untuk cluster konsumen, AWS akun, atau Wilayah. AWS Ketika izin dicabut, cluster konsumen segera kehilangan akses ke objek bersama dan berhenti melihatnya dalam daftar inbound datashares di SVV_DATASHARES.

Contoh berikut membuat datasharesalesshare, menambahkan skemapublic, dan menambahkan tabel public.tickit_sales_redshift ke. salesshare Ini juga memberikan izin penggunaan salesshare ke namespace yang ditentukan.

CREATE DATASHARE salesshare; ALTER DATASHARE salesshare ADD SCHEMA public; ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift; GRANT USAGE ON DATASHARE salesshare TO NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';

Untuk CREATE DATASHARE, pengguna super dan pemilik database dapat membuat datashares. Untuk informasi selengkapnya, lihat BUAT DATASHARE. Untuk ALTER DATASHARE, pemilik datashare dengan izin yang diperlukan pada objek datashare yang akan ditambahkan atau dihapus dapat mengubah datashare. Untuk informasi, lihat ALTER DATA.

Sebagai administrator produsen, ketika Anda menghapus datashare, itu berhenti terdaftar di cluster konsumen. Basis data dan referensi skema yang dibuat pada cluster konsumen dari data yang dijatuhkan terus ada tanpa objek di dalamnya. Administrator konsumen harus menghapus database ini secara manual.

Di sisi konsumen, administrator konsumen dapat menentukan pengguna dan peran mana yang harus mendapatkan akses ke data bersama dengan membuat database dari datashare. Tergantung pada opsi yang Anda pilih saat membuat database, Anda dapat mengontrol akses ke sana sebagai berikut. Untuk informasi selengkapnya tentang membuat database dari datashare, lihat. BUAT BASIS DATA

Untuk informasi selengkapnya tentang menyiapkan datashare dan membaca data dari konsumen, lihat Berbagi akses baca ke data dalam akun AWS .

Membuat database tanpa klausa WITH PERMISSIONS

Administrator dapat mengontrol akses pada tingkat database atau skema. Untuk mengontrol akses di tingkat skema, administrator harus membuat skema eksternal dari database Amazon Redshift yang dibuat dari datashare.

Contoh berikut memberikan izin untuk mengakses tabel bersama di tingkat database dan tingkat skema.

GRANT USAGE ON DATABASE sales_db TO Bob; CREATE EXTERNAL SCHEMA sales_schema FROM REDSHIFT DATABASE sales_db SCHEMA 'public'; GRANT USAGE ON SCHEMA sales_schema TO ROLE Analyst_role;

Untuk membatasi akses lebih lanjut, Anda dapat membuat tampilan di atas objek bersama, hanya mengekspos data yang diperlukan. Anda kemudian dapat menggunakan tampilan ini untuk memberikan akses ke pengguna dan peran.

Setelah pengguna diberikan akses ke database atau skema, mereka akan memiliki akses ke semua objek bersama dalam database atau skema itu.

Membuat database dengan klausa WITH PERMISSIONS

Setelah memberikan hak penggunaan pada database atau skema, administrator dapat mengontrol akses lebih lanjut menggunakan proses pemberian izin yang sama seperti pada database atau skema lokal. Tanpa izin objek individual, pengguna tidak dapat mengakses objek apa pun dalam database atau skema yang dibagikan data bahkan setelah diberikan izin USAGE.

Contoh berikut memberikan izin untuk mengakses tabel bersama di tingkat database.

GRANT USAGE ON DATABASE sales_db TO Bob; GRANT USAGE FOR SCHEMAS IN DATABASE sales_db TO Bob; GRANT SELECT ON sales_db.public.tickit_sales_redshift TO Bob;

Setelah diberikan akses ke database atau skema, pengguna masih perlu diberi izin yang relevan untuk objek apa pun dalam database atau skema yang Anda ingin mereka akses.

Berbagi granular menggunakan WITH PERMISSIONS

Anda dapat menggunakan berbagi granular menggunakan WITH PERMISSIONS untuk mengaktifkan cluster atau kelompok kerja Tanpa Server untuk menanyakan datashare. Proses ini mengasumsikan datashare berasal dari cluster lain atau namespace Amazon Redshift Serverless di akun Anda, atau berasal dari akun lain dan telah dikaitkan dengan namespace yang Anda gunakan.

  1. Administrator database konsumen dapat membuat database dari datashare.

    CREATE DATABASE my_ds_db [WITH PERMISSIONS] FROM DATASHARE my_datashare OF NAMESPACE 'abc123def';

    Jika Anda membuat database DENGAN IZIN, Anda dapat memberikan izin granular pada objek datashare ke pengguna dan peran yang berbeda. Tanpa ini, semua pengguna dan peran yang diberikan izin USAGE pada database datashare diberikan semua izin pada semua objek dalam database datashare.

  2. Berikut ini menunjukkan cara memberikan izin kepada pengguna atau peran database Redshift. Anda harus terhubung ke database lokal untuk menjalankan pernyataan ini. Anda tidak dapat menjalankan pernyataan ini jika Anda menjalankan perintah USE pada database datashare sebelum menjalankan pernyataan hibah.

    GRANT USAGE ON DATABASE my_ds_db TO ROLE data_eng; GRANT CREATE, USAGE ON SCHEMA my_ds_db.my_shared_schema TO ROLE data_eng; GRANT ALL ON ALL TABLES IN SCHEMA my_ds_db.my_shared_schema TO ROLE data_eng; GRANT USAGE ON DATABASE my_ds_db TO bi_user; GRANT USAGE ON SCHEMA my_ds_db.my_shared_schema TO bi_user; GRANT SELECT ON my_ds_db.my_shared_schema.table1 TO bi_user;