

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, 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/). 

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

# Mengelola kontrol akses di katalog izin federasi Amazon Redshift
<a name="federated-permissions-managing-access"></a>

Dengan izin federasi Amazon Redshift, pengguna dapat menentukan kontrol akses berbutir kasar dan halus dari gudang Redshift mana pun di. Akun AWS Izin kasar mengelola akses ke tabel, tampilan, dan objek database, termasuk izin terbatas, sementara kontrol halus memungkinkan hak istimewa tingkat kolom dan penerapan kebijakan keamanan seperti keamanan tingkat baris (RLS) dan masking data dinamis (DDM).

## Hibah/Cabut
<a name="federated-permissions-managing-access-grant-revoke"></a>

Dengan izin federasi, Anda dapat menentukan izin pada akses tingkat tabel seperti akses untuk membaca, menulis data dalam tabel, dan tampilan di database Izin Federasi Pergeseran Merah dari gudang Redshift mana pun.

```
GRANT SELECT ON "sales_db@finance-catalog".sales_schema.sales_table TO "IAMR:sales_analyst";  

GRANT INSERT ON "sales_db@finance-catalog".sales_schema.sales_view TO "IAMR:sales_data_engineer";  

REVOKE UPDATE ON "sales_db@finance-catalog".sales_schema.us_sales_view FROM "IAMR:us_sales_analyst";  

REVOKE DELETE ON "sales_db@finance-catalog".sales_schema.us_sales_view FROM "IAMR:us_sales_analyst";
```

Izin gabungan Amazon Redshift mendukung izin terbatas untuk memungkinkan Anda memberikan atau mencabut izin pada semua objek tipe dalam database atau skema.

```
GRANT SELECT FOR TABLES IN SCHEMA "sales_db@finance-catalog".sales_schema TO "IAMR:sales_manager";  

REVOKE UPDATE FOR TABLES IN SCHEMA sales_schmea DATABASE "sales_db@finance-catalog" FROM "IAMR:sales_analyst";
```

Anda dapat menentukan hibah/mencabut izin akses pada database.

```
GRANT CREATE ON DATABASE "sales_db@finance-catalog" TO "IAMR:sales_admin";  

REVOKE TEMP ON DATABASE "sales_db@finance-catalog" FROM "IAMR:sales_analyst";
```

Untuk informasi selengkapnya tentang sintaks hibah yang didukung izin gabungan Amazon Redshift untuk hibah, lihat. [Izin yang dapat Anda berikan di katalog izin federasi Amazon Redshift](#federated-permissions-managing-access-grant-allowed)

## Kontrol akses detail
<a name="federated-permissions-managing-access-fgac"></a>

Anda dapat menentukan kontrol akses berbutir halus atas data sensitif menggunakan kontrol akses tingkat kolom, keamanan tingkat baris (RLS), dan masking data dinamis (DDM) dalam database dengan izin federasi Amazon Redshift. Kontrol akses tingkat kolom memungkinkan untuk menentukan hak akses tingkat kolom berbutir halus pada tabel dan tampilan. Pengguna super dan pengguna atau peran dengan `sys:secadmin` peran pada database dapat membuat kebijakan RLS dan DDM, melampirkan kebijakan ini ke hubungan tertentu, dan mengaktifkan RLS pada suatu relasi.

### Kontrol akses tingkat kolom:
<a name="federated-permissions-managing-access-column"></a>

Anda dapat memberikan atau mencabut hak istimewa tertentu pada kolom individual tabel atau tampilan.

```
GRANT SELECT ON "sales_db@finance-catalog".sales_schema.sales_table(order_number, sales_date, purchase_amount, sale_amount) TO "IAMR:sales_revenue_analyst";  

REVOKE UPDATE ON "sales_db@finance-catalog".sales_schema.us_sales_view(order_number, sales_date, purchase_amount, sale_amount) FROM "IAMR:sales_revenue_analyst";
```

### Keamanan tingkat baris (RLS):
<a name="federated-permissions-managing-access-row"></a>

Anda dapat mengaktifkan atau menonaktifkan keamanan tingkat baris untuk suatu relasi.

```
ALTER TABLE "sales_db@finance-catalog".sales_schema.sales_table ROW LEVEL SECURITY ON;
```

Anda dapat membuat, mengubah, menjatuhkan kebijakan RLS pada database.

```
-- Create an RLS policy  
CREATE RLS POLICY "sales_db@finance-catalog".policy_america  
WITH (region VARCHAR(10))   
USING (region = 'USA');  

-- Alter an RLS policy  
ALTER RLS POLICY "sales_db@finance-catalog".policy_america  
USING (region IN ('USA', 'CANADA', 'Mexico'));  

-- Drop an RLS policy  
DROP RLS POLICY "sales_db@finance-catalog".policy_america;
```

Anda dapat melampirkan atau melepaskan kebijakan RLS pada suatu relasi.

```
-- Attach an RLS policy  
ATTACH RLS POLICY "sales_db@finance-catalog".policy_america  
ON "sales_db@finance-catalog".sales_schema.sales_table  
TO "IAMR:america_sales_analyst";  

-- Detach an RLS policy  
DETACH RLS POLICY "sales_db@finance-catalog".policy_america  
ON "sales_db@finance-catalog".sales_schema.sales_view_america  
FROM "IAMR:global_sales_analyst";
```

### Masking data dinamis (DDM):
<a name="federated-permissions-managing-access-ddm"></a>

Anda dapat membuat, mengubah, menjatuhkan kebijakan masking pada database.

```
-- Create a masking policy  
CREATE MASKING POLICY "sales_db@finance-catalog".hash_credit  
WITH (credit_card varchar(256))  
USING (sha2(credit_card + 'testSalt', 256));  

-- Alter an masking policy  
ALTER MASKING POLICY "sales_db@finance-catalog".hash_credit  
USING (sha2(credit_card + 'otherTestSalt', 256));  

-- Drop an masking policy  
DROP MASKING POLICY "sales_db@finance-catalog".hash_credit;
```

Anda dapat melampirkan atau melepaskan kebijakan masking pada suatu relasi.

```
-- Attach a masking policy  
 ATTACH MASKING POLICY hash_credit  
ON "sales_db@finance-catalog".sales_schema.transaction_table (credit_card)  
TO "IAMR:sales_analyst" PRIORITY 30;   

-- Detach a masking policy  
DETACH MASKING POLICY hash_credit  
ON "sales_db@finance-catalog".sales_schema.transaction_view (credit_card)  
FROM "IAMR:transaction_analyst";
```

Superuser atau pengguna dengan `sys:secadmin` hak istimewa dapat melihat kebijakan RLS dan DDM, serta lampiran mereka pada hubungan dengan izin federasi, dengan menggunakan perintah. [TAMPILKAN KEBIJAKAN](r_SHOW_POLICIES.md)

**catatan**  
Fungsi yang ditentukan pengguna (UDF) di RLS, definisi kebijakan DDM tidak didukung dengan izin federasi Amazon Redshift.
Fungsi Redshift SQL user\$1is\$1member\$1of, role\$1is\$1member\$1of, user\$1is\$1member\$1of\$1role tidak didukung dengan izin federasi Amazon Redshift.

### Izin yang dapat Anda berikan di katalog izin federasi Amazon Redshift
<a name="federated-permissions-managing-access-grant-allowed"></a>

Pernyataan SQL untuk mendukung manajemen izin pada database dengan izin federasi Amazon Redshift pada sumber daya pada tingkat perincian yang berbeda. Sintaks mendukung referensi tabel lokal (ketika terhubung ke database yang berisi sumber daya atau ketika database sumber dalam USE) dan referensi lintas basis data yang memenuhi syarat sepenuhnya.

**Catatan**
+ *username*dapat merujuk ke pengguna IAM, peran IAM, atau pengguna idC ()AWS IAM Identity Center.
+ *role\$1name*dapat merujuk ke grup IDC. Grup IAM tidak didukung.

#### Izin Berbutir Kasar
<a name="federated-permissions-managing-access-grant-allowed-coarse"></a>

```
GRANT { SELECT | INSERT | UPDATE | DELETE | TRUNCATE} ON   
[ TABLE ] { table_name | database@catalog.schema_name.table_name }  
TO { username | ROLE role_name | PUBLIC }  

REVOKE { SELECT | INSERT | UPDATE | DELETE | TRUNCATE } ON  
[ TABLE ] { table_name | database@catalog.schema_name.table_name }   
FROM { username | ROLE role_name | PUBLIC }
```

#### Hak Istimewa Tingkat Kolom
<a name="federated-permissions-managing-access-grant-allowed-column"></a>

```
GRANT { { SELECT | UPDATE | DELETE }   
( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) }  
ON { table_name | database@catalog.schema_name.table_name }  
TO { username | ROLE role_name | PUBLIC }  

REVOKE { { SELECT | UPDATE | DELETE }   
( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) }  
ON { table_name | database@catalog.schema_name.table_name }  
FROM { username | ROLE role_name | PUBLIC }
```

### Izin Tercakup
<a name="federated-permissions-managing-access-scoped"></a>

```
GRANT { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }  
FOR SCHEMAS IN  
DATABASE database@catalog   
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 database@catalog ] | DATABASE database@catalog }  
TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...]  

REVOKE [ GRANT OPTION ] { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }   
FOR SCHEMAS IN   
DATABASE database@catalog   
FROM { username | ROLE role_name } [, ...]   

REVOKE [ GRANT OPTION ] { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [ PRIVILEGES ] } }   
FOR TABLES IN   
{ SCHEMA schema_name [ DATABASE database@catalog ] | DATABASE database@catalog }   
FROM { username | ROLE role_name } [, ...]
```