'Elasticsearch, inanılmaz derecede çok yönlü ve güçlü bir arama ve analiz motorudur. Büyük miktarda metin verisini hızla alabilir, düzenleyebilir, sıralayabilir, toplayabilir ve yönetebilir.
Tüm bunlara rağmen, Elasticsearch ve tüm ekosistemindeki en göze çarpan özelliklerden biri sağlam güvenlik özellikleridir. Elasticsearch, HTTP isteklerinin imzalanması gibi özellikler içerir ve yalnızca kimliği doğrulanmış kullanıcıların küme üzerinde işlem gerçekleştirmesine izin verir.
Elasticsearch'teki bir diğer güvenlik özelliği, kullanıcıların ve rollerin kullanılmasıdır. Elasticsearch, kümedeki kullanıcılara belirli roller atamanıza olanak tanır. Bunlar daha sonra kullanıcı adının küme üzerinde hangi eylemleri gerçekleştirebileceğini belirlemek için kullanılır.
Elasticsearch, kümede oluşturulan tüm kullanıcılara varsayılan bir rol atayacaktır. Varsayılan rol, kullanıcıların parolaları değiştirmekten, kullanıcı bilgilerini almaktan vb. sorumlu olan kimlik doğrulama uç noktasına erişmesine izin verir.”
NOT: Varsayılan rol, anonim kullanıcılara da atanmıştır.
Bu öğreticinin özü, size Elasticsearch rollerinin temellerini vermektir. Bu öğreticiyi kullanarak, Elasticsearch yerel alanında rolleri nasıl alacağınızı keşfedecek ve belirli bir kullanıcı adına atanan rolleri görüntüleyeceksiniz.
Hadi dalalım.
Elasticsearch Rol Alma API'sı
Elasticsearch kümesindeki roller hakkında bilgi almak için Get Roles API'sini kullanırız. İstek sözdizimi gösterildiği gibidir:
ALMAK / _güvenlik / rol
Yukarıdaki sorgu, sistemdeki tüm rolleri döndürmelidir.
Belirli bir rol hakkında bilgi almak için aşağıda gösterildiği gibi söz dizimini kullanabilirsiniz:
ALMAK / _güvenlik / rol /< isim >
NOT: Bu API, kullanıcının kümede Manage_security ayrıcalığına sahip olmasını gerektirir.
İstek başarılı olursa, sorgu bir dizi rol döndürmelidir.
Örnek 1 – Kümedeki Tüm Rolleri Al
Aşağıdaki örnek istek, Elasticsearch kümesindeki tüm rolleri alacaktır:
kıvrılmak -XGET “http://localhost:9200/_security/role?pretty=true” -H 'kbn-xsrf: raporlama'
Örnek bir çıktı aşağıda gösterilmiştir:
'apm_user' : {
'küme' : [ ] ,
'endeksler' : [
{
'isimler' : [
'eylem sayısı-*'
] ,
'ayrıcalıklar' : [
'okuman' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : yanlış
} ,
{
'isimler' : [
'pencere-yaklaşık*'
] ,
'ayrıcalıklar' : [
'okuman' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : yanlış
} ,
{
'isimler' : [
'pencere-yaklaşık-*'
] ,
'ayrıcalıklar' : [
'okuman' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : yanlış
} ,
{
'isimler' : [
'metrics-apm.*'
] ,
'ayrıcalıklar' : [
'okuman' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : yanlış
} ,
{
'isimler' : [
'metrics-apm-*'
] ,
'ayrıcalıklar' : [
'okuman' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : yanlış
} ,
{
'isimler' : [
'izler-apm.*'
] ,
'ayrıcalıklar' : [
'okuman' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : yanlış
} ,
NOT: Yukarıdaki çıktı, bu öğreticinin kapsamı için kısaltılmıştır.
Örnek 2 – Belirli Bir Rol Hakkında Bilgi Alın
Aşağıdaki örnek, kibana_admin rolü hakkında bilgi verir.
kıvrılmak -XGET “http://localhost:9200/_security/role/kibana_admin” -H 'kbn-xsrf: raporlama'
Ortaya çıkan rol bilgileri gösterildiği gibidir:
'kibana_admin' : {
'küme' : [ ] ,
'endeksler' : [ ] ,
'uygulamalar' : [
{
'başvuru' : 'kibana-.kibana' ,
'ayrıcalıklar' : [
'tüm'
] ,
'kaynaklar' : [
'*'
]
}
] ,
'olarak çalıştırmak' : [ ] ,
'meta veri' : {
'_rezerve' : doğru
} ,
'geçici_metadata' : {
'etkinleştirilmiş' : doğru
}
}
}
YAML'de Rol Bilgilerini Al
Varsayılan olarak, alma rolleri API'si sonucu JSON biçiminde döndürür. Ancak, format parametresini kullanarak farklı bir format seçebilirsiniz.
Sözdizimi gösterildiği gibidir:
ALMAK / _güvenlik / rol? biçim =json / yaml
Örneğin, kibana_admin rolüyle ilgili bilgileri YAML formatında almak için şunu çalıştırabiliriz:
Sonuç çıktısı:
kibana_admin:
küme: [ ]
indeksler: [ ]
uygulamalar:
- başvuru: 'kibana-.kibana'
ayrıcalıklar:
- 'tüm'
kaynaklar:
- '*'
olarak çalıştırmak: [ ]
meta veriler:
_rezerve: doğru
geçici_metadata:
etkinleştirilmiş: doğru
Belirli Bir Kullanıcı için Rolleri Görüntüle
Belirli bir kullanıcı adı (rolleri dahil) hakkındaki bilgileri görüntülemek isterseniz, isteği aşağıdaki gibi kullanabilirsiniz:
ALMAK / _güvenlik / kullanıcı
Örneğin, 'linuxhint' bir kullanıcı adımız olduğunu varsayalım, bu kullanıcı bilgilerini gösterildiği gibi alabiliriz:
Yukarıdaki istek, kullanıcı hakkındaki bilgileri gösterildiği gibi YAML formatında döndürmelidir:
linux ipucu:
Kullanıcı adı: 'linux'
roller:
- 'izleyici'
- 'watcher_user'
Ad Soyad: 'linuxhint.com'
e-posta: ' [e-posta korumalı] '
meta veriler: { }
etkinleştirilmiş: doğru
Kullanıcının izleyici ve izleyici_kullanıcı rollerine sahip olduğunu görebiliriz.
Kibana'daki Rolleri Görüntüle
Kedi rolleri API'sini kullanmak istemiyorsanız, Kibana'da Elasticsearch rollerini Yönetim -> Yığın Yönetimi'ne giderek görüntüleyebilirsiniz.
Ardından, Güvenlik -> Roller'e gidin
Daha sonra rolleri görüntüleyebilir ve yönetebilirsiniz.
Çözüm
Bu makalede, kümedeki belirli rollerle ilgili bilgileri görüntülemek için Elasticsearch Roller API'sinin nasıl kullanılacağını öğrendiniz. Kullanıcı API'sini kullanarak belirli bir kullanıcı adının rollerini nasıl görüntüleyeceğinizi de keşfettiniz.
Okuduğunuz için teşekkürler!