Поделиться через


Руководство по настройке политик Apache HBase в HDInsight с корпоративным пакетом безопасности

Сведения о настройке политик Apache Ranger для кластеров Apache HBase с Корпоративным пакетом безопасности (ESP). Кластеры ESP подключены к домену, благодаря чему пользователи могут проходить аутентификацию с учетными данными домена. В этом руководстве вы создадите две политики Ranger для ограничения доступа к различным семействам столбцов в таблице HBase.

В этом руководстве описано следующее:

  • Создание пользователей домена.
  • Создание политик Ranger.
  • Создание таблиц в кластере HBase.
  • Проверка политик Ranger.

Подготовка к работе

Подключение к пользовательскому интерфейсу администратора Apache Ranger

  1. В браузере подключитесь к пользовательскому интерфейсу Ranger Администратор с помощью URL-адресаhttps://<ClusterName>.azurehdinsight.net/Ranger/. Не забудьте изменить <ClusterName> на имя вашего кластера HBase.

    Примечание.

    Учетные данные Ranger не совпадают с учетными данными кластера Hadoop. Чтобы браузеры не использовали кэшированные учетные данные Hadoop, подключитесь к пользовательскому интерфейсу администратора Ranger в новом окне браузера в режиме InPrivate.

  2. Войдите с помощью учетных данных администратора Microsoft Entra. Учетные данные администратора Microsoft Entra не совпадают с учетными данными кластера HDInsight или учетными данными узла Secure Shell (SSH) linux HDInsight.

Создание пользователей домена

Сведения о создании sales_user1 и marketing_user1 пользователей домена см. в статье "Создание кластера HDInsight с корпоративным пакетом безопасности". В рабочем сценарии пользователи домена берутся из вашего клиента Active Directory.

Создание таблиц HBase и импорт примера данных

Для подключения к кластерам HBase можно использовать протокол SSH, а для создания таблиц HBase, вставки данных и создания запросов к данным — Apache HBase Shell. Дополнительные сведения см. в статье Подключение к HDInsight (Hadoop) с помощью SSH.

Использование оболочки HBase

  1. Из SSH выполните следующую команду HBase:

    hbase shell
    
  2. Создайте таблицу Customers HBase с двумя семействами столбцов: Name и Contact.

    create 'Customers', 'Name', 'Contact'
    list
    
  3. Вставьте какие-либо данные:

    put 'Customers','1001','Name:First','Alice'
    put 'Customers','1001','Name:Last','Johnson'
    put 'Customers','1001','Contact:Phone','333-333-3333'
    put 'Customers','1001','Contact:Address','313 133rd Place'
    put 'Customers','1001','Contact:City','Redmond'
    put 'Customers','1001','Contact:State','WA'
    put 'Customers','1001','Contact:ZipCode','98052'
    put 'Customers','1002','Name:First','Robert'
    put 'Customers','1002','Name:Last','Stevens'
    put 'Customers','1002','Contact:Phone','777-777-7777'
    put 'Customers','1002','Contact:Address','717 177th Ave'
    put 'Customers','1002','Contact:City','Bellevue'
    put 'Customers','1002','Contact:State','WA'
    put 'Customers','1002','Contact:ZipCode','98008'
    
  4. Просмотрите содержимое таблицы.

    scan 'Customers'
    

    Screenshot that shows the HDInsight Hadoop HBase shell output.

Создание политик Ranger

Создайте политику Ranger для пользователей sales_user1 и marketing_user1.

  1. Откройте пользовательский интерфейс администратора Ranger. В разделе HBase выберите <ClusterName>_hbase.

    Screenshot that shows the HDInsight Apache Ranger Admin UI.

  2. На экране "Список политик" отображаются все политики Ranger, созданные для этого кластера. Может быть указана одна предварительно настроенная политика. Выберите " Добавить новую политику".

    Screenshot that shows the Apache Ranger HBase policies list.

  3. На экране Create Policy (Создание политики) введите следующие значения.

    Параметр Предлагаемое значение
    Имя политики sales_customers_name_contact
    HBase Table (Таблица HBase) Клиенты
    HBase Column-family (Семейство столбцов HBase) Name, Contact
    HBase Column (Столбец HBase) *
    Выбор группы
    Выбор пользователя sales_user1
    Разрешения Чтение

    Имя раздела может содержать следующие подстановочные знаки:

    • * обозначает ноль или более вхождений символов.
    • ? означает один символ.

    Screenshot that shows the Apache Ranger policy Create sales.

    Примечание.

    Подождите несколько минут, чтобы Ranger синхронизировался с идентификатором Microsoft Entra, если пользователь домена не заполняется автоматически для выбора пользователя.

  4. Щелкните Добавить, чтобы сохранить политику.

  5. Щелкните Добавить новую политику, а затем введите следующие значения.

    Параметр Предлагаемое значение
    Имя политики marketing_customers_contact
    HBase Table (Таблица HBase) Клиенты
    HBase Column-family (Семейство столбцов HBase) Контакт
    HBase Column (Столбец HBase) *
    Выбор группы
    Выбор пользователя marketing_user1
    Разрешения Чтение

    Screenshot that shows the Apache Ranger policy Create marketing.

  6. Щелкните Добавить, чтобы сохранить политику.

Тестирование политик Ranger

На основе настроенных политик Ranger sales_user1 может просматривать все данные для столбцов в Name семействах столбцов и Contact столбцов. Marketing_user1 может просматривать данные только в семействе Contact столбцов.

Получение доступа к данным как пользователь sales_user1

  1. Откройте новое подключение SSH к кластеру. Чтобы войти в кластер, выполните следующую команду:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. kinit Используйте команду, чтобы изменить контекст нужного пользователя:

    kinit sales_user1
    
  3. Откройте оболочку HBase и просмотрите таблицу Customers.

    hbase shell
    scan `Customers`
    
  4. Обратите внимание, что пользователь продаж может просматривать все столбцы Customers таблицы. Пользователь может видеть два столбца в Name семействе столбцов и пять столбцов в семействе Contact столбцов.

    ROW                                COLUMN+CELL
     1001                              column=Contact:Address, timestamp=1548894873820, value=313 133rd Place
     1001                              column=Contact:City, timestamp=1548895061523, value=Redmond
     1001                              column=Contact:Phone, timestamp=1548894871759, value=333-333-3333
     1001                              column=Contact:State, timestamp=1548895061613, value=WA
     1001                              column=Contact:ZipCode, timestamp=1548895063111, value=98052
     1001                              column=Name:First, timestamp=1548894871561, value=Alice
     1001                              column=Name:Last, timestamp=1548894871707, value=Johnson
     1002                              column=Contact:Address, timestamp=1548894899174, value=717 177th Ave
     1002                              column=Contact:City, timestamp=1548895103129, value=Bellevue
     1002                              column=Contact:Phone, timestamp=1548894897524, value=777-777-7777
     1002                              column=Contact:State, timestamp=1548895103231, value=WA
     1002                              column=Contact:ZipCode, timestamp=1548895104804, value=98008
     1002                              column=Name:First, timestamp=1548894897419, value=Robert
     1002                              column=Name:Last, timestamp=1548894897487, value=Stevens
    2 row(s) in 0.1000 seconds
    

Получение доступа к данным как пользователь marketing_user1

  1. Откройте новое подключение SSH к кластеру. Выполните следующую команду, чтобы войти от имени пользователя marketing_user1.

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. kinit Используйте команду, чтобы изменить контекст требуемого пользователя:

    kinit marketing_user1
    
  3. Откройте оболочку HBase и просмотрите таблицу Customers.

    hbase shell
    scan `Customers`
    
  4. Обратите внимание, что торговый пользователь может просматривать только пять столбцов семейства столбцов Contact.

    ROW                                COLUMN+CELL
     1001                              column=Contact:Address, timestamp=1548894873820, value=313 133rd Place
     1001                              column=Contact:City, timestamp=1548895061523, value=Redmond
     1001                              column=Contact:Phone, timestamp=1548894871759, value=333-333-3333
     1001                              column=Contact:State, timestamp=1548895061613, value=WA
     1001                              column=Contact:ZipCode, timestamp=1548895063111, value=98052
     1002                              column=Contact:Address, timestamp=1548894899174, value=717 177th Ave
     1002                              column=Contact:City, timestamp=1548895103129, value=Bellevue
     1002                              column=Contact:Phone, timestamp=1548894897524, value=777-777-7777
     1002                              column=Contact:State, timestamp=1548895103231, value=WA
     1002                              column=Contact:ZipCode, timestamp=1548895104804, value=98008
    2 row(s) in 0.0730 seconds
    
  5. Просмотрите события доступа к ресурсам аудита из интерфейса Ranger.

    Screenshot that shows the HDInsight Ranger UI Policy Audit.

Очистка ресурсов

Если вы не собираетесь продолжать использовать это приложение, удалите созданный кластер HBase:

  1. Войдите на портал Azure.
  2. В поле поиска в верхней части введите HDInsight.
  3. В разделе "Службы" выберите кластеры HDInsight.
  4. В списке кластеров HDInsight, который отобразится, выберите ... рядом с кластером, созданным при работе с этим учебником.
  5. Выберите "Удалить>да".

Следующие шаги