Elasticsearch Yetki Gereksinimleri
Bu doküman, Elasticsearch'te superuser yetkisinin doğrudan kullanılmasından kaçınmak isteyen kullanıcılar ve sistemler için, Apinizer entegrasyonu özelinde gerekli minimum ve önerilen rol gereksinimlerini detaylandırmak amacıyla hazırlanmıştır.
Elasticsearch'de rol bazlı kullanıcı oluşturabilmek için kimlik doğrulama konfigürasyonunun yapılması gerekmektedir. Detaylı bilgi için tıklayınız.
Apinizer'da Yapılan Temel İşlemler
İşlev | Elasticsearch Rolü | Açıklama |
---|---|---|
Document indexing (API log yazma) | write | Log verilerini Elasticsearch'e yazma |
Document indexing (Audit log yazma) | write | Audit loglarını indexe yazma |
Document indexing (Token log yazma) | write | Token loglarını indexe yazma |
Document indexing (Application log yazma) | write | Uygulama loglarını indexe yazma |
Search operations | read | Log verilerini sorgulama ve arama |
Get document operations | read | Belirli document'leri okuma |
Bulk operations | write | Toplu veri yazma işlemleri |
Apinizer'da Yapılabilen Yönetim İşlemleri
İşlev | Elasticsearch Rolü | Açıklama |
---|---|---|
Index Lifecycle Policy (ILM) oluşturma/yönetme | manage_ilm | ILM policy'lerini oluşturma ve yönetme |
Index Lifecycle Policy silme | manage_ilm | ILM policy'lerini silme |
Index Template Oluşturma/Yönetme | manage_index_templates | Index template'lerini oluşturma ve yönetme |
Yeni indeks oluşturma (ILM/Rollover ile) | create_index veya daha kapamlısı manage (indeks seviyesi) | Yeni indekslerin otomatik veya manuel olarak oluşturulması |
Apinizer'da Yapılabilen Monitoring İşlemleri
İşlev | Elasticsearch Rolü | Açıklama |
---|---|---|
Cluster health kontrolü | monitor | Cluster sağlık durumunu kontrol etme |
Cluster istatisklerini alma | monitor | Cluster istatistiklerini okuma |
Node istatistiklerini alma | monitor | Node istatistiklerini okuma |
Thread pool istatistiklerini alma | monitor | Thread pool istatistiklerini okuma |
Index istatistiklerini alma | monitor | Index istatistiklerini okuma |
CPU ve disk kullanım oranları | monitor | Sistem kaynak kullanımını izleme |
Önerilen Rol Kombinasyonları
Minimum Gereksinimler(Sadece log yazma/okuma)
write
(kendi indekslerine)read
(kendi indekslerine)
Apinizer Ekranlarının Stabil Kullanımı İçin Tavsiye Edilen Minimum Gereksinimler (API proxy, ILM, Index Template, Monitoring vb. Özellikleri Kullanabilmek İçin)
write
(kendi indekslerine)read
(kendi indekslerine)create
(kendi indekslerine)index
(kendi indekslerine)delete
(kendi indekslerine)monitor
(kendi indekslerine)manage
(kendi indekslerine)monitor
(cluster düzeyinde)manage_ilm
(cluster düzeyinde)monitor
(cluster düzeyinde)
Örnek Rol Yapılandırmaları
Minimum Yetki Rolü (Kendi İndeksine Log Yazma/Okuma vb)
Apinizer Elasticsearch Entegrasyonunda Dikkat Edilecekler
Aşağıdaki minimum rolün kullanımında Apinizer arayüzü üzerinde Apinizer-Elasticsearch entegrasyonu tamamlanamaz. Bu entegrasyonun tamamlanabilmesi için yetkili bir Elasticsearch kullanıcısı ile Index template'lerin ve ILM policy'lerin manuel olarak oluşturulması gerekmektedir. Detaylı bilgi için tıklayınız.
Ayrıca minimum yetki kullamında normalde arayüz ile yapılabilen bir takım konfigürasyonlar kısıtlı yetkilerden dolayı yapılamayacaktır. (index rollover v.b)
curl --request PUT \
--url '<ELASTICSEARCH_ACCESS_URL>/_security/role/apinizer_basic?pretty=' \
--header 'Authorization: Basic <BASE64_ENCODED_AUTH>' \
--header 'Content-Type: application/json' \
--data '{
"cluster": [
"monitor"
],
"indices": [
{
"names": ["apinizer-log-apiproxy-<INDEX_KEY>*"],
"privileges": ["read", "write", "create", "index", "delete","monitor"]
}
]
}'
Tavsiye Edilen Minimum Rol Gereksinimleri (ILM, Rollover, Index Template Yönetimi ile)
curl --request PUT \
--url '<ELASTICSEARCH_ACCESS_URL>/_security/role/apinizer_minimum_roles?pretty=' \
--header 'Authorization: Basic <BASE64_ENCODED_AUTH>' \
--header 'Content-Type: application/json' \
--data '{
"cluster": [
"monitor",
"manage_ilm",
"manage_index_templates"
],
"indices": [
{
"names": ["apinizer-log-apiproxy-<INDEX_KEY>*"],
"privileges": ["read", "write", "create", "index", "delete","monitor","manage"]
},
{
"names": [".monitoring-*", ".kibana*"],
"privileges": ["read"]
}
]
}'
Tam Özellik Rolü (Tüm Yönetim İşlemleri)
curl --request PUT \
--url '<ELASTICSEARCH_ACCESS_URL>/_security/role/apinizer_all_needed_roles?pretty=' \
--header 'Authorization: Basic <BASE64_ENCODED_AUTH>' \
--header 'Content-Type: application/json' \
--data '{
"cluster": [
"monitor",
"manage_ilm",
"manage_index_templates",
"create_snapshot",
"monitor_snapshot"
],
"indices": [
{
"names": ["apinizer-log-apiproxy-<INDEX_KEY>*"],
"privileges": ["all"]
},
{
"names": [".monitoring-*", ".kibana*"],
"privileges": ["read"]
}
]
}'
Kullanıcı Oluşturma Örneği
curl --request POST \
--url <ELASTICSEARCH_ACCESS_URL>/_security/user/apinizer_user \
--header 'Authorization: Basic <BASE64_ENCODED_AUTH>' \
--header 'Content-Type: application/json' \
--data '{
"password":"<PASSWORD>",
"roles": ["apinizer_minimum_roles"],
"full_name": "Apinizer Recommended User",
"email": "<MAIL>"
}'
Rol Eksiklerinin Apinizer Üzerindeki Etkileri
Apinizer ile Elasticsearch'e erişmek için kullandığınız kullanıcıya tam yetki vermediğinizde bazı ekran özellikleri kısıtlanır. Bu durumda alternatif çözümler mümkündür.
Cluster Privileges Eksikliği
Eksik Rol | Apinizer'daki Etkisi | Alternatif Çözüm |
---|---|---|
monitor | Cluster health kontrolü yapılamaz; CPU/disk kullanımı görüntülenemez; Elasticsearch durumu dashboard'da gösterilmez. | Manuel monitoring araçları kullanın. |
manage_ilm | ILM policy'leri Apinizer arayüzünden oluşturulamaz; Lifecycle yönetimi yapılamaz; Rollover işlemleri otomatik çalışmaz. | ILM policy'lerini manuel olarak oluşturun. Detaylı bilgi için tıklayınız. |
manage_index_templates | Index template'leri Apinizer'dan oluşturulamaz; Yeni index'ler yanlış yapılandırma ile oluşabilir. | Template'leri manuel olarak tanımlayın. Detaylı bilgi için tıklayınız. |
Index Privileges Eksikliği
Eksik Rol | Apinizer'daki Etkisi | Alternatif Çözüm |
---|---|---|
write | Log verileri yazılamaz. API trafiği kaydedilmez. Audit logları oluşturulamaz. | KRİTİK - Temel işlevler çalışmaz. |
read | Log sorgulama yapılamaz. Analytics ekranları boş kalır. Raporlama çalışmaz. | KRİTİK - Veri analizi yapılamaz. |
create_index veya daha kapsamlı olan manage | Yeni index'ler oluşturulamaz. İlk kurulum tamamlanamaz (ILM/rollover durumunda). | Manuel index oluşturma gerekir |
Öneri: Aşamalı Yetki Verme
- Başlangıç: Belirlemiş olduğunuz roller ile entegrasyonu sağlayın.
- İhtiyaç Anında: Gereken rolleri tek tek ekleyin.
- Test: Her rol Eklendikten sonra ilgili Apinizer özelliğini test edin.