

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

# Tutorial: Konfigurasikan domain dengan pengguna master IAM dan otentikasi Amazon Cognito
<a name="fgac-iam"></a>

Tutorial ini mencakup kasus penggunaan OpenSearch Layanan Amazon yang populer untuk [kontrol akses berbutir halus](fgac.md): pengguna master IAM dengan otentikasi Amazon Cognito untuk Dasbor. OpenSearch 

Dalam tutorial, kita akan mengkonfigurasi peran *master* IAM dan peran IAM *terbatas*, yang kemudian akan kita kaitkan dengan pengguna di Amazon Cognito. Pengguna master kemudian dapat masuk ke OpenSearch Dasbor, memetakan pengguna terbatas ke peran, dan menggunakan kontrol akses berbutir halus untuk membatasi izin pengguna.

![\[IAM roles and Amazon Cognito integration with OpenSearch Dashboards access control.\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/fgac-cognito.png)


Meskipun langkah-langkah ini menggunakan kolam pengguna Amazon Cognito untuk autentikasi, proses dasar yang sama ini bekerja untuk penyedia autentikasi Cognito yang memungkinkan Anda menetapkan peran IAM yang berbeda untuk pengguna yang berbeda.

Anda akan menyelesaikan langkah-langkah berikut dalam tutorial ini:

1. [Buat peran master dan IAM terbatas](#fgac-iam-roles)

1. [Buat domain dengan otentikasi Cognito](#fgac-iam-domain)

1. [Konfigurasikan kumpulan pengguna Cognito dan kumpulan identitas](#fgac-iam-cognito)

1. [Peran peta di OpenSearch Dasbor](#fgac-iam-dashboards)

1. [Uji izin](#fgac-iam-test)

## Langkah 1: Buat master dan peran IAM terbatas
<a name="fgac-iam-roles"></a>

Arahkan ke konsol AWS Identity and Access Management (IAM) dan buat dua peran terpisah:
+ `MasterUserRole`— Pengguna master, yang akan memiliki izin penuh ke cluster dan mengelola peran dan pemetaan peran.
+ `LimitedUserRole`— Peran yang lebih terbatas, yang akan Anda berikan akses terbatas sebagai pengguna utama.

Untuk petunjuk membuat peran, lihat [Membuat peran menggunakan kebijakan kepercayaan khusus](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) di *Panduan Pengguna IAM*.

Kedua peran harus memiliki kebijakan kepercayaan berikut, yang memungkinkan kumpulan identitas Cognito Anda untuk mengambil peran:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Principal": {
      "Federated": "cognito-identity.amazonaws.com"
    },
    "Action": "sts:AssumeRoleWithWebIdentity",
    "Condition": {
      "StringEquals": {
        "cognito-identity.amazonaws.com:aud": "{identity-pool-id}"
      },
      "ForAnyValue:StringLike": {
        "cognito-identity.amazonaws.com:amr": "authenticated"
      }
    }
  }]
}
```

------

**catatan**  
Ganti `identity-pool-id` dengan pengenal unik kumpulan identitas Amazon Cognito Anda. Misalnya, `us-east-1:0c6cdba7-3c3c-443b-a958-fb9feb207aa6`.

## Langkah 2: Buat domain dengan otentikasi Cognito
<a name="fgac-iam-domain"></a>

Arahkan ke konsol OpenSearch Layanan Amazon di [https://console.aws.amazon.com/aos/rumah/](https://console.aws.amazon.com/aos/home/) dan [buat domain](createupdatedomains.md) dengan pengaturan berikut:
+ OpenSearch 1.0 atau yang lebih baru, atau Elasticsearch 7.8 atau yang lebih baru
+ Akses publik
+ Kontrol akses berbutir halus diaktifkan dengan `MasterUserRole` sebagai pengguna utama (dibuat pada langkah sebelumnya) 
+ Otentikasi Amazon Cognito diaktifkan untuk Dasbor. OpenSearch Untuk petunjuk untuk mengaktifkan otentikasi Cognito dan memilih kumpulan pengguna dan identitas, lihat. [Mengonfigurasi domain untuk menggunakan autentikasi Amazon Cognito](cognito-auth.md#cognito-auth-config)
+ Kebijakan akses domain berikut:

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {
          "AWS": "arn:aws:iam::111122223333:root"
        },
        "Action": [
          "es:ESHttp*"
        ],
        "Resource": "arn:aws:es:us-east-1:111122223333:domain/{domain-name}/*"
      }
    ]
  }
  ```

------
+ HTTPS diperlukan untuk semua lalu lintas ke domain
+ Node-to-node enkripsi
+ Enkripsi data saat tidak digunakan

## Langkah 3: Konfigurasikan pengguna Cognito
<a name="fgac-iam-cognito"></a>

Saat domain Anda sedang dibuat, konfigurasikan master dan pengguna terbatas dalam Amazon Cognito dengan mengikuti [Buat kumpulan pengguna](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html) di Panduan Pengembang *Amazon Cognito*. Terakhir, konfigurasikan kumpulan identitas Anda dengan mengikuti langkah-langkah di [Buat kumpulan identitas di Amazon](https://docs.aws.amazon.com/cognito/latest/developerguide/getting-started-with-identity-pools.html#create-identity-pool) Cognito. Kumpulan pengguna dan kumpulan identitas harus sama Wilayah AWS.

## Langkah 4: Memetakan peran di OpenSearch Dasbor
<a name="fgac-iam-dashboards"></a>

Setelah pengguna dikonfigurasi, Anda dapat masuk ke OpenSearch Dasbor sebagai pengguna utama dan memetakan pengguna ke peran.

1. Kembali ke konsol OpenSearch Layanan dan arahkan ke URL OpenSearch Dasbor untuk domain yang Anda buat. URL mengikuti format ini:`domain-endpoint/_dashboards/`.

1. Masuk dengan `master-user` kredensialnya.

1. Pilih **Tambahkan data sampel** dan tambahkan contoh data penerbangan.

1. Di panel navigasi kiri, pilih **Keamanan**, **Peran**, **Buat peran**.

1. Beri nama peran `new-role`.

1. Untuk **Indeks**, tentukan `opensearch_dashboards_sample_data_fli*` (`kibana_sample_data_fli*`pada domain Elasticsearch).

1. Untuk **izin Indeks**, pilih **baca**.

1. Untuk **keamanan tingkat Dokumen**, tentukan kueri berikut:

   ```
   {
     "match": {
       "FlightDelay": true
     }
   }
   ```

1. Untuk keamanan tingkat lapangan, pilih **Kecualikan** dan tentukan. `FlightNum`

1. Untuk **Anonimisasi**, tentukan. `Dest`

1. Pilih **Buat**.

1. Pilih **Pengguna yang dipetakan**, **Kelola pemetaan**. **Tambahkan Nama Sumber Daya Amazon (ARN) `LimitedUserRole` sebagai identitas eksternal dan pilih Peta.**

1. Kembali ke daftar peran dan pilih **opensearch\$1dashboards\$1user**. Pilih **Pengguna yang Dipetakan**, **Kelola pemetaan**. **Tambahkan ARN untuk `LimitedUserRole` sebagai peran backend dan pilih Peta.**

## Langkah 5: Uji izin
<a name="fgac-iam-test"></a>

Jika peran Anda dipetakan dengan benar, Anda dapat masuk sebagai pengguna terbatas dan menguji izin.

1. Di jendela browser pribadi yang baru, navigasikan ke URL OpenSearch Dasbor untuk domain, masuk menggunakan `limited-user` kredensialnya, dan pilih **Jelajahi sendiri**.

1. Buka **Dev Tools** dan jalankan pencarian default:

   ```
   GET _search
   {
     "query": {
       "match_all": {}
     }
   }
   ```

   Perhatikan kesalahan izin. `limited-user` tidak memiliki izin untuk menjalankan pencarian luas klaster.

1. Jalankan pencarian lain:

   ```
   GET opensearch_dashboards_sample_data_flights/_search
   {
     "query": {
       "match_all": {}
     }
   }
   ```

   Perhatikan bahwa semua dokumen yang cocok memiliki `FlightDelay` bidang `true`, bidang `Dest` yang anonim, dan tidak ada bidang `FlightNum`.

1. Di jendela browser asli Anda, masuk sebagai `master-user`, pilih **Alat Dev**, dan kemudian lakukan pencarian yang sama. Perhatikan perbedaan izin, jumlah klik, dokumen yang cocok, dan bidang yang disertakan.