Mengaktifkan federasi SAFL dengan AWS Identity and Access Management - OpenSearch Layanan Amazon

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

Mengaktifkan federasi SAFL dengan AWS Identity and Access Management

OpenSearch UI mendukung Security Assertion Markup Language 2.0 (SALL), standar terbuka yang digunakan oleh banyak penyedia identitas. Ini memungkinkan federasi identitas dengan AWS Identity and Access Management (IAM). Dengan dukungan ini, pengguna di akun atau organisasi Anda dapat langsung mengakses OpenSearch UI dengan mengasumsikan peran IAM. Anda dapat membuat pengalaman masuk tunggal yang dimulai penyedia identitas (IDP) untuk pengguna akhir Anda, di mana mereka dapat mengautentikasi di penyedia identitas eksternal dan diarahkan langsung ke halaman yang Anda tentukan di UI. OpenSearch Anda juga dapat menerapkan kontrol akses berbutir halus dengan mengonfigurasi pengguna akhir atau grup Anda untuk mengambil peran IAM yang berbeda dengan izin berbeda untuk mengakses UI dan sumber data terkait. OpenSearch

Topik ini menyajikan step-by-step petunjuk untuk mengonfigurasi penggunaan SAFL dengan OpenSearch UI. Dalam prosedur ini, kami menggunakan langkah-langkah untuk mengonfigurasi identitas Okta dan aplikasi manajemen akses sebagai contoh. Langkah-langkah konfigurasi untuk penyedia identitas lain, seperti Azure Active Directory dan Ping, serupa.

Langkah 1: Siapkan aplikasi penyedia identitas (Okta)

Untuk menggunakan SAMP dengan OpenSearch UI, langkah pertama adalah mengatur penyedia identitas Anda.

Tugas 1: Buat pengguna Okta
  1. Masuk ke organisasi Okta Anda di https://login.okta.com/sebagai pengguna dengan hak administratif.

  2. Di konsol admin, di bawah Direktori di panel navigasi, pilih Orang.

  3. Pilih Tambah orang.

  4. Untuk Nama Depan, masukkan nama depan pengguna.

  5. Untuk Nama Belakang, masukkan nama belakang pengguna.

  6. Untuk Nama Pengguna, masukkan nama pengguna pengguna dalam format email.

  7. Pilih Saya akan mengatur kata sandi dan memasukkan kata sandi

  8. (Opsional) Hapus Pengguna harus mengubah kata sandi pada kotak login pertama jika Anda tidak ingin pengguna mengubah kata sandi saat masuk pertama.

  9. Pilih Simpan.

Tugas 2: Membuat dan menetapkan grup
  1. Masuk ke organisasi Okta Anda di https://login.okta.com/sebagai pengguna dengan hak administratif.

  2. Di konsol admin, di bawah Direktori di panel navigasi, pilih Grup.

  3. Pilih Tambah grup.

  4. Masukkan nama grup dan pilih Simpan.

  5. Pilih grup yang baru dibuat, lalu pilih Tetapkan orang.

  6. Pilih tanda plus (+), lalu pilih Selesai.

  7. (Opsional) Ulangi Langkah 1—6 untuk menambahkan lebih banyak grup.

Tugas 3: Buat aplikasi Okta
  1. Masuk ke organisasi Okta Anda di https://login.okta.com/sebagai pengguna dengan hak administratif.

  2. Di konsol admin, di bawah Aplikasi di panel navigasi, pilih Aplikasi.

  3. Pilih Buat Integrasi Aplikasi.

  4. Pilih SAMP 2.0 sebagai metode masuk, lalu pilih Berikutnya.

  5. Masukkan nama untuk integrasi aplikasi Anda (misalnya,OpenSearch_UI), lalu pilih Berikutnya.

  6. Masukkan nilai berikut di aplikasi; Anda tidak perlu mengubah nilai lain:

    1. 1. Untuk URL Masuk Tunggal, masukkan https://signin.aws.amazon.com/saml untuk AWS Wilayah komersial, atau URL khusus untuk Wilayah Anda.

    2. 2. Untuk URI Audiens (SP Entity ID), masukkanurn:amazon:webservices.

    3. 3. Untuk format ID Nama, masukkanEmailAddress.

  7. Pilih Berikutnya.

  8. Pilih Saya pelanggan Okta menambahkan aplikasi internal, lalu pilih Ini adalah aplikasi internal yang telah kami buat.

  9. Pilih Selesai.

  10. Pilih Penugasan, lalu pilih Tetapkan.

  11. Pilih Tetapkan ke grup, lalu pilih Tetapkan di samping grup yang ingin Anda tambahkan.

  12. Pilih Selesai.

Tugas 4: Mengatur konfigurasi lanjutan Okta

Setelah Anda membuat aplikasi SAMP kustom, selesaikan langkah-langkah berikut:

  1. Masuk ke organisasi Okta Anda di https://login.okta.com/sebagai pengguna dengan hak administratif.

    Di konsol administrator, di area Umum, pilih Edit di bawah pengaturan SAMP.

  2. Pilih Berikutnya.

  3. Setel Status Relai Default ke titik akhir OpenSearch UI, menggunakan format:

    https://region.console.aws.amazon.com/aos/home?region=region#opensearch/applications/application-id/redirectToDashboardURL.

    Berikut ini adalah contohnya:

    https://us-east-2.console.aws.amazon.com/aos/home?region=us-east-2#opensearch/applications/abc123def4567EXAMPLE/redirectToDashboardURL

  4. Di bawah Pernyataan Atribut (opsional), tambahkan properti berikut:

    1. Berikan peran IAM dan penyedia identitas dalam format yang dipisahkan koma menggunakan atribut Peran. Anda akan menggunakan peran IAM dan penyedia identitas yang sama ini di langkah selanjutnya saat menyiapkan AWS konfigurasi.

    2. Setel user.login untuk. RoleSessionName Ini digunakan sebagai pengenal untuk kredensi sementara yang dikeluarkan saat peran diasumsikan.

    Untuk referensi:

    Nama Format nama format Contoh

    https://aws.amazon.com/SAML/Attributes/Role

    Tidak ditentukan

    arn:aws:iam::aws-account-id:role/role-name,arn:aws:iam::aws-account-id:saml-provider/provider-name

    arn:aws:iam::111222333444:role/oktarole,arn:aws:iam::111222333444:saml-provider/oktaidp

    https://aws.amazon.com/SAML/Attributes/RoleSessionName

    Tidak ditentukan

    user.login

    user.login

  5. Setelah Anda menambahkan properti atribut, pilih Berikutnya, dan kemudian pilih Selesai.

Atribut Anda harus serupa dalam format dengan yang ditunjukkan pada gambar berikut. Nilai Status Relai Default adalah URL untuk menentukan halaman landing bagi pengguna akhir di akun atau organisasi Anda setelah mereka menyelesaikan validasi masuk tunggal dari Okta. Anda dapat mengaturnya ke halaman mana pun di OpenSearch UI, dan kemudian memberikan URL tersebut kepada pengguna akhir yang dituju.

Area “SAMP 2.0" melaporkan URL status relai default dan URL metadata untuk aplikasi.

Langkah 2: Siapkan AWS konfigurasi untuk Okta

Selesaikan tugas-tugas berikut untuk mengatur AWS konfigurasi Anda untuk Okta.

Tugas 1: Kumpulkan Informasi Okta

Untuk langkah ini, Anda perlu mengumpulkan informasi Okta Anda sehingga nanti Anda dapat mengonfigurasinya. AWS

  1. Masuk ke organisasi Okta Anda di https://login.okta.com/sebagai pengguna dengan hak administratif.

  2. Pada tab Sign On, di sudut kanan bawah halaman, pilih Lihat instruksi pengaturan SAMP.

  3. Catat nilai untuk URL Masuk Tunggal Penyedia Identitas. Anda dapat menggunakan URL ini saat menghubungkan ke klien SQL pihak ketiga seperti SQL Workbench/J.

  4. Gunakan metadata penyedia identitas di blok 4, lalu simpan file metadata dalam format.xl (misalnya,). metadata.xml

Tugas 2: Buat penyedia IAM

Untuk membuat penyedia IAM Anda, selesaikan langkah-langkah berikut:

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, di bawah Manajemen akses, pilih Penyedia identitas.

  3. Pilih Tambah penyedia.

  4. Untuk tipe Provider ¸ pilih SAMP.

  5. Untuk nama Penyedia ¸ masukkan nama.

  6. Untuk dokumen Metadata, pilih Pilih file dan unggah file metadata (.xml. yang Anda unduh sebelumnya.

  7. Pilih Tambah penyedia.

Tugas 3: Buat peran IAM

Untuk membuat AWS Identity and Access Management peran Anda, selesaikan langkah-langkah berikut:

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, di bawah Manajemen akses, pilih Peran.

  3. Pilih Buat peran.

  4. Untuk jenis entitas Tepercaya, pilih federasi SAFL 2.0.

  5. Untuk penyedia berbasis SAMP 2.0, pilih penyedia identitas yang Anda buat sebelumnya.

  6. Pilih Izinkan programatik dan AWS Management Console akses.

  7. Pilih Berikutnya.

  8. Dalam daftar Kebijakan izin, pilih kotak centang untuk kebijakan yang Anda buat sebelumnya dan untuk OpenSearchFullAccess.

  9. Pilih Berikutnya.

  10. Di area Tinjauan, untuk nama Peran, masukkan nama peran Anda; misalnya,oktarole.

  11. (Opsional) Untuk Deskripsi, masukkan deskripsi singkat tentang tujuan peran.

  12. Pilih Buat peran.

  13. Arahkan ke peran yang baru saja Anda buat, pilih tab Trust Relationships, lalu pilih Edit kebijakan kepercayaan.

  14. Di panel Edit pernyataan, di bawah Tambahkan tindakan untuk STS, pilih kotak untuk TagSession.

  15. Pilih Perbarui kebijakan.

Langkah 3: Buat kebijakan akses OpenSearch Layanan Amazon di IAM

Pelajari cara mengonfigurasi peran IAM Anda untuk kontrol OpenSearch akses. Dengan peran IAM, Anda dapat menerapkan kontrol akses berbutir halus untuk grup pengguna Okta Anda untuk mengakses sumber daya. OpenSearch Topik ini menunjukkan konfigurasi berbasis peran IAM menggunakan dua kelompok contoh.

Sample group: Alice

Permintaan:

GET _plugins/_security/api/roles/alice-group

Hasil:

{ "alice-group": { "reserved": false, "hidden": false, "cluster_permissions": [ "unlimited" ], "index_permissions": [ { "index_patterns": [ "alice*" ], "dls": "", "fls": [], "masked_fields": [], "allowed_actions": [ "indices_all" ] } ], "tenant_permissions": [ { "tenant_patterns": [ "global_tenant" ], "allowed_actions": [ "kibana_all_write" ] } ], "static": false } }
Sample group: Bob

Permintaan:

GET _plugins/_security/api/roles/bob-group

Hasil:

{ "bob-group": { "reserved": false, "hidden": false, "cluster_permissions": [ "unlimited" ], "index_permissions": [ { "index_patterns": [ "bob*" ], "dls": "", "fls": [], "masked_fields": [], "allowed_actions": [ "indices_all" ] } ], "tenant_permissions": [ { "tenant_patterns": [ "global_tenant" ], "allowed_actions": [ "kibana_all_write" ] } ], "static": false } }

Anda dapat memetakan peran domain OpenSearch Layanan Amazon ke peran IAM menggunakan pemetaan peran backend, seperti yang ditunjukkan dalam contoh berikut:

{ "bob-group": { "hosts": [], "users": [], "reserved": false, "hidden": false, "backend_roles": [ "arn:aws:iam::111222333444:role/bob-group" ], "and_backend_roles": [] }, "alice-group": { "hosts": [], "users": [], "reserved": false, "hidden": false, "backend_roles": [ "arn:aws:iam::111222333444:role/alice-group" ], "and_backend_roles": [] } }

Langkah 4: Verifikasi pengalaman Single Sign-On yang diprakarsai oleh penyedia identitas dengan SAMP

Buka URL untuk Status Relai Default untuk membuka halaman otentikasi Okta. Masukkan kredensi pengguna akhir. Anda secara otomatis dialihkan ke OpenSearch UI.

Anda dapat memeriksa kredensi Anda saat ini dengan memilih ikon pengguna di bagian bawah panel navigasi, seperti yang diilustrasikan pada gambar berikut:

Memilih ikon pengguna di halaman “Pengaturan dan pengaturan” Okta menampilkan kredensil pengguna saat ini.

Anda juga dapat memverifikasi izin kontrol akses berbutir halus untuk pengguna dengan mengakses Alat Pengembang di bagian bawah panel navigasi dan menjalankan kueri di konsol. Berikut ini adalah contoh query.

Example 1: Displays information about the current user

Permintaan:

GET _plugins/_security/api/account

Hasil:

{ "user_name": "arn:aws:iam::XXXXXXXXXXXX:role/bob-group", "is_reserved": false, "is_hidden": false, "is_internal_user": false, "user_requested_tenant": null, "backend_roles": [ "arn:aws:iam::XXXXXXXXXXXX:role/bob-group" ], "custom_attribute_names": [], "tenants": { "global_tenant": true, "arn:aws:iam::XXXXXXXXXXXX:role/bob-group": true }, "roles": [ "bob-group" ] }
Example 2: Displays actions permitted for a user

Permintaan:

GET bob-test/_search

Hasil:

{ "took": 390, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 1, "hits": [ { "_index": "bob-test", "_id": "ui01N5UBCIHpjO8Jlvfy", "_score": 1, "_source": { "title": "Your Name", "year": "2016" } } ] } }
Example 3: Displays actions not permitted for a user

Permintaan:

GET alice-test

Hasil:

{ "error": { "root_cause": [ { "type": "security_exception", "reason": "no permissions for [indices:admin/get] and User [name=arn:aws:iam::111222333444:role/bob-group, backend_roles=[arn:aws:iam::111222333444:role/bob-group], requestedTenant=null]" } ], "type": "security_exception", "reason": "no permissions for [indices:admin/get] and User [name=arn:aws:iam::111222333444:role/bob-group, backend_roles=[arn:aws:iam::111222333444:role/bob-group], requestedTenant=null]" }, "status": 403 }

Langkah 5: Konfigurasikan kontrol akses berbutir halus berbasis atribut SAMP

Dengan Amazon OpenSearch Service, Anda dapat menggunakan kontrol akses berbutir halus dengan SALL untuk memetakan pengguna dan grup dari penyedia identitas Anda ke pengguna dan peran kontrol akses yang OpenSearch halus secara dinamis. Anda dapat membuat cakupan peran ini ke OpenSearch domain tertentu dan koleksi tanpa server, serta menentukan izin tingkat indeks dan keamanan tingkat dokumen.

catatan

Untuk informasi selengkapnya tentang kontrol akses berbutir halus, lihat. Kontrol akses berbutir halus di Layanan Amazon OpenSearch

Atribut SAMP untuk kontrol akses berbutir halus

SubjectKey

Peta ke atribut pengguna unik, seperti email atau nama pengguna, yang mengidentifikasi pengguna untuk otentikasi.

RolesKey

Memetakan ke atribut grup atau peran di IDP Anda yang menentukan peran atau izin untuk otorisasi.

Tugas 1: Konfigurasikan Okta untuk kontrol akses berbutir halus

Untuk mengonfigurasi Okta untuk kontrol akses berbutir halus
  1. Tambahkan atribut baru untuk prinsipal OpenSearch pengguna di bagian Pernyataan Atribut:

    • Nama: UserName

    • Nilai: ${user-email}

    Atribut ini digunakan sebagai kunci Subjek dalam konfigurasi kontrol akses OpenSearch berbutir halus untuk otentikasi.

  2. Tambahkan atribut grup untuk peran di bagian Pernyataan Atribut Grup:

    • Nama: groups

    • Filter: OpenSearch_xxx

    Atribut ini digunakan sebagai kunci Peran untuk memetakan grup ke peran kontrol akses OpenSearch berbutir halus untuk otorisasi.

Tugas 2: Konfigurasikan SAMP di domain OpenSearch

Untuk mengkonfigurasi SAMP di domain OpenSearch
  1. Di Konsol AWS Manajemen, identifikasi domain OpenSearch Layanan yang ingin Anda aktifkan kontrol akses halus untuk pengguna UI. OpenSearch

  2. Arahkan ke halaman detail domain tertentu.

  3. Pilih tab Konfigurasi keamanan dan klik Edit.

  4. Perluas SAMP melalui IAM Federate.

  5. Masukkan subjectKey dan roleKey yang Anda definisikan di Okta.

  6. Pilih Simpan perubahan.

Anda juga dapat mengonfigurasi kontrol akses berbutir halus menggunakan file. AWS CLI

aws opensearch create-domain \ --domain-name testDomain \ --engine-version OpenSearch_1.3 \ --cluster-config InstanceType=r5.xlarge.search,InstanceCount=1,DedicatedMasterEnabled=false,ZoneAwarenessEnabled=false,WarmEnabled=false \ --access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"*"},"Action":"es:*","Resource":"arn:aws:es:us-east-1:12345678901:domain/neosaml10/*"}]}' \ --domain-endpoint-options '{"EnforceHTTPS":true,"TLSSecurityPolicy":"Policy-Min-TLS-1-2-2019-07"}' \ --node-to-node-encryption-options '{"Enabled":true}' \ --encryption-at-rest-options '{"Enabled":true}' \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"********","MasterUserPassword":"********"}, "IAMFederationOptions":{"Enabled": true,"SubjectKey":"TestSubjectKey","RolesKey":"TestRolesKey"}}' \ --ebs-options "EBSEnabled=true,VolumeType=gp2,VolumeSize=300" \ --no-verify-ssl \ --endpoint-url https://es.us-east-1.amazonaws.com \ --region us-east-1

Untuk memperbarui domain yang ada:

aws opensearch update-domain-config \ --domain-name testDomain \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"********","MasterUserPassword":"********"}, "IAMFederationOptions":{"Enabled": true,"SubjectKey":"TestSubjectKey","RolesKey":"TestRolesKey"}}' \ --ebs-options "EBSEnabled=true,VolumeType=gp2,VolumeSize=300" \ --no-verify-ssl \ --endpoint-url https://es.us-east-1.amazonaws.com \ --region us-east-1

Tugas 3: Konfigurasikan SAMP dalam koleksi Tanpa OpenSearch Server

Untuk mengonfigurasi kontrol akses berbutir halus berbasis SAML di Tanpa Server OpenSearch
  1. Buka AWS Management Console dan navigasikan ke OpenSearch Layanan Amazon.

  2. Di panel navigasi, di bawah Tanpa Server, pilih Keamanan, lalu pilih Otentikasi.

  3. Di bagian Federasi IAM, pilih Edit.

    Anda dapat mengontrol kontrol akses halus berbasis atribut SAMP menggunakan konfigurasi ini. Federasi IAM dinonaktifkan secara default.

  4. Pilih Aktifkan Federasi IAM.

  5. Masukkan subjectKey dan roleKey nilai yang Anda tentukan di Okta.

    Untuk informasi selengkapnya, lihat Atribut SAMP untuk kontrol akses berbutir halus .

  6. Pilih Simpan.

  7. Di panel navigasi di bawah Tanpa Server, pilih Kebijakan akses data.

  8. Perbarui kebijakan yang ada atau buat yang baru.

  9. Perluas aturan, pilih Tambahkan prinsipal, lalu pilih pengguna dan grup Federasi IAM.

  10. Tambahkan prinsipal yang diperlukan dan pilih Simpan.

  11. PilihIzin.

  12. Di bawah aturan ini, lakukan hal berikut:

    • Pilih izin yang ingin Anda tentukan untuk prinsipal yang dipilih.

    • Tentukan koleksi tempat Anda ingin menerapkan izin.

    • Secara opsional, tentukan izin tingkat indeks.

    catatan

    Anda dapat membuat beberapa aturan untuk menetapkan izin yang berbeda ke grup prinsipal yang berbeda.

  13. Setelah selesai, silakan pilih Simpan.

  14. Pilih Buat.

Atau, Anda dapat menggunakan CLI untuk membuat konfigurasi keamanan untuk koleksi, seperti yang diberikan di bawah ini:

aws opensearchserverless create-security-config --region "region" --type iamfederation --name "configuration_name" --description "description" --iam-federation-options '{"groupAttribute":"GroupKey","userAttribute":"UserKey"}'