

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

# Menggunakan OpenID
<a name="create-index-access-control-tokens-openid"></a>

Untuk mengonfigurasi Amazon Kendra indeks untuk menggunakan token OpenID untuk kontrol akses, Anda memerlukan URL JWKS (JSON Web Key Set) dari penyedia OpenID. Dalam kebanyakan kasus, URL JWKS dalam format berikut (jika mereka mengikuti penemuan OpenID). `https://domain-name/.well_known/jwks.json` 

Contoh berikut menunjukkan cara menggunakan token OpenID untuk kontrol akses pengguna saat Anda membuat indeks.

------
#### [ Console ]

1. Pilih **Buat indeks** untuk mulai membuat indeks baru.

1. Pada **Tentukan detail indeks**, beri indeks Anda nama dan deskripsi. 

1. Untuk **IAM peran**, pilih peran atau pilih **Buat peran baru** dan tentukan nama peran untuk membuat peran baru. Peran IAM akan memiliki awalan "AmazonKendra-”. 

1. Biarkan bidang lain dengan defaultnya. Pilih **Berikutnya**.

1. Di halaman **Konfigurasikan kontrol akses pengguna**, di bawah **Pengaturan kontrol akses**, pilih **Ya** untuk menggunakan token untuk kontrol akses. 

1. Di bawah **Konfigurasi token**, pilih **OpenID** sebagai **Jenis token**. 

1. Menentukan **URL kunci penandatanganan**. URL harus mengarah ke satu set kunci web JSON. 

1. *Opsional* Pada **Konfigurasi lanjutan**: 

   1. Tentukan **Nama pengguna** untuk digunakan dalam pemeriksaan ACL. 

   1. Tentukan satu atau lebih **Grup** untuk digunakan dalam pemeriksaan ACL. 

   1. Tentukan **Penerbit** yang akan memvalidasi penerbit token. 

   1. Tentukan **Id Klien**. Anda harus menentukan ekspresi reguler yang sesuai dengan audiens di JWT.

1. Di halaman **Detail penyediaan**, pilih **Edisi Developer**.

1. Pilih **Buat** untuk membuat indeks Anda.

1. Tunggu indeks Anda dibuat. Amazon Kendra menyediakan perangkat keras untuk indeks Anda. Operasi ini dapat memakan waktu lama.

------
#### [ CLI ]

Untuk membuat indeks dengan AWS CLI menggunakan file input JSON, pertama buat file JSON dengan parameter yang Anda inginkan:

```
{
    "Name": "{{user-context}}",
    "Edition": "{{ENTERPRISE_EDITION}}",
    "RoleArn": "arn:aws:iam::{{account-id}}:role:/{{my-role}}",
    "UserTokenConfigurations": [
        {
            "JwtTokenTypeConfiguration": {
                "KeyLocation": "URL",
                "Issuer": "{{optional: specify the issuer url}}",
                "ClaimRegex": "{{optional: regex to validate claims in the token}}",
                "UserNameAttributeField": "{{optional: user}}",
                "GroupAttributeField": "{{optional: group}}",
                "URL": "https://example.com/.well-known/jwks.json"
            }
        }
    ],
    "UserContextPolicy": "USER_TOKEN"
}
```

Anda dapat mengganti nama bidang pengguna dan grup default. Nilai default untuk `UserNameAttributeField` adalah "user". Nilai default untuk `GroupAttributeField` adalah "groups". 

Selanjutnya, panggil `create-index` menggunakan file input. Misalnya, jika nama file JSON Anda adalah `create-index-openid.json`, Anda dapat menggunakan yang berikut ini: 

```
aws kendra create-index --cli-input-json file://create-index-openid.json
```

------
#### [ Python ]

```
response = kendra.create_index(
    Name='{{user-context}}',
    Edition='{{ENTERPRISE_EDITION}}',
    RoleArn='arn:aws:iam::{{account-id}}:role:/{{my-role}}',
    UserTokenConfigurations=[
        {
            "JwtTokenTypeConfiguration": {
                "KeyLocation": "URL",
                "Issuer": "{{optional: specify the issuer url}}",
                "ClaimRegex": "{{optional: regex to validate claims in the token}}",
                "UserNameAttributeField": "{{optional: user}}",
                "GroupAttributeField": "{{optional: group}}",
                "URL": "https://example.com/.well-known/jwks.json"
            }
        }
    ],
    UserContextPolicy='USER_TOKEN'
)
```

------