Otentikasi SAMP untuk Amazon Tanpa Server OpenSearch - OpenSearch Layanan Amazon

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

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 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. Kebijakan ini memberikan izin tertentu untuk koleksi dan/atau indeks. Pengguna kemudian dapat masuk ke OpenSearch Dasbor dan melakukan tindakan yang diizinkan dalam kebijakan akses data.

Pertimbangan

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.

Izin diperlukan

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:

{ "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)

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/home.

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

  3. Pilih Tambahkan penyedia SAMP.

  4. 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.

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

  6. 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 URL Callback yang Diizinkan.

  7. Berikan batasan audiens jika IDP Anda memiliki bidang untuk itu. Pembatasan audiens adalah nilai dalam pernyataan SAMP yang menentukan untuk siapa pernyataan itu dimaksudkan. Untuk OpenSearch Tanpa Server, tentukan. aws:opensearch:<aws account id> Misalnya, aws:opensearch:123456789012.

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

  8. Jika Anda menggunakan IAM Identity Center, Anda juga perlu menentukan pemetaan atribut berikut:Subject=${user:name}, dengan format. unspecified

  9. 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>
  10. 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>
  11. (Opsional) Tentukan atribut kustom di bidang atribut Grup, seperti role ataugroup. 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>
  12. 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.

  13. Pilih Buat penyedia SAMP.

Mengakses Dasbor OpenSearch

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 AWS Management Console mengarahkan Anda ke halaman pilihan iDP, tempat Anda dapat masuk menggunakan kredensyal SAMP Anda. Pertama, gunakan dropdown untuk memilih penyedia identitas:

Kemudian masuk menggunakan kredensyal iDP Anda.

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

Memberikan akses identitas SAMP ke pengumpulan data

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. 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 ID pengguna dan/atau grup SAMP Anda 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. Untuk informasi tentang cara memformat kebijakan akses, lihat Sintaks kebijakan.

Membuat penyedia SAMP ()AWS CLI

Untuk membuat penyedia SAMP menggunakan API OpenSearch Tanpa Server, kirim permintaan: CreateSecurityConfig

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

Tentukansaml-options, termasuk metadata XML, sebagai peta nilai kunci dalam file.json. Metadata XMLharus dikodekan sebagai string lolos JSON.

{ "sessionTimeout": 70, "groupAttribute": "department", "userAttribute": "userid", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>" }

Melihat penyedia SAMP

ListSecurityConfigsPermintaan 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/123456789012/myprovider", "lastModifiedDate": 1664054180858, "samlOptions": { "groupAttribute": "department", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>", "sessionTimeout": 120, "userAttribute": "userid" } } ] }

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

Memperbarui penyedia SAMP

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 UpdateSecurityConfigpermintaan 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 untukuserAttribute, 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

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

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