Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CREATE RLS POLICY
Membuat kebijakan keamanan tingkat baris baru untuk menyediakan akses terperinci ke objek database.
Pengguna super dan pengguna atau peran yang memiliki peran sys:secadmin dapat membuat kebijakan.
Sintaks
CREATE RLS POLICY policy_name [ WITH (column_name data_type [, ...]) [ [AS] relation_alias ] ] USING ( using_predicate_exp )
Parameter
- policy_name
-
Nama kebijakan .
- WITH(column_name data_type [,...] )
-
Menentukan column_name dan data_type direferensikan ke kolom tabel yang kebijakan dilampirkan.
Anda dapat menghilangkan WITH klausa hanya jika RLS kebijakan tidak mereferensikan kolom tabel mana pun yang dilampirkan kebijakan tersebut.
- AS hubungan_alias
-
Menentukan alias opsional untuk tabel yang RLS kebijakan akan dilampirkan.
- USING(menggunakan_predicate_exp)
-
Menentukan filter yang diterapkan pada WHERE klausa query. Amazon Redshift menerapkan predikat kebijakan sebelum predikat pengguna tingkat kueri. Misalnya,
current_user = ‘joe’ and price > 10
membatasi Joe untuk hanya melihat catatan dengan harga lebih dari $10.
Catatan penggunaan
Saat bekerja dengan CREATE RLS POLICY pernyataan itu, amati hal berikut:
Amazon Redshift mendukung filter yang dapat menjadi bagian dari WHERE klausa kueri.
Semua kebijakan yang dilampirkan ke tabel harus dibuat dengan alias tabel yang sama.
Anda tidak memerlukan SELECT izin pada tabel pencarian. Saat Anda membuat kebijakan, Amazon Redshift memberikan SELECT izin pada tabel pencarian untuk kebijakan masing-masing. Tabel pencarian adalah objek tabel yang digunakan di dalam definisi kebijakan.
Keamanan tingkat baris Amazon Redshift tidak mendukung jenis objek berikut di dalam definisi kebijakan: tabel katalog, relasi lintas basis data, tabel eksternal, tampilan reguler, tampilan pengikatan akhir, tabel dengan RLS kebijakan diaktifkan, dan tabel sementara.
Contoh
SQLPernyataan berikut membuat tabel, pengguna, dan peran untuk CREATE RLS POLICY contoh.
-- Create users and roles reference in the policy statements. CREATE ROLE analyst; CREATE ROLE consumer; CREATE USER bob WITH PASSWORD 'Name_is_bob_1'; CREATE USER alice WITH PASSWORD 'Name_is_alice_1'; CREATE USER joe WITH PASSWORD 'Name_is_joe_1'; GRANT ROLE sys:secadmin TO bob; GRANT ROLE analyst TO alice; GRANT ROLE consumer TO joe; GRANT ALL ON TABLE tickit_category_redshift TO PUBLIC;
Contoh berikut membuat kebijakan yang disebut policy_concerts.
CREATE RLS POLICY policy_concerts WITH (catgroup VARCHAR(10)) USING (catgroup = 'Concerts');