Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
SAMLotentikasi untuk Amazon Tanpa Server OpenSearch
Dengan SAML autentikasi untuk Amazon OpenSearch Tanpa Server, Anda dapat menggunakan penyedia identitas yang ada untuk menawarkan single sign-on (SSO) untuk titik akhir OpenSearch Dasbor koleksi tanpa server.
SAMLautentikasi memungkinkan Anda menggunakan penyedia identitas pihak ketiga untuk masuk ke OpenSearch Dasbor untuk mengindeks dan mencari data. OpenSearch Serverless mendukung penyedia yang menggunakan standar SAML 2.0, seperti IAM Identity Center, Okta, Keycloak, Active Directory Federation Services (AD FS), dan Auth0. Anda dapat mengonfigurasi Pusat IAM Identitas untuk menyinkronkan pengguna dan grup dari sumber identitas lain seperti Okta, OneLogin, dan Microsoft Entra ID. Untuk daftar sumber identitas yang didukung oleh Pusat IAM Identitas dan langkah-langkah untuk mengonfigurasinya, lihat Memulai tutorial di Panduan Pengguna Pusat IAM Identitas.
catatan
SAMLotentikasi hanya untuk mengakses OpenSearch Dasbor melalui browser web. Pengguna yang diautentikasi hanya dapat membuat permintaan ke OpenSearch API operasi melalui Alat Pengembang di OpenSearch Dasbor. SAMLKredensi Anda tidak memungkinkan Anda membuat HTTP permintaan langsung ke operasi. OpenSearch API
Untuk menyiapkan SAML otentikasi, pertama-tama Anda mengonfigurasi penyedia SAML identitas (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.
Topik
Pertimbangan
Pertimbangkan hal berikut saat mengonfigurasi SAML otentikasi:
-
Permintaan yang ditandatangani dan dienkripsi tidak didukung.
-
Pernyataan terenkripsi tidak didukung.
-
Otentikasi dan keluar yang diprakarsai IDP tidak didukung.
-
Kebijakan Kontrol Layanan (SCP) tidak akan berlaku atau dievaluasi jika tidak ada IAM identitas (seperti di SAML Amazon OpenSearch Tanpa Server & SAML dan otorisasi pengguna internal dasar untuk Layanan Amazon). OpenSearch
Izin diperlukan
SAMLotentikasi untuk OpenSearch Serverless menggunakan berikut ini AWS Identity and Access Management (IAM) izin:
-
aoss:CreateSecurityConfig
— Buat SAML penyedia. -
aoss:ListSecurityConfig
— Daftar semua SAML penyedia di akun saat ini. -
aoss:GetSecurityConfig
— Lihat informasi SAML penyedia. -
aoss:UpdateSecurityConfig
— Ubah konfigurasi SAML penyedia tertentu, termasuk XML metadata. -
aoss:DeleteSecurityConfig
— Hapus SAML penyedia.
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 SAML penyedia (konsol)
Langkah-langkah ini menjelaskan cara membuat SAML penyedia. Ini memungkinkan SAML otentikasi dengan otentikasi yang dimulai oleh penyedia layanan (SP) untuk Dasbor. OpenSearch Otentikasi yang diprakarsai IDP tidak didukung.
Untuk mengaktifkan SAML otentikasi untuk Dasbor OpenSearch
-
Masuk ke konsol OpenSearch Layanan Amazon di https://console.aws.amazon.com/aos/rumah
. -
Di panel navigasi kiri, perluas Tanpa Server dan pilih SAML otentikasi.
-
Pilih Tambah SAML penyedia.
-
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.
-
Di bawah Konfigurasi IDP Anda, salin layanan konsumen pernyataan (). ACS URL
-
Gunakan ACS URL 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 SAML 2.0" dan menentukan ACS URL sebagai Single Sign On, Recipient URL URL, dan Destination URL. Untuk Auth0, Anda menentukannya di Allowed Callback URLs.
-
Berikan batasan audiens jika IDP Anda memiliki bidang untuk itu. Pembatasan audiens adalah nilai dalam SAML pernyataan 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 IAM Identitas itu adalah SAMLaudiens Aplikasi.
-
Jika Anda menggunakan Pusat IAM Identitas, Anda juga perlu menentukan pemetaan atribut berikut:
Subject=${user:name}
, dengan format.unspecified
-
Setelah Anda konfigurasi, penyedia identitas akan menghasilkan file metadata IdP. XMLFile ini berisi informasi tentang penyedia, seperti TLS sertifikat, 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 XML file 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> -
Biarkan bidang atribut Custom user ID kosong untuk menggunakan
NameID
elemen SAML pernyataan 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 SAML pernyataan:<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> -
(Opsional) Tentukan atribut khusus 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 SAML pernyataan:
<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> -
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.
-
Pilih Buat SAML penyedia.
Mengakses Dasbor OpenSearch
Setelah mengonfigurasi SAML penyedia, semua pengguna dan grup yang terkait dengan penyedia tersebut dapat menavigasi ke titik akhir OpenSearch Dasbor. Dasbor URL memiliki format
untuk semua koleksi. collection-endpoint
/_dashboards/
Jika Anda telah SAML mengaktifkan, pilih tautan di AWS Management Console mengarahkan Anda ke halaman pilihan iDP, di mana Anda dapat masuk menggunakan SAML kredensi Anda. Pertama, gunakan dropdown untuk memilih penyedia identitas:
Kemudian masuk menggunakan kredensi IDP Anda.
Jika Anda belum SAML mengaktifkan, pilih tautan di AWS Management Console mengarahkan Anda untuk masuk sebagai IAM pengguna atau peran, tanpa opsi untukSAML.
Memberikan akses SAML identitas ke pengumpulan data
Setelah membuat SAML penyedia, 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 SAML pengguna dan/atau grup 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. Untuk informasi tentang cara memformat kebijakan akses, lihat Sintaks kebijakan.
Membuat SAML penyedia (AWS CLI)
Untuk membuat SAML penyedia menggunakan OpenSearch Tanpa ServerAPI, kirim permintaan: CreateSecurityConfig
aws opensearchserverless create-security-config \ --name
myprovider
\ --type saml \ --saml-options file://saml-auth0
.json
Tentukansaml-options
, termasuk metadataXML, sebagai peta nilai kunci dalam file.json. Metadata XML harus dikodekan sebagai string yang lolos. JSON
{ "sessionTimeout":
70
, "groupAttribute": "department
", "userAttribute": "userid
", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>
" }
Melihat SAML penyedia
ListSecurityConfigsPermintaan berikut mencantumkan semua SAML penyedia di akun Anda:
aws opensearchserverless list-security-configs --type saml
Permintaan menampilkan informasi tentang semua SAML penyedia 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 SAML penyedia
Untuk memperbarui SAML penyedia menggunakan konsol OpenSearch Tanpa Server, pilih SAMLautentikasi, pilih penyedia identitas Anda, dan pilih Edit. Anda dapat memodifikasi semua bidang, termasuk metadata dan atribut kustom.
Untuk memperbarui penyedia melalui OpenSearch Tanpa ServerAPI, 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 SAML opsi untuk penyedia:
aws opensearchserverless update-security-config \ --id saml/
123456789012
/myprovider
\ --type saml \ --saml-options file://saml-auth0
.json \ --config-versionMTY2NDA1MjY4NDQ5M18x
Tentukan opsi SAML konfigurasi Anda sebagai peta nilai kunci dalam file.json.
penting
Pembaruan untuk SAML opsi 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 SAML
Saat Anda menghapus SAML penyedia, 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 menghapus titik akhir.
Untuk menghapus SAML penyedia menggunakan konsol OpenSearch Tanpa Server, pilih Otentikasi, pilih penyedia, dan pilih Hapus.
Untuk menghapus penyedia melalui OpenSearch Tanpa ServerAPI, kirim permintaan: DeleteSecurityConfig
aws opensearchserverless delete-security-config --id saml/
123456789012
/myprovider