

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, Microsoft Entra ID, Active Directory Federation Services (ADFS), Auth0, dan. AWS IAM Identity Center

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

## 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 URL masuk tunggal, SP-initiated dan IdP-initiated, tetapi Anda hanya memerlukan satu yang sesuai dengan alur login OpenSearch Dasbor yang Anda inginkan.

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 192.0.2. 0/24subnet:

------
#### [ 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 [Fine-grained kontrol akses di OpenSearch Layanan Amazon](fgac.md).

## Mengkonfigurasi SP- atau IdP-initiated otentikasi
<a name="saml-enable-sp-or-idp"></a>

Langkah-langkah ini menjelaskan cara mengaktifkan otentikasi SAMP dengan SP-initiated *atau* IdP-initiated otentikasi untuk Dasbor. OpenSearch Untuk langkah tambahan yang diperlukan untuk mengaktifkan keduanya, lihat [Mengkonfigurasi SP- dan IdP-initiated otentikasi](#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 Dashboards/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 URL SSO. 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 [endpoint kustom](customendpoint.md), Anda dapat menyimpulkan seperti apa URL-nya. Misalnya, jika titik akhir kustom Anda`www.{{custom-endpoint}}.com`, ID entitas penyedia layanan akan menjadi`www.{{custom-endpoint}}.com`, URL IdP-initiated SSO akan menjadi`www.{{custom-endpoint}}.com/_dashboards/_opendistro/_security/saml/acs/idpinitiated`, dan URL SP-initiated SSO 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 khusus 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 URL IDP Anda](#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 URL SSO. Untuk panduan tentang URL mana yang akan digunakan, lihat[Gambaran umum konfigurasi SAML](#saml-overview).

![ID entitas penyedia layanan, URL IdP-initiated SSO, dan kolom URL SP-initiated SSO dengan nilai.](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 isi 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”.
**catatan**  
Nilai ID Entitas IDP harus dalam format URL (misalnya,`https://idp.example.com/...`). Non-URL nilai seperti string biasa (misalnya, "JumpCloud“) akan menyebabkan kesalahan 500.
+ **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 prefiks sebelum nama pengguna mereka,dan hal ini dapat menyebabkan ketidakcocokan yang sulit didiagnosis. 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 memungkinkan Anda melihat pernyataan sampel selama proses konfigurasi, dan alat seperti [SAML-tracer](https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/)dapat membantu Anda memeriksa dan memecahkan masalah isi pernyataan nyata. 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 lain di mana alat seperti [SAML-tracer](https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/)dapat membantu.
+ **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 URL IDP Anda
<a name="saml-update-urls"></a>

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

Untuk mengambil URL, pilih domain dan pilih **Tindakan**, **Edit konfigurasi keamanan**. Di bawah **otentikasi SAMP for OpenSearch Dashboards/Kibana**, Anda dapat menemukan ID entitas penyedia layanan dan URL SSO yang benar. Salin nilai dan gunakan untuk mengonfigurasi penyedia identitas Anda, menggantikan URL sementara 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 SP-initiated URL, navigasikan ke`{{domain-endpoint}}/_dashboards`. Untuk masuk ke penyewa tertentu secara langsung, Anda dapat menambahkan `?security_tenant={{tenant-name}}` ke URL.
+ Jika Anda memilih IdP-initiated URL, navigasikan ke 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 SP- dan IdP-initiated otentikasi
<a name="saml-idp-with-sp"></a>

Jika Anda ingin mengkonfigurasi SP- dan IdP-initiated otentikasi, Anda harus melakukannya melalui penyedia identitas Anda. Misalnya, di Okta, Anda dapat melakukan langkah-langkah berikut:

1. Dalam aplikasi SAMP Anda, pergi ke **General**, 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 URL SSO lainnya**.

1. Di bawah URL **SSO yang Dapat Diminta, tambahkan satu atau beberapa URL** SSO yang diprakarsai *SP*. 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.<br />Administrator sistem Anda dapat memverifikasi konten pernyataan SAMP Anda menggunakan alat seperti [SAML-tracer](https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/), lalu 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 biasanya terjadi jika Anda telah mengkonfigurasi IdP-initiated URL 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)<br />Bergantung pada alur login yang Anda gunakan (SP-initiated atau IdP-initiated), masukkan bidang tujuan yang cocok dengan salah satu OpenSearch URL. | 
| Respons memiliki `InResponseTo` atribut, sementara tidak `InResponseTo` diharapkan. | Anda menggunakan IdP-initiated URL untuk alur SP-initiated masuk. Gunakan SP-initiated URL 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}}"
     ]
   }
   ```