Topik ini menjelaskan cara mengonfigurasi otentikasi identitas Active Directory (AD) untuk instans Alibaba Cloud Elasticsearch, sehingga pengguna dengan role tertentu dalam domain AD dapat mengakses instans tersebut.
Prasyarat
Anda telah menyelesaikan operasi berikut:
Instans Alibaba Cloud Elasticsearch telah dibuat. Topik ini menggunakan instans Elasticsearch V7.10 sebagai contoh.
Untuk informasi selengkapnya, lihat Buat instans Alibaba Cloud Elasticsearch.
Lingkungan dan data domain AD tersedia dalam virtual private cloud (VPC) yang sama dengan instans Alibaba Cloud Elasticsearch. Topik ini menggunakan Windows Server 2012 sebagai contoh.
Pada topik ini, username adalah ccy1, dan domain root adalah ccy.com
Batasan
Sejak Oktober 2020, Alibaba Cloud telah menyesuaikan arsitektur jaringan untuk Elasticsearch di berbagai wilayah. Penyesuaian ini memengaruhi instans sebagai berikut:
Untuk instans pada arsitektur jaringan lama, Anda harus menggunakan fitur SNAT atau proxy Nginx yang dikelola sendiri untuk terhubung ke Internet.
Untuk instans pada arsitektur jaringan baru, fitur AD tunduk pada keterbatasan jaringan. Anda harus menggunakan PrivateLink untuk membuat peering jaringan pribadi antar-VPC. Untuk informasi selengkapnya, lihat Konfigurasikan koneksi pribadi untuk instans. Untuk mengakses Internet, Anda harus mengonfigurasi proxy Nginx untuk meneruskan permintaan.
Pada arsitektur jaringan lama, Alibaba Cloud Elasticsearch hanya mendukung otentikasi AD untuk instans single-zone.
Untuk informasi selengkapnya tentang arsitektur jaringan, lihat Pemberitahuan: Penyesuaian arsitektur jaringan.
Prosedur
Langkah 1: (Opsional) Dapatkan nama domain titik akhir
Kluster Elasticsearch yang dibuat pada Oktober 2020 atau setelahnya diterapkan pada arsitektur jaringan baru. Kluster tersebut berada di VPC milik akun layanan Elasticsearch. Jika kluster Elasticsearch Anda menggunakan arsitektur jaringan baru, Anda perlu menggunakan layanan PrivateLink untuk membuat koneksi pribadi antara VPC tersebut dan VPC Anda. Selanjutnya, dapatkan nama domain dari titik akhir terkait untuk digunakan nanti. Untuk mendapatkan nama domain titik akhir, lakukan langkah-langkah berikut:
- Buat instans Classic Load Balancer (CLB) yang mendukung layanan PrivateLink dan berada di VPC yang sama dengan kluster Elasticsearch yang telah dibuat.
Untuk informasi selengkapnya, lihat Langkah 1: Buat dan konfigurasikan instans SLB.
Konfigurasikan instans SLB.
Saat mengonfigurasi instans, tentukan server yang menghosting layanan Lightweight Directory Access Protocol (LDAP) sebagai server backend dan atur port listening ke 389.
Untuk informasi selengkapnya, lihat Konfigurasikan koneksi pribadi untuk kluster Elasticsearch.
- Buat layanan titik akhir.
Untuk informasi selengkapnya, lihat Langkah 2: Buat layanan titik akhir.
- Konfigurasikan koneksi pribadi ke kluster Elasticsearch.
Untuk informasi selengkapnya, lihat Langkah 3: Konfigurasikan koneksi pribadi untuk kluster Alibaba Cloud ES.
- Dapatkan nama domain titik akhir yang digunakan untuk mengakses layanan titik akhir.
Untuk informasi selengkapnya, lihat Konfigurasikan koneksi pribadi untuk kluster Elasticsearch.
Catatan Catat nama domain yang diperoleh karena akan digunakan dalam konfigurasi selanjutnya.
Langkah 2: Konfigurasikan otentikasi AD
Fitur keamanan Elasticsearch dapat berkomunikasi dengan domain AD untuk melakukan otentikasi identitas pengguna. Fitur ini menggunakan LDAP untuk berkomunikasi dengan domain AD, sehingga realm active_directory mirip dengan realm ldap. Seperti direktori LDAP, domain AD menyimpan pengguna dan grup secara hierarkis. Untuk mengotentikasi pengguna, domain AD mengirim permintaan bind LDAP. Setelah otentikasi berhasil, domain AD mencari entri pengguna di Active Directory. Setelah pengguna ditemukan, domain AD mengambil keanggotaan grup pengguna dari atribut tokenGroups pada entri pengguna tersebut. Untuk informasi selengkapnya, lihat Configuring an Active Directory realm.
Untuk instans Alibaba Cloud Elasticsearch V6.x, V7.x, dan V8.x:
Tambahkan konfigurasi berikut ke file YML instans Elasticsearch Anda untuk mengatur otentikasi AD. Untuk informasi selengkapnya, lihat Konfigurasikan parameter YML.
Untuk versi lain instans Alibaba Cloud Elasticsearch:
Tambahkan konfigurasi berikut ke file YML instans Elasticsearch Anda. Jika operasi gagal di Konsol atau instans tidak restart untuk menerapkan perubahan konfigurasi YML, kirim tiket dan berikan konfigurasi tersebut kepada tim dukungan teknis.
xpack.security.authc.realms.active_directory.my_ad.order: 2
xpack.security.authc.realms.active_directory.my_ad.domain_name: ccy.com
xpack.security.authc.realms.active_directory.my_ad.url: ldap://ep-bp1i321219*********-cn-hangzhou-h.epsrv-bp15571d5ps*********.cn-hangzhou.privatelink.aliyuncs.com:389
xpack.security.authc.realms.active_directory.my_ad.bind_dn: cc**@ccy.com
xpack.security.authc.realms.active_directory.my_ad.bind_password: your_passwordParameter | Deskripsi |
order | Urutan pemeriksaan domain AD yang dikonfigurasi selama otentikasi identitas. Catatan Untuk instans V8.x, nilai order harus unik. Atur ke 2. |
domain_name | Nama domain root. |
url | URL dan port untuk koneksi pribadi antara domain AD dan instans ECS. Untuk informasi selengkapnya, lihat Configuring an Active Directory realm. Penting Untuk arsitektur jaringan baru, atur ke |
bind_dn | Pengguna yang menjalankan semua permintaan pencarian Active Directory. |
bind_password | Password yang digunakan untuk mengotentikasi identitas di domain AD. |
Langkah 3: Petakan akun domain ke role
Masuk ke Konsol Kibana instans Elasticsearch Anda.
Untuk informasi selengkapnya, lihat Masuk ke Konsol Kibana.
CatatanOperasi dapat sedikit berbeda tergantung versi Kibana. Antarmuka pengguna aktual yang berlaku.
Di halaman utama Kibana, klik Dev Tools.
Di tab Console, jalankan perintah berikut untuk memetakan pengguna ccy1 di domain AD ke role administrator.
PUT /_security/role_mapping/basic_users { "roles": [ "superuser" ], "enabled": true, "rules": { "any": [ { "field": { "groups": "cn=ali,dc=ccy,dc=com" } }, { "field": { "dn": "cn=ccy1,cn=ali,dc=ccy,dc=com" } } ] } }
Langkah 4: Verifikasi hasil
Masuk ke Konsol Kibana instans Elasticsearch Anda sebagai pengguna ccy1 yang telah diberi otorisasi.
Di halaman utama Kibana, klik Dev Tools.
Di tab Console, jalankan perintah berikut untuk memverifikasi bahwa pengguna ccy1 memiliki izin yang diperlukan.
GET _cat/indicesJika pengguna ccy1 memiliki izin yang diperlukan, hasil akan dikembalikan. Hal ini menunjukkan bahwa izin untuk pengguna ccy1 di domain AD telah dikonfigurasi.
