

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

# Otentikasi SAMP untuk Dasbor OpenSearch
<a name="saml"></a>

Autentikasi SAMP untuk OpenSearch Dasbor memungkinkan Anda menggunakan penyedia identitas yang ada untuk menawarkan sistem masuk tunggal (SSO) untuk Dasbor di domain OpenSearch Layanan Amazon yang berjalan atau Elasticsearch 6.7 atau yang lebih baru. OpenSearch Untuk menggunakan autentikasi SAML, Anda harus mengaktifkan [Kontrol akses detail](fgac.md).

Alih-alih mengautentikasi melalui [Amazon](cognito-auth.md) Cognito atau database [pengguna internal](fgac.md#fgac-dashboards), autentikasi SAMP OpenSearch untuk Dasbor memungkinkan Anda menggunakan penyedia identitas pihak ketiga untuk masuk ke Dasbor, mengelola kontrol akses berbutir halus, mencari data, dan membangun visualisasi. OpenSearch Layanan mendukung penyedia yang menggunakan standar SAMP 2.0, seperti Okta, Keycloak, Active Directory Federation Services (ADFS), Auth0, dan. AWS IAM Identity Center

Otentikasi SAMP untuk Dasbor hanya untuk mengakses OpenSearch Dasbor melalui browser web. Kredensi SAMP Anda *tidak* memungkinkan Anda membuat permintaan HTTP langsung ke atau Dasbor. OpenSearch APIs 

## Gambaran umum konfigurasi SAML
<a name="saml-overview"></a>

Dokumentasi ini mengasumsikan bahwa Anda memiliki penyedia identitas yang ada dan beberapa keakraban dengannya. Kami tidak dapat memberikan langkah-langkah konfigurasi terperinci untuk penyedia Anda yang tepat, hanya untuk domain OpenSearch Layanan Anda.

Alur login OpenSearch Dasbor dapat mengambil salah satu dari dua bentuk:
+ **Penyedia layanan (SP) dimulai**: Anda menavigasi ke Dasbor (misalnya,`https://my-domain.us-east-1.es.amazonaws.com/_dashboards`), yang mengarahkan Anda ke layar login. Setelah Anda masuk, penyedia identitas mengarahkan Anda ke Dasbor.
+ **Penyedia identitas (iDP) dimulai**: Anda menavigasi ke penyedia identitas, masuk, dan memilih OpenSearch Dasbor dari direktori aplikasi. 

OpenSearch Layanan menyediakan dua single sign-on URLs, SP-initiated dan IDP-initiated, tetapi Anda hanya memerlukan satu yang cocok dengan alur login Dashboard yang Anda inginkan. OpenSearch 

Apa pun jenis autentikasi yang Anda gunakan, tujuannya adalah untuk login melalui penyedia identitas dan menerima pernyataan SAML yang berisi nama pengguna Anda (wajib) dan [peran backend](fgac.md#fgac-concepts) (opsional, tetapi direkomendasikan). Informasi ini memungkinkan [kontrol akses detail](fgac.md) untuk menetapkan izin bagi pengguna SAML. Dalam penyedia identitas eksternal, peran backend biasanya disebut “peran” atau “grup”.

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

Pertimbangkan hal berikut ketika Anda mengkonfigurasi otentikasi SAMP:
+ Karena ukuran file metadata iDP, kami sangat menyarankan menggunakan AWS konsol untuk mengonfigurasi otentikasi SAMP.
+ Domain hanya mendukung satu metode otentikasi Dasbor pada satu waktu. Jika Anda mengaktifkan [otentikasi Amazon Cognito untuk OpenSearch Dasbor](cognito-auth.md), Anda harus menonaktifkannya sebelum dapat mengaktifkan otentikasi SAMP.
+ Jika Anda menggunakan penyeimbang beban jaringan dengan SAMP, Anda harus terlebih dahulu membuat endpoint kustom. Untuk informasi selengkapnya, lihat [Membuat endpoint khusus untuk Amazon Service OpenSearch](customendpoint.md).
+ 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 

## Otentikasi SAMP untuk domain VPC
<a name="saml-vpc"></a>

SAMP tidak memerlukan komunikasi langsung antara penyedia identitas Anda dan penyedia layanan Anda. Oleh karena itu, bahkan jika OpenSearch domain Anda di-host dalam VPC pribadi, Anda masih dapat menggunakan SAMP selama browser Anda dapat berkomunikasi dengan OpenSearch cluster dan penyedia identitas Anda. Browser Anda pada dasarnya bertindak sebagai perantara antara penyedia identitas Anda dan penyedia layanan Anda. Untuk diagram berguna yang menjelaskan alur otentikasi SAMP, lihat dokumentasi [Okta](https://developer.okta.com/docs/concepts/saml/#planning-for-saml).

## Memodifikasi kebijakan akses domain
<a name="saml-domain-access"></a>

Sebelum Anda mengkonfigurasi otentikasi SAMP, Anda harus memperbarui kebijakan akses domain untuk memungkinkan pengguna SAMP mengakses domain. Jika tidak, Anda akan melihat kesalahan akses ditolak.

Kami merekomendasikan [kebijakan akses domain](ac.md#ac-types-resource) berikut, yang menyediakan akses penuh ke subresource (`/*`) pada domain:

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

****  

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

------

Untuk membuat kebijakan lebih ketat, Anda dapat menambahkan kondisi alamat IP ke kebijakan. Kondisi ini membatasi akses hanya ke rentang alamat IP atau subnet yang ditentukan. Misalnya, kebijakan berikut hanya mengizinkan akses dari subnet 192.0.2.0/24:

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

****  

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

------

**catatan**  
Kebijakan akses domain terbuka memerlukan kontrol akses berbutir halus untuk diaktifkan di domain Anda, jika tidak, Anda akan melihat kesalahan berikut:  
`To protect domains with public access, a restrictive policy or fine-grained access control is required.`  
Jika Anda memiliki pengguna utama atau pengguna internal yang dikonfigurasi dengan kata sandi yang kuat, menjaga kebijakan tetap terbuka saat menggunakan kontrol akses berbutir halus mungkin dapat diterima dari sudut pandang keamanan. Untuk informasi selengkapnya, lihat [Kontrol akses berbutir halus di Layanan Amazon OpenSearch](fgac.md).

## Mengkonfigurasi otentikasi yang diprakarsai SP- atau IDP
<a name="saml-enable-sp-or-idp"></a>

Langkah-langkah ini menjelaskan cara mengaktifkan otentikasi SAMP dengan otentikasi yang diprakarsai SP *atau* IDP untuk Dasbor. OpenSearch Untuk langkah tambahan yang diperlukan untuk mengaktifkan keduanya, lihat [Mengonfigurasi otentikasi yang diprakarsai SP dan IDP](#saml-idp-with-sp).

### Langkah 1: Aktifkan otentikasi SAMP
<a name="saml-enable"></a>

Anda dapat mengaktifkan otentikasi SAMP baik selama pembuatan domain, atau dengan memilih **Tindakan**, **Edit konfigurasi keamanan** pada domain yang ada. Langkah-langkah berikut sedikit berbeda tergantung pada mana yang Anda pilih.

**Dalam konfigurasi domain, di bawah otentikasi **SAMP untuk OpenSearch Dasbor/Kibana, pilih Aktifkan otentikasi** SAMP.**

### Langkah 2: Konfigurasikan penyedia identitas Anda
<a name="saml-configure-idp"></a>

Lakukan langkah-langkah berikut tergantung pada saat Anda mengonfigurasi otentikasi SAMP.

#### Jika Anda membuat domain baru
<a name="saml-configure-new"></a>

Jika Anda sedang dalam proses membuat domain baru, OpenSearch Layanan belum dapat menghasilkan ID entitas penyedia layanan atau SSO URLs. Penyedia identitas Anda memerlukan nilai-nilai ini untuk mengaktifkan otentikasi SAMP dengan benar, tetapi mereka hanya dapat dihasilkan setelah domain dibuat. Untuk mengatasi saling ketergantungan ini selama pembuatan domain, Anda dapat memberikan nilai sementara ke dalam konfigurasi iDP Anda untuk menghasilkan metadata yang diperlukan dan kemudian memperbaruinya setelah domain Anda aktif.

Jika Anda menggunakan [titik akhir khusus](customendpoint.md), Anda dapat menyimpulkan apa yang URLs akan terjadi. Misalnya, jika titik akhir kustom Anda, ID entitas penyedia layanan akan menjadi`www.custom-endpoint.com`, URL SSO yang diprakarsai IDP akan menjadi `www.custom-endpoint.com``www.custom-endpoint.com/_dashboards/_opendistro/_security/saml/acs/idpinitiated`, dan URL SSO yang diprakarsai SP akan menjadi. `www.custom-endpoint.com/_dashboards/_opendistro/_security/saml/acs` Anda dapat menggunakan nilai untuk mengonfigurasi penyedia identitas Anda sebelum domain dibuat. Lihat bagian selanjutnya untuk contoh.

**catatan**  
Anda tidak dapat masuk dengan titik akhir tumpukan ganda karena FQDN permintaan HTTP berbeda dari FQDN permintaan SAMP. OpenSearchAdministrator perlu menyiapkan titik akhir kustom dan mengatur nilai CNAME ke titik akhir tumpukan ganda jika Anda ingin masuk menggunakan titik akhir tumpukan ganda.

Jika Anda tidak menggunakan titik akhir kustom, Anda dapat memasukkan nilai *sementara* ke dalam iDP untuk menghasilkan metadata yang diperlukan, lalu memperbaruinya nanti setelah domain aktif.

Misalnya, dalam Okta, Anda dapat masuk `https://temp-endpoint.amazonaws.com` ke kolom **Single sign on URL** dan **Audience URI (SP Entity ID)**, yang memungkinkan Anda menghasilkan metadata. Kemudian, setelah domain aktif, Anda dapat mengambil nilai yang benar dari OpenSearch Layanan dan memperbaruinya di Okta. Untuk petunjuk, lihat [Langkah 6: Perbarui IDP Anda URLs](#saml-update-urls).

#### Jika Anda mengedit domain yang ada
<a name="saml-configure-existing"></a>

Jika Anda mengaktifkan otentikasi SAMP pada domain yang ada, salin ID entitas penyedia layanan dan salah satu SSO. URLs Untuk panduan tentang URL mana yang akan digunakan, lihat[Gambaran umum konfigurasi SAML](#saml-overview).

![\[Service provider entity ID and SSO URLs for SAML authentication configuration.\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/SAML.png)


Gunakan nilai untuk mengonfigurasi penyedia identitas Anda. Bagian ini merupakan proses yang paling rumit, dan sayangnya, terminologi dan langkah-langkah sangat bervariasi berdasarkan penyedia. Baca dokumentasi dari penyedia Anda.

Di Okta, misalnya, Anda membuat aplikasi web SAMP 2.0. Untuk URL **tanda tunggal pada URL**, tentukan URL SSO. Untuk **URI audiens (ID Entitas SP**, tentukan ID entitas SP.

Okta memiliki pengguna dan grup, bukan pengguna dan peran backend. Untuk **Pernyataan Atribut Grup**, kami sarankan Anda menambahkan `role` ke bidang **Nama** dan ekspresi reguler `.+` ke bidang **Filter**. Pernyataan ini memberi tahu penyedia identitas Okta untuk memasukkan semua grup pengguna pada bidang `role` dari penegasan SAML setelah pengguna mengautentikasi.

Di Pusat Identitas IAM, Anda menentukan ID entitas SP sebagai audiens **SAMP Aplikasi**. Anda juga perlu menentukan [pemetaan atribut berikut: `Subject=${user:subject}:format=unspecified` dan.](https://docs.aws.amazon.com/singlesignon/latest/userguide/attributemappingsconcept.html) `Role=${user:groups}:format=uri`

Di Auth0, Anda membuat aplikasi web biasa dan mengaktifkan add-on SAMP 2.0. Di Keycloak, Anda membuat klien. 

### Langkah 3: Impor metadata IDP
<a name="saml-import-metadata"></a>

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 konten file metadata iDP dan tempelkan ke bidang Metadata **dari iDP** di konsol Layanan. OpenSearch 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>
    </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>
```

### Langkah 4: Konfigurasikan bidang SAMP
<a name="saml-configure-fields"></a>

Setelah memasukkan metadata iDP, konfigurasikan bidang tambahan berikut di dalam konsol Layanan: OpenSearch 
+ **ID entitas IDP** — Salin nilai `entityID` properti dari file metadata Anda dan tempelkan ke bidang ini. Banyak penyedia identitas juga menampilkan nilai ini sebagai bagian dari ringkasan pasca-konfigurasi. Beberapa penyedia menyebutnya “penerbit”.
+ **Nama pengguna master SAMP** dan **peran backend master SAMP — Peran** and/or backend pengguna yang Anda tentukan menerima izin penuh ke cluster, setara dengan [pengguna master baru](fgac.md#fgac-more-masters), tetapi hanya dapat menggunakan izin tersebut di dalam Dasbor. OpenSearch 

  Di Okta, misalnya, Anda mungkin memiliki pengguna `jdoe` yang termasuk dalam grup `admins`. Jika Anda menambahkan `jdoe` ke bidang **Nama pengguna utama SAML**, hanya pengguna yang akan menerima izin penuh. Jika Anda menambahkan `admins` ke bidang peran backend master SAMP, setiap pengguna yang termasuk dalam `admins` grup akan menerima izin penuh.
**catatan**  
Isi pernyataan SAMP harus sama persis dengan string yang Anda gunakan untuk nama pengguna master SAMP dan peran master SAMP. Beberapa penyedia identitas menambahkan awalan sebelum nama pengguna mereka, yang dapat menyebabkan ketidakcocokan hard-to-diagnose. Di antarmuka pengguna penyedia identitas, Anda mungkin melihat `jdoe`, tetapi penegasan SAML mungkin berisi `auth0|jdoe`. Selalu gunakan string dari penegasan SAML.

Banyak penyedia identitas mengizinkan Anda melihat contoh penegasan selama proses konfigurasi, dan alat-alat seperti [SAML-tracer](https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/) dapat membantu Anda memeriksa dan memecahkan masalah konten penegasan yang sesungguhnya. Penegasan terlihat seperti ini:

```
<?xml version="1.0" encoding="UTF-8"?>
<saml2:Assertion ID="id67229299299259351343340162" IssueInstant="2020-09-22T22:03:08.633Z" Version="2.0"
  xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
  <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">idp-issuer</saml2:Issuer>
  <saml2:Subject>
    <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">username</saml2:NameID>
    <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
      <saml2:SubjectConfirmationData NotOnOrAfter="2020-09-22T22:08:08.816Z" Recipient="domain-endpoint/_dashboards/_opendistro/_security/saml/acs"/>
    </saml2:SubjectConfirmation>
  </saml2:Subject>
  <saml2:Conditions NotBefore="2020-09-22T21:58:08.816Z" NotOnOrAfter="2020-09-22T22:08:08.816Z">
    <saml2:AudienceRestriction>
      <saml2:Audience>domain-endpoint</saml2:Audience>
    </saml2:AudienceRestriction>
  </saml2:Conditions>
  <saml2:AuthnStatement AuthnInstant="2020-09-22T19:54:37.274Z">
    <saml2:AuthnContext>
      <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef>
    </saml2:AuthnContext>
  </saml2:AuthnStatement>
  <saml2:AttributeStatement>
    <saml2:Attribute Name="role" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
      <saml2:AttributeValue
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">GroupName Match Matches regex ".+" (case-sensitive)
      </saml2:AttributeValue>
    </saml2:Attribute>
  </saml2:AttributeStatement>
</saml2:Assertion>
```

### Langkah 5: (Opsional) Konfigurasikan pengaturan tambahan
<a name="saml-additional-settings"></a>

Di bawah **Pengaturan tambahan**, konfigurasikan bidang opsional berikut:
+ **Kunci subjek** - Anda dapat membiarkan bidang ini 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.
+ **Kunci peran** - Jika Anda ingin menggunakan peran backend (disarankan), tentukan atribut dari pernyataan di bidang ini, seperti atau. `role` `group` Ini adalah situasi berbeda yang memungkinkan alat seperti[SAML-tracer](https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/) untuk membantu Anda
+ **Waktu sesi untuk hidup** - Secara default, OpenSearch Dasbor mengeluarkan pengguna setelah 24 jam. Anda dapat mengonfigurasi nilai ini ke angka apa pun antara 60 dan 1.440 (24 jam) dengan menentukan nilai baru.

Setelah Anda puas dengan konfigurasi Anda, simpan domain.

### Langkah 6: Perbarui IDP Anda URLs
<a name="saml-update-urls"></a>

Jika Anda [mengaktifkan otentikasi SAMP saat membuat domain](#saml-configure-new), Anda harus menentukan sementara URLs dalam iDP Anda untuk menghasilkan file metadata XML. Setelah status domain berubah`Active`, Anda bisa mendapatkan yang benar URLs dan memodifikasi IDP Anda.

Untuk mengambil URLs, pilih domain dan pilih **Tindakan**, **Edit konfigurasi keamanan**. Di bawah **otentikasi SAMP untuk OpenSearch Dasbor/Kibana**, Anda dapat menemukan ID entitas penyedia layanan dan SSO yang benar. URLs Salin nilai dan gunakan untuk mengonfigurasi penyedia identitas Anda, menggantikan sementara URLs yang Anda berikan di langkah 2.

### Langkah 7: Memetakan pengguna SAMP ke peran
<a name="saml-map-users"></a>

Setelah status domain Anda Aktif dan idP Anda dikonfigurasi dengan benar, navigasikan ke OpenSearch Dasbor.
+ Jika Anda memilih URL yang diinisiasi SP, buka `domain-endpoint/_dashboards`. Untuk masuk ke penyewa tertentu secara langsung, Anda dapat menambahkan `?security_tenant=tenant-name` ke URL.
+ Jika Anda memilih URL yang diinisiasi IDP, buka direktori aplikasi penyedia identitas Anda.

Dalam kedua kasus, login sebagai pengguna utama SAML atau pengguna yang termasuk dalam peran backend utama SAML. Untuk melanjutkan contoh dari langkah 7, login sebagai `jdoe` atau anggota grup `admins`.

Setelah OpenSearch Dasbor dimuat, pilih **Keamanan**, **Peran**. Kemudian, [petakan peran](fgac.md#fgac-mapping) untuk memungkinkan pengguna lain mengakses OpenSearch Dasbor.

Misalnya, Anda dapat memetakan rekan Anda yang tepercaya `jroe` ke peran `all_access` dan `security_manager`. Anda juga dapat memetakan peran backend `analysts` ke peran `readall` dan `opensearch_dashboards_user`.

Jika Anda lebih suka menggunakan API daripada OpenSearch Dasbor, lihat contoh permintaan berikut:

```
PATCH _plugins/_security/api/rolesmapping
[
  {
    "op": "add", "path": "/security_manager", "value": { "users": ["master-user", "jdoe", "jroe"], "backend_roles": ["admins"] }
  },
  {
    "op": "add", "path": "/all_access", "value": { "users": ["master-user", "jdoe", "jroe"], "backend_roles": ["admins"] }
  },
  {
    "op": "add", "path": "/readall", "value": { "backend_roles": ["analysts"] }
  },
  {
    "op": "add", "path": "/opensearch_dashboards_user", "value": { "backend_roles": ["analysts"] }
  }
]
```

## Mengkonfigurasi otentikasi yang diprakarsai SP dan IDP
<a name="saml-idp-with-sp"></a>

Jika ingin mengonfigurasi autentikasi SP yang diinisiasi dan IDP yang diinisiasi Anda harus melakukannya melalui penyedia identitas. Misalnya, di Okta, Anda dapat melakukan langkah-langkah berikut:

1. Dalam aplikasi SAMP Anda, buka **Umum, pengaturan** **SAMP**.

1. Untuk URL **tanda Tunggal di URL, berikan URL** SSO yang diprakarsai *IDP* Anda. Misalnya, `https://search-domain-hash/_dashboards/_opendistro/_security/saml/acs/idpinitiated`.

1. Aktifkan **Izinkan aplikasi ini untuk meminta SSO URLs lainnya**.

1. Di bawah **Requestable SSO URLs**, tambahkan satu atau lebih *SP* -initiated SSO. URLs Misalnya, `https://search-domain-hash/_dashboards/_opendistro/_security/saml/acs`.

## Mengkonfigurasi otentikasi SAMP ()AWS CLI
<a name="saml-enable-cli"></a>

 AWS CLI Perintah berikut memungkinkan otentikasi SAMP untuk OpenSearch Dasbor pada domain yang ada:

```
aws opensearch update-domain-config \
  --domain-name my-domain \
  --advanced-security-options '{"SAMLOptions":{"Enabled":true,"MasterUserName":"my-idp-user","MasterBackendRole":"my-idp-group-or-role","Idp":{"EntityId":"entity-id","MetadataContent":"metadata-content-with-quotes-escaped"},"RolesKey":"optional-roles-key","SessionTimeoutMinutes":180,"SubjectKey":"optional-subject-key"}}'
```

Anda harus mengeluarkan semua tanda kutip dan karakter baris baru dalam XML metadata. Misalnya, gunakan `<KeyDescriptor use=\"signing\">\n` sebagai ganti `<KeyDescriptor use="signing">` dan pemisah baris. Untuk informasi detail cara menggunakan AWS CLI, lihat [Referensi Perintah AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/).

## Mengkonfigurasi otentikasi SAMP (API konfigurasi)
<a name="saml-enable-api"></a>

Permintaan berikut ke API konfigurasi memungkinkan otentikasi SAMP untuk OpenSearch Dasbor pada domain yang ada:

```
POST https://es.us-east-1.amazonaws.com/2021-01-01/opensearch/domain/my-domain/config
{
  "AdvancedSecurityOptions": {
    "SAMLOptions": {
      "Enabled": true,
      "MasterUserName": "my-idp-user",
      "MasterBackendRole": "my-idp-group-or-role",
      "Idp": {
        "EntityId": "entity-id",
        "MetadataContent": "metadata-content-with-quotes-escaped"
      },
      "RolesKey": "optional-roles-key",
      "SessionTimeoutMinutes": 180,
      "SubjectKey": "optional-subject-key"
    }
  }
}
```

Anda harus mengeluarkan semua tanda kutip dan karakter baris baru dalam XML metadata. Misalnya, gunakan `<KeyDescriptor use=\"signing\">\n` sebagai ganti `<KeyDescriptor use="signing">` dan pemisah baris. Untuk informasi mendetail tentang penggunaan API konfigurasi, lihat [referensi API OpenSearch Layanan](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_Welcome.html).

## Memecahkan masalah SAML
<a name="saml-troubleshoot"></a>


| Kesalahan | Detail | 
| --- | --- | 
| Permintaan Anda: */some/path* '' tidak diizinkan. | Verifikasi bahwa Anda telah memberikan [URL SSO](#saml-enable) yang benar (langkah 3) ke penyedia identitas. | 
|  Harap berikan dokumen metadata penyedia identitas yang valid untuk mengaktifkan SAMP.  |  File metadata IdP Anda tidak sesuai dengan standar SAML 2.0. Periksa kesalahan menggunakan alat validasi.  | 
|  Opsi konfigurasi SAML tidak terlihat di konsol.  |  Perbarui ke [perangkat lunak layanan](service-software.md) terbaru.  | 
|  Kesalahan konfigurasi SAMP: Ada yang tidak beres saat mengambil konfigurasi SAMP, silakan periksa pengaturan Anda.  |  Kesalahan umum ini dapat terjadi karena berbagai alasan. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/saml.html)  | 
|  Peran tidak ada: Tidak ada peran yang tersedia untuk pengguna ini, silakan hubungi administrator sistem Anda.  |  Anda berhasil diautentikasi, tetapi nama pengguna dan setiap peran backend dari penegasan SAML tidak dipetakan ke peran apa pun sehingga tidak memiliki izin. Pemetaan ini peka huruf besar dan kecil. Administrator sistem Anda dapat memverifikasi konten pernyataan SAMP Anda menggunakan alat seperti [SAML-tracer](https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/), dan kemudian memeriksa pemetaan peran Anda menggunakan permintaan berikut: <pre>GET _plugins/_security/api/rolesmapping</pre>  | 
|  Browser Anda terus mengalihkan atau menerima kesalahan HTTP 500 saat mencoba mengakses OpenSearch Dasbor.  |  Kesalahan ini dapat terjadi jika penegasan SAML berisi peran yang berjumlah sekitar 1.500 karakter. Misalnya, jika Anda meneruskan 80 peran dengan panjang rata-rata adalah 20 karakter, Anda mungkin melebihi batas ukuran cookie di peramban web Anda. Dimulai dengan OpenSearch versi 2.7, pernyataan SAMP mendukung peran hingga 5000 karakter.  | 
|  Anda tidak dapat keluar dari ADFS.  |  ADFS mengharuskan semua permintaan logout ditandatangani, yang tidak didukung oleh OpenSearch Layanan. Hapus `<SingleLogoutService />` dari file metadata iDP untuk memaksa OpenSearch Service menggunakan mekanisme logout internalnya sendiri.  | 
|  `Could not find entity descriptor for __PATH__.`  |  ID entitas dari IDP yang disediakan dalam metadata OpenSearch XML-Service berbeda dari yang ada di respon SAMP. Untuk memperbaikinya, pastikan mereka cocok. Aktifkan **log Kesalahan Aplikasi CW** di domain Anda untuk menemukan pesan kesalahan untuk men-debug masalah integrasi SAMP.  | 
|  `Signature validation failed. SAML response rejected.`  |  OpenSearch Layanan tidak dapat memverifikasi tanda tangan dalam respons SAMP menggunakan sertifikat IDP yang disediakan dalam metadata XHTML. Ini bisa berupa kesalahan manual, atau IDP Anda telah memutar sertifikatnya. Perbarui sertifikat terbaru dari IDP Anda dalam metadata XHTML yang disediakan untuk Layanan melalui. OpenSearch Konsol Manajemen AWS  | 
|  `__PATH__ is not a valid audience for this response.`  |  Bidang audiens dalam respons SAMP tidak cocok dengan titik akhir domain. Untuk memperbaiki kesalahan ini, perbarui bidang audiens SP agar sesuai dengan titik akhir domain Anda. Jika Anda telah mengaktifkan titik akhir kustom, bidang audiens harus sesuai dengan titik akhir kustom Anda. Aktifkan **log Kesalahan Aplikasi CW** di domain Anda untuk menemukan pesan kesalahan untuk men-debug masalah integrasi SAMP.  | 
|  Browser Anda menerima kesalahan HTTP 400 dengan `Invalid Request Id` dalam respons.  |  Kesalahan ini umumnya terjadi jika Anda telah mengonfigurasi URL yang diprakarsai IDP dengan format. `<DashboardsURL>/_opendistro/_security/saml/acs` Sebagai gantinya, konfigurasikan URL dengan format`<DashboardsURL>/_opendistro/_security/saml/acs/idpinitiated`.  | 
|  Tanggapan diterima di `__PATH__` bukannya`__PATH__`.  |  Bidang tujuan dalam respons SAMP tidak cocok dengan salah satu format URL berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/saml.html) Bergantung pada alur login yang Anda gunakan (dimulai SP atau dimulai IDP), masukkan di bidang tujuan yang cocok dengan salah satu kolom. OpenSearch URLs  | 
|  Respons memiliki `InResponseTo` atribut, sementara tidak `InResponseTo` diharapkan.  |  Anda menggunakan URL yang diprakarsai IDP untuk alur login yang dimulai SP. Gunakan URL yang diprakarsai SP sebagai gantinya.  | 

## Mengaktifkan autentikasi SAML
<a name="saml-disable"></a>

**Untuk menonaktifkan otentikasi SAMP untuk OpenSearch Dasbor (konsol)**

1. Pilih domain, **Tindakan**, dan **Edit konfigurasi keamanan**.

1. Hapus tanda centang pada opsi **Aktifkan autentikasi SAML**.

1. Pilih **Simpan perubahan**.

1. Setelah domain selesai diproses, verifikasi pemetaan peran kontrol akses berbutir halus dengan permintaan berikut:

   ```
   GET _plugins/_security/api/rolesmapping
   ```

   Menonaktifkan otentikasi SAMP untuk Dasbor *tidak* menghapus pemetaan untuk nama pengguna master SAMP peran backend master SAMP. and/or Jika Anda ingin menghapus pemetaan ini, masuk ke Dasbor menggunakan database pengguna internal (jika diaktifkan), atau gunakan API untuk menghapusnya:

   ```
   PUT _plugins/_security/api/rolesmapping/all_access
   {
     "users": [
       "master-user"
     ]
   }
   ```