Руководство по настройке политик Apache HBase в HDInsight с корпоративным пакетом безопасности
Сведения о настройке политик Apache Ranger для кластеров Apache HBase с Корпоративным пакетом безопасности (ESP). Кластеры ESP подключены к домену, благодаря чему пользователи могут проходить аутентификацию с учетными данными домена. В этом руководстве вы создадите две политики Ranger для ограничения доступа к различным семействам столбцов в таблице HBase.
В этом руководстве описано следующее:
- Создание пользователей домена.
- Создание политик Ranger.
- Создание таблиц в кластере HBase.
- Проверка политик Ranger.
Подготовка к работе
- Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.
- Войдите на портал Azure.
- Создайте кластер HDInsight HBase с корпоративным пакетом безопасности.
Подключение к пользовательскому интерфейсу администратора Apache Ranger
В браузере подключитесь к пользовательскому интерфейсу администратора Ranger с помощью URL-адреса
https://<ClusterName>.azurehdinsight.net/Ranger/
. Не забудьте изменить<ClusterName>
на имя вашего кластера HBase.Примечание.
Учетные данные Ranger не совпадают с учетными данными кластера Hadoop. Чтобы браузеры не использовали кэшированные учетные данные Hadoop, подключитесь к пользовательскому интерфейсу администратора Ranger в новом окне браузера в режиме InPrivate.
Войдите с помощью учетных данных администратора 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
Из SSH выполните следующую команду HBase:
hbase shell
Создайте таблицу
Customers
HBase с двумя семействами столбцов:Name
иContact
.create 'Customers', 'Name', 'Contact' list
Вставьте какие-либо данные:
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'
Просмотрите содержимое таблицы.
scan 'Customers'
Создание политик Ranger
Создайте политику Ranger для пользователей sales_user1 и marketing_user1.
Откройте пользовательский интерфейс администратора Ranger. В разделе HBase выберите <ClusterName>_hbase.
На экране "Список политик" отображаются все политики Ranger, созданные для этого кластера. Может быть указана одна предварительно настроенная политика. Выберите " Добавить новую политику".
Create Policy
На экране введите следующие значения:Параметр Предлагаемое значение Имя политики sales_customers_name_contact HBase Table (Таблица HBase) Клиенты HBase Column-family (Семейство столбцов HBase) Name, Contact HBase Column (Столбец HBase) * Выберите группу Выбор пользователя sales_user1 Разрешения Читать Имя раздела может содержать следующие подстановочные знаки:
*
обозначает ноль или более вхождений символов.?
означает один символ.
Примечание.
Подождите несколько минут, чтобы Ranger синхронизировался с идентификатором Microsoft Entra, если пользователь домена не заполняется автоматически для выбора пользователя.
Щелкните Добавить, чтобы сохранить политику.
Щелкните Добавить новую политику, а затем введите следующие значения.
Параметр Предлагаемое значение Имя политики marketing_customers_contact HBase Table (Таблица HBase) Клиенты HBase Column-family (Семейство столбцов HBase) Контакт HBase Column (Столбец HBase) * Выберите группу Выбор пользователя marketing_user1 Разрешения Читать Щелкните Добавить, чтобы сохранить политику.
Тестирование политик Ranger
На основе настроенных политик Ranger sales_user1 может просматривать все данные для столбцов в Name
семействах столбцов и Contact
столбцов. Marketing_user1 может просматривать данные только в семействе Contact
столбцов.
Получение доступа к данным как пользователь sales_user1
Откройте новое подключение SSH к кластеру. Чтобы войти в кластер, выполните следующую команду:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
kinit
Используйте команду, чтобы изменить контекст нужного пользователя:kinit sales_user1
Откройте оболочку HBase и просмотрите таблицу
Customers
.hbase shell scan `Customers`
Обратите внимание, что пользователь продаж может просматривать все столбцы
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
Откройте новое подключение SSH к кластеру. Выполните следующую команду, чтобы войти от имени пользователя marketing_user1.
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
kinit
Используйте команду, чтобы изменить контекст требуемого пользователя:kinit marketing_user1
Откройте оболочку HBase и просмотрите таблицу
Customers
.hbase shell scan `Customers`
Обратите внимание, что торговый пользователь может просматривать только пять столбцов семейства столбцов
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
Просмотрите события доступа к ресурсам аудита из интерфейса Ranger.
Очистка ресурсов
Если вы не собираетесь продолжать использовать это приложение, удалите созданный кластер HBase:
- Войдите на портал Azure.
- В поле поиска в верхней части введите HDInsight.
- В разделе "Службы" выберите кластеры HDInsight.
- В списке кластеров HDInsight, который отобразится, выберите ... рядом с кластером, созданным при работе с этим учебником.
- Выберите Удалить>Да.