

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

# Otentikasi SAMP untuk Amazon Tanpa Server OpenSearch
<a name="serverless-saml"></a>

Dengan autentikasi SAMP untuk Amazon OpenSearch Tanpa Server, Anda dapat menggunakan penyedia identitas yang ada untuk menawarkan sistem masuk tunggal (SSO) untuk titik akhir Dasbor koleksi tanpa server. OpenSearch 

Otentikasi SAMP memungkinkan Anda menggunakan penyedia identitas pihak ketiga untuk masuk ke OpenSearch Dasbor untuk mengindeks dan mencari data. OpenSearch Serverless mendukung penyedia yang menggunakan standar SAMP 2.0, seperti IAM Identity Center, Okta, Keycloak, Active Directory Federation Services (AD FS), dan Auth0. Anda dapat mengonfigurasi Pusat Identitas IAM untuk menyinkronkan pengguna dan grup dari sumber identitas lain seperti Okta,, OneLogin dan Microsoft Entra ID. Untuk daftar sumber identitas yang didukung oleh IAM Identity Center dan langkah-langkah untuk mengonfigurasinya, lihat [Memulai tutorial](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html) di *Panduan Pengguna Pusat Identitas IAM*.

**catatan**  
Otentikasi SAMP hanya untuk mengakses OpenSearch Dasbor melalui browser web. Pengguna yang diautentikasi hanya dapat membuat permintaan ke operasi OpenSearch API melalui **Alat Pengembang di OpenSearch Dasbor**. Kredensyal SAMP Anda *tidak* memungkinkan Anda membuat permintaan HTTP langsung ke operasi API. OpenSearch 

Untuk mengatur otentikasi SAMP, pertama-tama Anda mengonfigurasi penyedia identitas SAMP (iDP). Anda kemudian menyertakan satu atau beberapa pengguna dari IDP tersebut dalam kebijakan [akses data](serverless-data-access.md). Kebijakan ini memberikan izin tertentu untuk indeks koleksi and/or . Pengguna kemudian dapat masuk ke OpenSearch Dasbor dan melakukan tindakan yang diizinkan dalam kebijakan akses data.

![\[SAML authentication flow with data access policy, OpenSearch interface, and JSON configuration.\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/serverless-saml-flow.png)


**Topics**
+ [Pertimbangan-pertimbangan](#serverless-saml-considerations)
+ [Izin diperlukan](#serverless-saml-permissions)
+ [Membuat penyedia SAMP (konsol)](#serverless-saml-creating)
+ [Mengakses Dasbor OpenSearch](#serverless-saml-dashboards)
+ [Memberikan akses identitas SAMP ke pengumpulan data](#serverless-saml-policies)
+ [Membuat penyedia SAMP ()AWS CLI](#serverless-saml-creating-api)
+ [Melihat penyedia SAMP](#serverless-saml-viewing)
+ [Memperbarui penyedia SAMP](#serverless-saml-updating)
+ [Menghapus penyedia SAMP](#serverless-saml-deleting)

## Pertimbangan-pertimbangan
<a name="serverless-saml-considerations"></a>

Pertimbangkan hal berikut saat mengonfigurasi otentikasi SAMP:
+ Permintaan yang ditandatangani dan dienkripsi tidak didukung.
+ Pernyataan terenkripsi tidak didukung.
+ Autentikasi dan sign-out yang diprakarsai IDP tidak didukung.
+ Kebijakan Kontrol Layanan (SCP) tidak akan berlaku atau dievaluasi dalam kasus identitas non-IAM (seperti SAMP di Amazon OpenSearch Tanpa Server & SAMP dan otorisasi pengguna internal dasar untuk Layanan Amazon). OpenSearch 

## Izin diperlukan
<a name="serverless-saml-permissions"></a>

Otentikasi SAMP untuk OpenSearch Tanpa Server menggunakan izin AWS Identity and Access Management (IAM) berikut:
+ `aoss:CreateSecurityConfig`— Buat penyedia SAMP.
+ `aoss:ListSecurityConfig`— Daftar semua penyedia SAMP di akun saat ini.
+ `aoss:GetSecurityConfig`— Lihat informasi penyedia SAMP.
+ `aoss:UpdateSecurityConfig`— Memodifikasi konfigurasi penyedia SAMP yang diberikan, termasuk metadata XML.
+ `aoss:DeleteSecurityConfig`— Hapus penyedia SAMP.

Kebijakan akses berbasis identitas berikut memungkinkan pengguna untuk mengelola semua konfigurasi iDP:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "aoss:CreateSecurityConfig",
                "aoss:DeleteSecurityConfig",
                "aoss:GetSecurityConfig",
                "aoss:UpdateSecurityConfig",
                "aoss:ListSecurityConfigs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

Perhatikan bahwa `Resource` elemen harus menjadi wildcard.

## Membuat penyedia SAMP (konsol)
<a name="serverless-saml-creating"></a>

Langkah-langkah ini menjelaskan cara membuat penyedia SAMP. Ini memungkinkan otentikasi SAMP dengan otentikasi yang dimulai oleh penyedia layanan (SP) untuk Dasbor. OpenSearch Otentikasi yang diprakarsai IDP tidak didukung.

**Untuk mengaktifkan otentikasi SAMP untuk Dasbor OpenSearch**

1. Masuk ke konsol OpenSearch Layanan Amazon di [https://console.aws.amazon.com/aos/rumah](https://console.aws.amazon.com/aos/home ).

1. Di panel navigasi kiri, perluas **Tanpa Server** dan pilih otentikasi **SAMP**.

1. Pilih **Tambahkan penyedia SAMP**.

1. Berikan nama dan deskripsi untuk penyedia.
**catatan**  
Nama yang Anda tentukan dapat diakses publik dan akan muncul di menu tarik-turun saat pengguna masuk ke Dasbor. OpenSearch Pastikan nama tersebut mudah dikenali dan tidak mengungkapkan informasi sensitif tentang penyedia identitas Anda.

1. Di bawah **Konfigurasi iDP Anda**, salin URL assertion consumer service (ACS).

1. Gunakan URL ACS yang baru saja Anda salin untuk mengonfigurasi penyedia identitas Anda. Terminologi dan langkah-langkah bervariasi menurut penyedia. Baca dokumentasi dari penyedia Anda.

   Di Okta, misalnya, Anda membuat “aplikasi web SAMP 2.0” dan menentukan URL ACS sebagai URL **Single Sign On, URL** **Penerima, dan URL** **Tujuan**. Untuk Auth0, Anda menentukannya di **Allowed Callback URLs**.

1. Berikan batasan audiens jika IDP Anda memiliki bidang untuk itu. Pembatasan audiens adalah nilai dalam pernyataan SAMP yang menentukan untuk siapa pernyataan itu dimaksudkan. Dengan OpenSearch Tanpa Server, Anda dapat melakukan hal berikut. Pastikan untuk mengganti contoh kode berikut dengan Akun AWS ID Anda sendiri: *content* 

   1. Gunakan batasan `:opensearch:111122223333` audiens default.

   1. (Opsional) mengkonfigurasi pembatasan audiens kustom menggunakan. AWS CLI Untuk informasi selengkapnya, lihat [Membuat penyedia SAMP ()AWS CLI](#serverless-saml-creating-api).

   Nama bidang pembatasan audiens bervariasi menurut penyedia. Untuk Okta itu **Audience URI (SP Entity ID)**. Untuk Pusat Identitas IAM itu adalah audiens **Aplikasi SAMP**.

1. Jika Anda menggunakan IAM Identity Center, Anda juga perlu menentukan [pemetaan atribut](https://docs.aws.amazon.com/singlesignon/latest/userguide/attributemappingsconcept.html) berikut:`Subject=${user:name}`, dengan format. `unspecified`

1. Setelah Anda konfigurasi, penyedia identitas akan menghasilkan file metadata IdP. File XHTML ini berisi informasi tentang penyedia, seperti sertifikat TLS, titik akhir masuk tunggal, dan ID entitas penyedia identitas.

   Salin teks dalam file metadata iDP dan tempel di bawah **Menyediakan metadata** dari bidang IDP Anda. Sebagai alternatif, pilih **Impor dari file XHTML dan unggah file**. File metadata harus terlihat seperti ini:

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <md:EntityDescriptor entityID="entity-id" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
     <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
       <md:KeyDescriptor use="signing">
         <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
           <ds:X509Data>
             <ds:X509Certificate>tls-certificate</ds:X509Certificate>
           </ds:X509Data>
         </ds:KeyInfo>s
       </md:KeyDescriptor>
       <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
       <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
       <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="idp-sso-url"/>
       <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="idp-sso-url"/>
     </md:IDPSSODescriptor>
   </md:EntityDescriptor>
   ```

1. Biarkan bidang **atribut Custom user ID** kosong untuk menggunakan `NameID` elemen pernyataan SAMP untuk nama pengguna. Jika penegasan Anda tidak menggunakan elemen standar ini dan sebagai gantinya menyertakan nama pengguna sebagai atribut kustom, tentukan atribut di sini. Atribut peka huruf besar/kecil. Hanya satu atribut pengguna yang didukung.

   Contoh berikut menunjukkan atribut override untuk `NameID` dalam pernyataan SAMP:

   ```
   <saml2:Attribute Name="UserId" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
     <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:type="xs:string">annie</saml2:AttributeValue>
   </saml2:Attribute>
   ```

1. (Opsional) Tentukan atribut khusus di bidang **atribut Grup**, seperti `role` atau`group`. Hanya satu atribut grup yang didukung. Tidak ada atribut grup default. Jika Anda tidak menentukannya, kebijakan akses data Anda hanya dapat berisi prinsipal pengguna.

   Contoh berikut menunjukkan atribut grup dalam pernyataan SAMP:

   ```
   <saml2:Attribute Name="department" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
       <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:type="xs:string">finance</saml2:AttributeValue>
   </saml2:Attribute>
   ```

1. Secara default, OpenSearch Dasbor membuat pengguna keluar setelah 24 jam. Anda dapat mengonfigurasi nilai ini ke angka apa pun antara 1 dan 12 jam (15 dan 720 menit) dengan menentukan batas waktu **OpenSearch Dasbor**. Jika Anda mencoba mengatur batas waktu sama dengan atau kurang dari 15 menit, sesi Anda akan diatur ulang menjadi satu jam.

1. Pilih **Buat penyedia SAMP**.

## Mengakses Dasbor OpenSearch
<a name="serverless-saml-dashboards"></a>

Setelah Anda mengonfigurasi penyedia SAMP, semua pengguna dan grup yang terkait dengan penyedia tersebut dapat menavigasi ke titik akhir OpenSearch Dasbor. URL Dasbor memiliki format `collection-endpoint/_dashboards/` *untuk semua koleksi*. 

Jika Anda mengaktifkan SAMP, memilih tautan di Konsol Manajemen AWS mengarahkan Anda ke halaman pilihan iDP, tempat Anda dapat masuk menggunakan kredensyal SAMP Anda. Pertama, gunakan dropdown untuk memilih penyedia identitas:

![\[OpenSearch login page with dropdown menu for selecting SAML Identity Provider options.\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/idpList.png)


Kemudian masuk menggunakan kredensi IDP Anda. 

Jika Anda tidak mengaktifkan SAMP, memilih tautan di Konsol Manajemen AWS mengarahkan Anda untuk masuk sebagai pengguna atau peran IAM, tanpa opsi untuk SAMP.

## Memberikan akses identitas SAMP ke pengumpulan data
<a name="serverless-saml-policies"></a>

Setelah membuat penyedia SAMP, Anda masih perlu memberi pengguna dan grup yang mendasarinya akses ke data dalam koleksi Anda. Anda memberikan akses melalui [kebijakan akses data](serverless-data-access.md). Sampai Anda memberikan akses kepada pengguna, mereka tidak akan dapat membaca, menulis, atau menghapus data apa pun dalam koleksi Anda.

Untuk memberikan akses, buat kebijakan akses data dan tentukan and/or grup pengguna SAMP Anda IDs dalam `Principal` pernyataan:

```
[
   {
      "Rules":[
       ...  
      ],
      "Principal":[
         "saml/987654321098/myprovider/user/Shaheen",
         "saml/987654321098/myprovider/group/finance"
      ]
   }
]
```

Anda dapat memberikan akses ke koleksi, indeks, atau keduanya. Jika Anda ingin pengguna yang berbeda memiliki izin yang berbeda, buat beberapa aturan. Untuk daftar izin yang tersedia, lihat [Izin kebijakan yang didukung](serverless-data-access.md#serverless-data-supported-permissions). Untuk informasi tentang cara memformat kebijakan akses, lihat [Sintaks kebijakan](serverless-data-access.md).

## Membuat penyedia SAMP ()AWS CLI
<a name="serverless-saml-creating-api"></a>

Untuk membuat penyedia SAMP menggunakan API OpenSearch Tanpa Server, kirim permintaan: [CreateSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityConfig.html)

```
aws opensearchserverless create-security-config \
    --name myprovider \
    --type saml \
    --saml-options file://saml-auth0.json
```

Tentukan`saml-options`, termasuk metadata XML, sebagai peta nilai kunci dalam file.json. [Metadata XMLharus dikodekan sebagai string lolos JSON.](https://www.freeformatter.com/json-escape.html)

```
{
   "sessionTimeout": 70,
   "groupAttribute": "department",
   "userAttribute": "userid",
   "openSearchServerlessEntityId": "aws:opensearch:111122223333:app1",
   "metadata": "EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor\r\n\/EntityDescriptor"
}
```

**catatan**  
(Opsional) mengkonfigurasi pembatasan audiens kustom menggunakan. AWS CLI Untuk informasi selengkapnya, lihat [Membuat penyedia SAMP ()AWS CLI](#serverless-saml-creating-api).

## Melihat penyedia SAMP
<a name="serverless-saml-viewing"></a>

[ListSecurityConfigs](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityConfigs.html)Permintaan berikut mencantumkan semua penyedia SAMP di akun Anda:

```
aws opensearchserverless list-security-configs --type saml
```

Permintaan mengembalikan informasi tentang semua penyedia SAMP yang ada, termasuk metadata IDP lengkap yang dihasilkan oleh penyedia identitas Anda:

```
{
   "securityConfigDetails": [ 
      { 
         "configVersion": "MTY2NDA1MjY4NDQ5M18x",
         "createdDate": 1664054180858,
         "description": "Example SAML provider",
         "id": "saml/111122223333/myprovider",
         "lastModifiedDate": 1664054180858,
         "samlOptions": { 
            "groupAttribute": "department",
            "metadata": "EntityDescriptorxmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ...... ...IDPSSODescriptor\r\n/EntityDescriptor",
            "sessionTimeout": 120,
            "openSearchServerlessEntityId": "aws:opensearch:111122223333:app1",
            "userAttribute": "userid"
         }
      }
   ]
}
```

Untuk melihat detail tentang penyedia tertentu, termasuk pembaruan `configVersion` for future, kirim `GetSecurityConfig` permintaan.

## Memperbarui penyedia SAMP
<a name="serverless-saml-updating"></a>

**Untuk memperbarui penyedia SAMP menggunakan konsol OpenSearch Tanpa Server, pilih **otentikasi SAMP**, pilih penyedia identitas Anda, dan pilih Edit.** Anda dapat memodifikasi semua bidang, termasuk metadata dan atribut kustom.

Untuk memperbarui penyedia melalui API OpenSearch Tanpa Server, kirim [UpdateSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityConfig.html)permintaan dan sertakan pengenal kebijakan yang akan diperbarui. Anda juga harus menyertakan versi konfigurasi, yang dapat Anda ambil menggunakan `GetSecurityConfig` perintah `ListSecurityConfigs` atau. Menyertakan versi terbaru memastikan bahwa Anda tidak secara tidak sengaja mengesampingkan perubahan yang dilakukan oleh orang lain.

Permintaan berikut memperbarui opsi SAMP untuk penyedia:

```
aws opensearchserverless update-security-config \
    --id saml/123456789012/myprovider \
    --type saml \
    --saml-options file://saml-auth0.json \
    --config-version MTY2NDA1MjY4NDQ5M18x
```

Tentukan opsi konfigurasi SAMP Anda sebagai peta nilai kunci dalam file.json.

**penting**  
**Pembaruan untuk opsi SAMP *tidak inkremental***. Jika Anda tidak menentukan nilai untuk parameter dalam `SAMLOptions` objek saat Anda melakukan pembaruan, nilai yang ada akan diganti dengan nilai kosong. Misalnya, jika konfigurasi saat ini berisi nilai untuk`userAttribute`, dan kemudian Anda membuat pembaruan dan tidak menyertakan nilai ini, nilai akan dihapus dari konfigurasi. Pastikan Anda tahu apa nilai yang ada sebelum Anda membuat pembaruan dengan memanggil `GetSecurityConfig` operasi.

## Menghapus penyedia SAMP
<a name="serverless-saml-deleting"></a>

Saat Anda menghapus penyedia SAMP, referensi apa pun ke pengguna dan grup terkait dalam kebijakan akses data Anda tidak lagi berfungsi. Untuk menghindari kebingungan, kami sarankan Anda menghapus semua referensi ke titik akhir dalam kebijakan akses Anda sebelum Anda menghapus titik akhir.

**Untuk menghapus penyedia SAMP menggunakan konsol OpenSearch Tanpa Server, pilih **Autentikasi**, pilih penyedia, dan pilih Hapus.**

Untuk menghapus penyedia melalui API OpenSearch Tanpa Server, kirim permintaan: [DeleteSecurityConfig](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityConfig.html)

```
aws opensearchserverless delete-security-config --id saml/123456789012/myprovider
```