HBase
 sql >> база данни >  >> NoSQL >> HBase

Преобразуване на HBase ACL в политики на Ranger

CDP използва Apache Ranger за управление на сигурността на данните. Ако искате да използвате Ranger за централизирано администриране на сигурността, HBase ACL трябва да бъдат мигрирани към политики. Това може да стане чрез уеб интерфейса на Ranger, достъпен от Cloudera Manager. Но първо, нека направим бърз преглед на метода HBase за контрол на достъпа.

Оторизиране на HBase

Ако е настроено оторизация (например с Kerberos и настройка на hbase.security.authorization свойството на true ), потребителите могат да имат дефинирани правила за ресурсите, до които им е разрешен достъп. Тези правила могат да бъдат дефинирани за отделни таблици, колони и клетки в рамките на таблица.

Нива на достъп до HBase

Нивата на достъп до HBase се предоставят независимо едно от друго и позволяват различни видове операции в даден обхват.

Възможни разрешения (нула или повече букви от набора „RWXCA“):

  • Четене (R) – може да чете данни в дадения обхват
  • Запис (W) – може да записва данни в дадения обхват
  • Изпълнение (X) – може да изпълнява крайни точки на копроцесора в дадения обхват
  • Създаване (C) – може да създава таблици или да пуска таблици в дадения обхват
  • Администратор (A) – може да извършва клъстерни операции като балансиране на клъстера или присвояване на региони в дадения обхват

Възможни обхвати:

  • Superuser – Суперпотребителите могат да извършват всяка операция, налична в HBase, към всеки ресурс. Потребителят, който изпълнява HBase във вашия клъстер, е суперпотребител. Всички принципали, присвоени на конфигурационното свойство hbase.superuser в hbase-site.xml конфигурационен файл на HMaster също са суперпотребители.
  • Глобално – Разрешенията, предоставени в глобален обхват, позволяват на администратора да работи с всички таблици на клъстера.
  • Пространство от имена – Разрешенията, предоставени в обхвата на пространството от имена, се прилагат за всички таблици в дадено пространство от имена.
  • Таблица – Разрешенията, предоставени в обхвата на таблицата, се прилагат за данни или метаданни в дадена таблица.
  • ColumnFamily – Разрешенията, предоставени в обхвата на ColumnFamily, се прилагат за клетки в рамките на това семейство ColumnFamily.
  • Клетка – Разрешенията, предоставени в обхвата на клетка, се прилагат към тази точна координата на клетката.

Експортиране на ACL на HBase

1. Влезте чрез Kerberos с идентификационните данни за услугата HBase.

2. Стартирайте обвивката hbase и избройте ACL.

За да изброите ACL, използвайте следните команди: 

  • user_permission ‘.*’
  • Алтернативно с привилегия на суперпотребител:сканирайте ‘hbase:acl’

Примерен изход на scan ‘hbase:acl‘:

РЕД КОЛОНА+КЛЕТКА

emp column=l:hbase, timestamp=1612190971868, value=RWXCAemp2 column=l:hbase, timestamp=1612191218963, value=RWXCAemp2 колона=l:user1, timestamp=16121914264 column, testson value=RW62 данни, timestamp=1612273141925, value=RWemp колона=l:test,personal data,1, timestamp=1612273322678, value=RWemp column=l:@group-usr,personal data,1, timestamp=1612273324527, стойност=RWemp предварително> 

Примерен изход на user_permission ‘.*’:

Пространство на потребителски имена,Таблица,Фамилия,Квалификатор:Permissionhbase по подразбиране,emp,,:[Разрешение:actions=READ,WRITE,EXEC,CREATE,ADMIN]user1 по подразбиране,emp2,,:[Разрешение:actions=READ,WRITE, CREATE]hbase по подразбиране,emp2,,:[Разрешение:действия=ЧЕТЕНЕ,ЗАПИСАНЕ,EXEC,CREATE,ADMIN]тест по подразбиране,emp,лични данни,:[Разрешение:действия=ЧЕТЕНЕ,ЗАПИС]тест по подразбиране,emp,лични данни, 1:[Разрешение:actions=READ,WRITE]@group-usr default,emp,лични данни,1:[Разрешение:actions=READ,WRITE]

Забележка: Групите и потребителите получават достъп по същия начин, но групите са с префикс „@“. Таблиците и пространствата от имена се задават по същия начин, но пространствата от имена са с префикс „@“.

Пример за разрешение на ниво клетка:

тест             по подразбиране,emp,лични данни,1:[Разрешение:actions=READ,WRITE]

„Тестът“ потребителят има RW разрешения за „по подразбиране“ пространство от имена, в таблица ’emp’ , колона „лични данни“ и ред ‘1’..

Създаване на правила на Ranger

  1. В Cloudera Manager изберете услугата Ranger.
  2. Намерете webUI връзка, която ви пренасочва към потребителския интерфейс на Ranger.
  3. Влезте в потребителския интерфейс на Ranger.

Мениджърът на достъпа показана страница:

1. Изберете съществуваща услуга HBase.
Списъкът с правила страница се появява.

2. Щракнете върху Добавяне на нова политика .
Показва се страницата за създаване на правила.

3. Попълнете страницата Създаване на правила, както следва:

3.1 Подробности за правилата

Име на политика Въведете подходящо име на политика. Това име не може да се дублира в системата. Това поле е задължително.
Етикет за правила Посочете етикет за това правило. Можете да търсите отчети и да филтрирате правила въз основа на тези етикети.
нормално/замяна Позволява ви да зададете политика за отмяна. Когато е избрано отмяна, разрешенията за достъп в политиката отменят разрешенията за достъп в съществуващите политики. Тази функция може да се използва с Добавяне на период на валидност за създаване на временни правила за достъп, които отменят съществуващите правила.
HBase таблица Изберете подходящата база данни. За конкретна политика могат да бъдат избрани множество бази данни. Това поле е задължително.
Семейство колони HBase За избраната таблица посочете семействата колони, към които се прилага правилото.
Колона HBase За избраните семейства таблици и колони посочете колоните, за които се прилага правилото.
Описание (По избор) Опишете целта на правилата.
Регистриране на одит Посочете дали тази политика е одитирана. (Премахнете отметката, за да деактивирате одита).
Добавяне на период на валидност Посочете начален и краен час за правилата.

3.2 Условия за разрешаване/отказ
Apache Ranger поддържа следните условия за достъп:

  • Разрешаване
  • Изключване от Разрешаване
  • Отказ
  • Изключване от отказ

Тези условия за достъп ви позволяват да настроите фини правила за контрол на достъпа.

Например, можете да разрешите достъп до финанси таблица за всички потребители в финанси група, но отказват достъп на всички потребители в стажантите група. Да кажем, че един от членовете на стажантите група, скот , трябва да работи по задача, която изисква достъп до финанси маса. В този случай можете да добавите условие за изключване от отказ, което ще позволи на потребителя scott за достъп до финанси база данни.

Изберете роля Посочете ролите, за които се прилага това правило.

За да посочите роля като администратор, поставете отметка в квадратчето Делегиране на администратор. Администраторите могат да редактират или изтриват правилата, както и да създават дъщерни правила въз основа на оригиналните правила.
Изберете група Посочете групите, за които се прилага това правило.

За да посочите група като администратор, поставете отметка в квадратчето Делегиране на администратор. Администраторите могат да редактират или изтриват правилата, както и да създават дъщерни правила въз основа на оригиналните правила.
Изберете потребител Посочете потребителите, за които се прилага това правило.

За да посочите потребител като администратор, поставете отметка в квадратчето Делегиране на администратор. Администраторите могат да редактират или изтриват правилата, както и да създават дъщерни правила въз основа на оригиналните правила.
Разрешения Добавяне или редактиране на разрешения:Четене, Писане, Създаване, Администриране, Избиране/Премахване на всички.
Делегиране на администратор Можете да използвате Делегиране на администратор, за да присвоите администраторски права на потребителите или групите, посочени в правилата. Администраторите могат да редактират или изтриват правилата, както и да създават дъщерни правила въз основа на оригиналните правила.

3.3 Можете да използвате символа плюс (+), за да добавите допълнителни условия. Условията се оценяват по реда, посочен в политиката. Първо се прилага условието в горната част на списъка, след това второто, след това третото и т.н. Условията за отказ винаги са по-силни. Следващата блок-схема предоставя информация за потока за оценка на политиката на Ranger.

3.4 Накрая щракнете върху Добавяне.

Заключение

В тази публикация в блога разгледахме как можете да мигрирате вашите HBase ACL към политики на Ranger, като използвате Cloudera Manager. За съжаление няма автоматизация за миграцията, тъй като двата метода за оторизация се различават значително. Въпреки че в Ranger има функция за импортиране за политики за групово зареждане, няма начин за експортиране на ACL от HBase във формата, който Ranger разбира (специфично форматиран JSON/CSV).


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Честит рожден ден на Apache HBase! 10 години устойчивост, стабилност и производителност

  2. Hadoop InputFormat &Типове InputFormat в MapReduce

  3. Какво представлява Hadoop Reducer Class в MapReduce?

  4. Преобразуване на HBase ACL в политики на Ranger

  5. Apache HBase + Apache Hadoop + Xceivers