Alibaba Cloud Elasticsearch memungkinkan Anda mengonfigurasi otentikasi pengguna Active Directory (AD) untuk kluster Elasticsearch. Dengan cara ini, pengguna dalam realm AD yang ditetapkan peran Elasticsearch dapat digunakan untuk mengakses kluster. Topik ini menjelaskan cara mengonfigurasi otentikasi pengguna AD untuk kluster Alibaba Cloud Elasticsearch.
Prasyarat
Kluster Alibaba Cloud Elasticsearch telah dibuat. Dalam contoh ini, kluster Elasticsearch V7.10 dibuat.
Untuk informasi lebih lanjut, lihat Buat kluster Alibaba Cloud Elasticsearch.
Realm AD dibuat dan dikonfigurasi pada instance Elastic Compute Service (ECS) yang menjalankan sistem operasi Windows dan berada di virtual private cloud (VPC) yang sama dengan kluster Elasticsearch. Dalam contoh ini, sistem operasi Windows Server 2012 digunakan. Selain itu, data telah dipersiapkan.
Dalam contoh ini, pengguna ccy1 dan root realm ccy.com digunakan.
Batasan
Arsitektur jaringan Alibaba Cloud Elasticsearch di berbagai wilayah telah disesuaikan sejak Oktober 2020. Penyesuaian ini memiliki dampak berikut pada kluster:
Jika Anda ingin menghubungkan kluster yang diterapkan dalam arsitektur jaringan asli ke Internet, Anda dapat menggunakan instance ECS dengan SNAT diaktifkan atau menggunakan proxy NGINX untuk meneruskan permintaan.
Dalam arsitektur jaringan baru, fitur otentikasi pengguna AD terbatas. Anda dapat menggunakan layanan PrivateLink untuk membuat koneksi pribadi antara VPC. Untuk informasi lebih lanjut, lihat Konfigurasikan koneksi pribadi untuk kluster Elasticsearch. Jika Anda ingin menghubungkan kluster yang diterapkan dalam arsitektur jaringan baru ke Internet, konfigurasikan proxy NGINX untuk meneruskan permintaan.
Dalam arsitektur jaringan asli, hanya kluster Elasticsearch zona tunggal yang mendukung otentikasi pengguna AD.
Untuk informasi lebih lanjut tentang arsitektur jaringan, lihat [Pemberitahuan] Penyesuaian arsitektur jaringan.
Prosedur
Langkah 1: (Opsional) Dapatkan nama domain dari titik akhir
Kluster Elasticsearch yang dibuat pada Oktober 2020 atau setelahnya diterapkan dalam arsitektur jaringan baru. Kluster Elasticsearch ini berada di VPC akun layanan Elasticsearch. Jika kluster Elasticsearch Anda diterapkan dalam arsitektur jaringan baru, Anda harus menggunakan layanan PrivateLink untuk membuat koneksi pribadi antara VPC dan VPC Anda. Kemudian, dapatkan nama domain dari titik akhir terkait untuk digunakan nanti. Untuk mendapatkan nama domain dari titik akhir, lakukan langkah-langkah berikut:
- Buat instance Classic Load Balancer (CLB) yang mendukung layanan PrivateLink dan berada di VPC yang sama dengan kluster Elasticsearch yang dibuat.
Untuk informasi lebih lanjut, lihat Langkah 1: Buat dan konfigurasikan instance CLB.
Konfigurasikan instance CLB.
Selama konfigurasi, Anda harus menentukan server Lightweight Directory Access Protocol (LDAP) sebagai server backend dan port 389 sebagai port pendengar.
Untuk informasi lebih lanjut, lihat Konfigurasikan koneksi pribadi untuk kluster Elasticsearch.
- Buat layanan titik akhir.
Untuk informasi lebih lanjut, lihat Langkah 2: Buat layanan titik akhir.
- Konfigurasikan koneksi pribadi ke kluster Elasticsearch.
Untuk informasi lebih lanjut, lihat Langkah 3: Buat koneksi pribadi untuk kluster Elasticsearch.
- Dapatkan nama domain dari titik akhir yang digunakan untuk mengakses layanan titik akhir.
Untuk informasi lebih lanjut, lihat Konfigurasikan koneksi pribadi untuk kluster Elasticsearch.
Catatan Catat nama domain yang diperoleh, yang akan digunakan dalam konfigurasi selanjutnya.
Langkah 2: Konfigurasikan otentikasi pengguna AD
Kluster Elasticsearch menggunakan fitur keamanannya untuk berkomunikasi dengan realm AD dan mengotentikasi pengguna. Fitur keamanan berkomunikasi dengan realm AD berdasarkan LDAP. Realm AD mirip dengan realm LDAP. Seperti direktori LDAP, realm AD menyimpan pengguna dan grup secara hirarkis. Realm AD mengotentikasi pengguna dengan mengirimkan permintaan bind LDAP. Setelah pengguna lolos otentikasi, realm AD mencari entri pengguna di realm AD. Setelah realm AD menemukan entri, realm AD mengambil keanggotaan grup pengguna dari atribut tokenGroups entri tersebut. Untuk informasi lebih lanjut, lihat Mengonfigurasi realm Active Directory.
Kluster Elasticsearch versi V6.X, V7.X, atau V8.X
Tambahkan konfigurasi berikut ke file konfigurasi YML kluster Anda untuk mengonfigurasi otentikasi pengguna AD. Untuk informasi lebih lanjut, lihat Konfigurasikan file YML.
Kluster Elasticsearch versi lainnya
Tambahkan konfigurasi berikut ke file konfigurasi YML kluster Anda. Jika file konfigurasi YML tidak dapat dimodifikasi dan kluster tidak dapat di-restart, Anda dapat submit a ticket kepada personel dukungan teknis untuk membantu Anda mengonfigurasi konfigurasi.
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 | Prioritas realm AD. Prioritas menentukan urutan realm AD diperiksa selama otentikasi pengguna. Catatan Untuk kluster Elasticsearch V8.X, nilai parameter ini harus unik di antara permintaan berbeda. Kami sarankan Anda menyetel parameter ini ke 2. |
domain_name | Nama dari root realm. |
url | URL dan nomor port yang digunakan untuk membuat koneksi jaringan pribadi antara realm AD dan instance ECS. Untuk informasi lebih lanjut, lihat Mengonfigurasi realm Active Directory. Penting Jika kluster Anda diterapkan dalam arsitektur jaringan baru, Anda harus menyetel parameter ini ke nilai dalam format |
bind_dn | Nomor distinguished (DN) dari pengguna yang digunakan untuk melakukan pencarian. |
bind_password | Kata sandi yang digunakan untuk mengotentikasi pengguna. |
Langkah 3: Peta pengguna ke peran
Masuk ke konsol Kibana kluster Elasticsearch.
Untuk informasi lebih lanjut, lihat Masuk ke konsol Kibana.
CatatanOperasi pada kluster versi berbeda mungkin bervariasi. Operasi aktual di konsol yang berlaku.
Pergi ke halaman utama konsol Kibana sesuai petunjuk dan klik Dev Tools.
Di tab Console, jalankan perintah berikut untuk memetakan pengguna ccy1 di realm AD ke peran 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 hasilnya
Gunakan pengguna ccy1 untuk masuk ke konsol Kibana kluster Elasticsearch.
Pergi ke halaman utama konsol Kibana sesuai petunjuk dan klik Dev Tools.
Pada tab Console, jalankan perintah berikut untuk memeriksa apakah pengguna ccy1 memiliki izin melakukan operasi terkait:
GET _cat/indicesJika izin diberikan kepada pengguna ccy1, hasil yang ditunjukkan pada gambar berikut dikembalikan.
