Elasticsearch الحصول على الأدوار

Elasticsearch Alhswl Ly Aladwar

'Elasticsearch هو محرك بحث وتحليلات متعدد الاستخدامات وقوي بشكل لا يصدق. يمكنه استيعاب كميات كبيرة من البيانات النصية وتنظيمها وفرزها وتجميعها وإدارتها بسرعة.

على الرغم من كل ذلك ، فإن إحدى الميزات الأكثر بروزًا في Elasticsearch ونظامها البيئي بالكامل هي ميزات الأمان الصارمة. يتضمن Elasticsearch ميزات مثل توقيع طلبات HTTP ويسمح فقط للمستخدمين المصادق عليهم بأداء العمليات على المجموعة.



ميزة أمان أخرى في Elasticsearch هي استخدام المستخدمين والأدوار. يسمح لك Elasticsearch بتعيين أدوار محددة للمستخدمين في المجموعة. ثم يتم استخدام هذه لتحديد الإجراءات التي يمكن أن يؤديها اسم المستخدم على الكتلة.



سيعين Elasticsearch دورًا افتراضيًا لجميع المستخدمين الذين تم إنشاؤهم في المجموعة. يسمح الدور الافتراضي للمستخدمين بالوصول إلى نقطة نهاية المصادقة ، المسؤولة عن تغيير كلمات المرور واسترداد معلومات المستخدم وما إلى ذلك. '



ملاحظة: يتم أيضًا تعيين الدور الافتراضي للمستخدمين المجهولين.

يتمثل جوهر هذا البرنامج التعليمي في إعطائك أساسيات أدوار Elasticsearch. باستخدام هذا البرنامج التعليمي ، سوف تكتشف كيفية جلب الأدوار في مجال Elasticsearch الأصلي وعرض الأدوار المخصصة لاسم مستخدم معين.

هيا بنا نتعمق.



Elasticsearch الحصول على الأدوار API

نحن نستخدم Get Roles API لاسترداد المعلومات حول الأدوار في مجموعة Elasticsearch. صيغة الطلب كما هو موضح:

احصل على / _الأمان / وظيفة


يجب أن يعرض الاستعلام أعلاه جميع الأدوار في النظام.

لاسترداد معلومات حول دور معين ، يمكنك استخدام بناء الجملة كما هو موضح:

احصل على / _الأمان / وظيفة / < اسم >


ملاحظة: تتطلب واجهة برمجة التطبيقات هذه أن يكون لدى المستخدم امتياز إدارة الأمان على الكتلة.

إذا كان الطلب ناجحًا ، يجب أن يُرجع الاستعلام مجموعة من الأدوار.

مثال 1 - استرداد كافة الأدوار في المجموعة

سوف يسترد مثال الطلب أدناه جميع الأدوار في مجموعة Elasticsearch:

لفة -XGET 'http://localhost:9200/_security/role?pretty=true' 'kbn-xsrf: إعداد التقارير'


يتم عرض مثال للإخراج أدناه:

{
'apm_user' : {
'تَجَمَّع' : [ ] و
'المؤشرات' : [
{
'أسماء' : [
'apm- *'
] و
'الامتيازات' : [
'قرأ' و
'view_index_metadata'
] و
'allow_restricted_indices' : خاطئة
} و
{
'أسماء' : [
'نافذة تقريبًا *'
] و
'الامتيازات' : [
'قرأ' و
'view_index_metadata'
] و
'allow_restricted_indices' : خاطئة
} و
{
'أسماء' : [
'نافذة-تقريبًا- *'
] و
'الامتيازات' : [
'قرأ' و
'view_index_metadata'
] و
'allow_restricted_indices' : خاطئة
} و
{
'أسماء' : [
'metrics-apm. *'
] و
'الامتيازات' : [
'قرأ' و
'view_index_metadata'
] و
'allow_restricted_indices' : خاطئة
} و
{
'أسماء' : [
'metrics-apm- *'
] و
'الامتيازات' : [
'قرأ' و
'view_index_metadata'
] و
'allow_restricted_indices' : خاطئة
} و
{
'أسماء' : [
'traces-apm. *'
] و
'الامتيازات' : [
'قرأ' و
'view_index_metadata'
] و
'allow_restricted_indices' : خاطئة
} و


ملاحظة: تم قطع الإخراج أعلاه لنطاق هذا البرنامج التعليمي.

مثال 2 - الحصول على معلومات حول دور معين

يعرض المثال أدناه معلومات حول دور kibana_admin.

لفة -XGET 'http://localhost:9200/_security/role/kibana_admin' 'kbn-xsrf: إعداد التقارير'


تظهر معلومات الدور الناتج كما هو موضح:

{
'kibana_admin' : {
'تَجَمَّع' : [ ] و
'المؤشرات' : [ ] و
'تطبيقات' : [
{
'طلب' : 'kibana-.kibana' و
'الامتيازات' : [
'الكل'
] و
'مصادر' : [
'*'
]
}
] و
'اهرب مثل' : [ ] و
'البيانات الوصفية' : {
'_محجوز' : حقيقي
} و
'بيانات_بيانات عابرة' : {
'ممكّن' : حقيقي
}
}
}

استرجع معلومات الدور في YAML

بشكل افتراضي ، ستعيد واجهة برمجة تطبيقات الحصول على الأدوار النتيجة بتنسيق JSON. ومع ذلك ، يمكنك اختيار تنسيق مختلف باستخدام معلمة التنسيق.

بناء الجملة كما هو موضح:

احصل على / _الأمان / وظيفة؟ صيغة = json / يامل


على سبيل المثال ، لاسترداد المعلومات حول دور kibana_admin بتنسيق YAML ، يمكننا تشغيل:

لفة -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' 'kbn-xsrf: إعداد التقارير'


الناتج الناتج:

-
kibana_admin:
تَجَمَّع: [ ]
المؤشرات: [ ]
التطبيقات:
- طلب: 'kibana-.kibana'
الامتيازات:
- 'الكل'
مصادر:
- '*'
اهرب مثل: [ ]
البيانات الوصفية:
_محجوز: حقيقي
البيانات_ الوصفية العابرة:
ممكّن: حقيقي

عرض الأدوار لمستخدم معين

إذا كنت ترغب في عرض معلومات حول اسم مستخدم معين (بما في ذلك أدوارهم) ، يمكنك استخدام الطلب كما هو موضح:

احصل على / _الأمان / المستعمل


على سبيل المثال ، لنفترض أن لدينا اسم مستخدم 'linuxhint' يمكننا استرداد معلومات المستخدم كما هو موضح:

لفة -XGET 'http://locahost:9200/_security/user/linuxhint?format=yaml' 'kbn-xsrf: إعداد التقارير'


يجب أن يعرض الطلب أعلاه معلومات حول المستخدم بتنسيق YAML كما هو موضح:

-
لينوكسينت:
اسم االمستخدم: 'لينكس'
الأدوار:
- 'مشاهد'
- 'watcher_user'
الاسم الكامل: 'linuxhint.com'
البريد الإلكتروني: ' [بريد إلكتروني محمي] '
البيانات الوصفية: { }
ممكّن: حقيقي


يمكننا أن نرى أن المستخدم له دور المشاهد والمراقب.

عرض الأدوار في Kibana

إذا كنت لا تريد استخدام واجهة برمجة تطبيقات أدوار القط ، فيمكنك عرض أدوار Elasticsearch في Kibana بالانتقال إلى الإدارة -> إدارة المكدس.


بعد ذلك ، انتقل إلى الأمان -> الأدوار


يمكنك بعد ذلك عرض الأدوار وإدارتها.

استنتاج

في هذه المقالة ، تعلمت كيفية استخدام Elasticsearch Roles API لعرض معلومات حول أدوار معينة في الكتلة. لقد اكتشفت أيضًا كيفية عرض أدوار اسم مستخدم معين باستخدام واجهة برمجة تطبيقات المستخدم.

شكرا للقراءة!