

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

# Menggunakan peran database dan otentikasi IAM
<a name="using-database-and-iam-roles"></a>

Aurora DSQL mendukung otentikasi menggunakan peran IAM dan pengguna IAM. Anda dapat menggunakan salah satu metode untuk mengautentikasi dan mengakses database Aurora DSQL.

## Peran IAM
<a name="dsql-iam-roles"></a>

Peran IAM adalah identitas dalam diri Anda Akun AWS yang memiliki izin tertentu tetapi tidak terkait dengan orang tertentu. Menggunakan peran IAM memberikan kredensil keamanan sementara. Anda dapat mengambil peran IAM untuk sementara dalam beberapa cara:
+ Dengan beralih peran di Konsol Manajemen AWS
+ Dengan memanggil operasi AWS CLI atau AWS API
+ Dengan menggunakan URL kustom

Setelah mengambil peran, Anda dapat mengakses Aurora DSQL menggunakan kredenal sementara peran. Untuk informasi selengkapnya tentang metode penggunaan peran, lihat [Identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) di panduan pengguna *IAM*.

## Pengguna IAM:
<a name="dsql-iam-users"></a>

Pengguna IAM adalah identitas dalam diri Anda Akun AWS yang memiliki izin khusus dan dikaitkan dengan satu orang atau aplikasi. Pengguna IAM memiliki kredensi jangka panjang seperti kata sandi dan kunci akses yang dapat digunakan untuk mengakses Aurora DSQL. 

**catatan**  
Untuk menjalankan perintah SQL dengan otentikasi IAM, Anda dapat menggunakan peran IAM ARNs atau pengguna ARNs IAM dalam contoh di bawah ini.

## Mengotorisasi peran database untuk terhubung ke klaster Anda
<a name="using-database-and-iam-roles-custom-database-roles"></a>

Buat peran IAM dan berikan otorisasi koneksi dengan tindakan kebijakan IAM:. `dsql:DbConnect`

Kebijakan IAM juga harus memberikan izin untuk mengakses sumber daya klaster. Gunakan wildcard (`*`) atau ikuti petunjuk di [Menggunakan kunci kondisi IAM dengan Amazon Aurora](using-iam-condition-keys.md#using-iam-condition-keys-create-cluster) DSQL.

## Mengotorisasi peran database untuk menggunakan SQL dalam database Anda
<a name="using-database-and-iam-roles-custom-database-roles-sql"></a>

Anda harus menggunakan peran IAM dengan otorisasi untuk terhubung ke cluster Anda.

1. Connect ke cluster Aurora DSQL Anda menggunakan utilitas SQL.

   Gunakan peran `admin` database dengan identitas IAM yang diotorisasi untuk tindakan IAM untuk terhubung `dsql:DbConnectAdmin` ke cluster Anda. 

1. Buat peran database baru, pastikan untuk menentukan `WITH LOGIN` opsi.

   ```
   CREATE ROLE example WITH LOGIN;
   ```

1. Kaitkan peran database dengan peran IAM ARN.

   ```
   AWS IAM GRANT example TO 'arn:aws:iam::012345678912:role/example'; 
   ```

1. Berikan izin tingkat database ke peran database

   Contoh berikut menggunakan `GRANT` perintah untuk memberikan otorisasi dalam database.

   ```
   GRANT USAGE ON SCHEMA myschema TO example;
   GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA myschema TO example;
   ```

Untuk informasi selengkapnya, lihat [PostgreSQL dan `GRANT` PostgreSQL](https://www.postgresql.org/docs/current/sql-grant.html) [Privileges dalam dokumentasi PostgreSQL](https://www.postgresql.org/docs/current/ddl-priv.html). 

## Melihat IAM ke pemetaan peran database
<a name="using-database-and-iam-roles-view-mappings"></a>

Untuk melihat pemetaan antara peran IAM dan peran database, kueri tabel sistem. `sys.iam_pg_role_mappings`

```
SELECT * FROM sys.iam_pg_role_mappings;
```

Contoh output:

```
 iam_oid |                  arn                   | pg_role_oid | pg_role_name | grantor_pg_role_oid | grantor_pg_role_name
---------+----------------------------------------+-------------+--------------+---------------------+----------------------
   26398 | arn:aws:iam::012345678912:role/example |       26396 | example      |               15579 | admin
(1 row)
```

Tabel ini menunjukkan semua pemetaan antara peran IAM (diidentifikasi oleh ARN mereka) dan peran database PostgreSQL.

## Mencabut otorisasi database dari peran IAM
<a name="using-database-and-iam-roles-revoke"></a>

Untuk mencabut otorisasi database, gunakan operasi. `AWS IAM REVOKE`

```
AWS IAM REVOKE example FROM 'arn:aws:iam::012345678912:role/example';
```

Untuk mempelajari lebih lanjut tentang mencabut otorisasi, lihat. [Mencabut otorisasi menggunakan IAM dan PostgreSQL](authentication-authorization.md#authentication-authorization-revoke)