V této rychlé příručce prozkoumáme, jak povolit funkce zabezpečení Elasticsearch Xpack a jak používat bezpečnostní API k vytváření uživatelů a rolí.
Pojďme začít!
POZNÁMKA: Předpokládáme, že již máte ve svém systému nainstalován a spuštěn Elasticsearch. Pokud ne, zvažte následující výukové programy k instalaci Elasticsearch.
https: // linuxhint.com / visualize_apache_logs_with_elk_stack /
https: // linuxhint.com / install-elasticsearch-ubuntu /
Jak povolit funkce zabezpečení Elasticsearch?
Ve výchozím nastavení jsou funkce Elasticsearch, Xpack, zakázány a budete je muset povolit. Nejprve zastavte Elasticsearch a Kibana, abyste mohli upravit konfiguraci.
V konfiguračním souboru Elasticsearch upravte balíček xpack.bezpečnostní.povolený vstup a nastavit jej na true.
Ve výchozím nastavení najdete elasticsearch.yml umístěný v / etc / elasticsearch.
xpack.bezpečnostní.povoleno: trueUložte soubor a restartujte Elasticsearch a Kibana.
POZNÁMKA: V závislosti na licenci, kterou máte, po aktivaci xpack budete muset spustit níže uvedený příkaz a nastavit hesla a ověřování:
hesla elasticsearch-nastaveníJak vytvořit uživatele pomocí Kibany?
Pokud máte Elasticsearch a Kibanu spojenou, můžete snadno vytvářet uživatele ve správě zásobníku Kibana.
Začněte spuštěním aplikace Kibana a poté se přihlaste. Použijte hesla, která jste použili při nastavování.
Po přihlášení vyberte Kibana Dock a přejděte do Stack Management a sekce zabezpečení.
Nyní přejděte na uživatele a klikněte na „vytvořit uživatele.„Při vytváření uživatele vás Kibana požádá o přiřazení role. Všechny dostupné role můžete zobrazit v části Správa zásobníku - Zabezpečení - Role.
Zadejte uživatelské jméno, heslo a celé jméno.
Kromě tohoto jednoduchého způsobu vytváření uživatelů Elasticsearch můžete použít výkonnější metodu popsanou níže:
Jak vytvořit uživatele pomocí rozhraní Elasticsearch API?
Dalším způsobem, jak vytvořit nativní uživatele v Elasticsearch, je použití API, pomocí security jako koncového bodu, můžeme přidávat, aktualizovat a odebírat uživatele v Elasticsearch.
Pojďme se podívat na to, jak tyto operace provádět.
Pro interakci s bezpečnostním API používáme POST a PUT HTTP požadavky, abychom se ujistili, že máme v těle požadavku informace o uživateli.
Při vytváření nového uživatele musíte předat uživatelské jméno a heslo uživatele; oba jsou povinné parametry. Uživatelská jména Elasticsearch nesmí mít více než 1024 znaků a mohou být alfanumerická. Uživatelská jména neumožňují prázdné znaky.
Informace, které můžete poskytnout v těle žádosti, zahrnují:
- Heslo: Toto je povinný parametr typového řetězce. Hesla v Elasticsearch musí mít alespoň šest znaků.
- Celé jméno: Toto určuje celé jméno uživatele (řetězec).
- E-mailem: Nastaví e-mail zadaného uživatele.
- Role: Toto je další povinný parametr seznamu typů. Určuje role, které zadaný uživatel má. Pokud uživatel nemá přiřazené role, můžete vytvořit prázdný seznam [].
- Povoleno: Povolený parametr (Boolean) určuje, zda je uživatel aktivní nebo ne.
Jakmile budete mít tělo požadavku, které ho obsahuje, odešlete požadavek na příspěvek na _security / user /
Zvažte níže uvedený požadavek, který ukazuje, jak vytvořit uživatele pomocí API.
POST / _security / user / linuxhint"password": "linuxhint",
"enabled": true,
"role": ["superuser", "kibana_admin"],
"full_name": "Linux Hint",
"email": "[email protected]",
"metadata":
"inteligence": 7
Pokud používáte cURL, zadejte následující příkaz:
curl -XPOST "http: // localhost: 9200 / _security / user / linuxhint" -H 'Content-Type: application / json' -d '"heslo": "linuxhint", "enabled": true, "role" : ["superuser", "kibana_admin"], "full_name": "Linux Help", "email": "[email protected]", "metadata": "inteligence": 1 'To by mělo vrátit created: true jako objekt JSON.
"created": true
Jak povolit uživatele Informace?
Pokud vytvoříte uživatele v Elasticsearch a nastavíte povolený parametr na hodnotu false, budete jej muset před použitím povolit. K tomu můžeme použít _enable API.
V požadavku PUT byste měli předat uživatelské jméno, které chcete povolit. Obecná syntaxe je následující:
PUT / _bezpečnost / uživatel /Například níže uvedený požadavek umožňuje uživateli linuxhint:
PUT / _security / user / linuxhint / _enablePříkaz cURL je:
curl -XPUT "http: // localhost: 9200 / _security / user / linuxhint / _enable"Opak je také pravdivý; k deaktivaci uživatele použijte koncový bod _disable:
PUT / _security / user / linuxhint / _disablePříkaz cURL je:
curl -XPUT “http: // localhost: 9200 / _security / user / linuxhint / _disable”Jak zobrazit Uživatelé?
Chcete-li zobrazit informace o uživateli, použijte požadavek GET následovaný uživatelským jménem, které chcete zobrazit. Například:
ZÍSKAT / _security / user / linuxhintPříkaz cURL je:
curl -XGET „http: // localhost: 9200 / _security / user / linuxhint“To by mělo zobrazit informace o zadaném uživatelském jménu, jak je uvedeno níže:
"linuxhint":
"username": "linuxhint",
"role": [
„Superuživatel“,
„Kibana_admin“
],
"full_name": "Linux Hint",
"email": "[email protected]",
"metadata":
"inteligence": 7
,
"enabled": false
Chcete-li zobrazit informace o všech uživatelích v klastru Elasticsearch, vynechejte uživatelské jméno a odešlete požadavek GET jako:
ZÍSKAT / _bezpečnost / uživatel /Jak odstranit uživatele?
Pokud můžete vytvořit uživatele, můžete je také odstranit. Chcete-li použít API k odebrání uživatele, jednoduše pošlete požadavek na vymazání _security / user /
Příklad:
DELETE / _security / user / linuxhintPříkaz cURL je:
curl -XDELETE “http: // localhost: 9200 / _security / user / linuxhint”To by mělo vrátit objekt JSON s found: true jako:
"found": true
Závěr
Tento kurz vás naučil, jak povolit funkce zabezpečení Elasticsearch. Také jsme diskutovali o tom, jak pomocí Kibana Stack Management spravovat uživatele. Nakonec jsme diskutovali o tom, jak vytvářet uživatele, zobrazovat informace o uživatelích a mazat uživatele.
Tyto informace by vás měly začít, ale pamatujte, že mistrovství vychází z praxe.
Děkuji za přečtení.