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


Использование управляемого удостоверения для проверки подлинности базы данных SQL в Azure HDInsight

HDInsight добавил опцию Управляемой идентификации (MI) для аутентификации баз данных SQL в своих кластерных предложениях, обеспечивая более безопасный механизм проверки подлинности.

В этой статье описывается процесс использования параметра Управляемого удостоверения для проверки подлинности базы данных SQL при создании кластера HDInsight.

Опция управляемого удостоверения доступна для следующих баз данных:

Databases Хостинг от имени базы данных (HoBo) Создание собственной базы данных (BYO)
Ambari
Hive
Oozie
Ranger (ESP)

Note

Изменение управляемой идентификации доступно в публичных регионах. Для использования в других регионах (федеральные и китайские регионы) обратитесь в службу поддержки .

Important

  • Рекомендуется не обновлять управляемое удостоверение после восстановления кластера, так как это может привести к сбоям в работе кластера.
  • При повторном создании управляемого удостоверения с тем же именем необходимо повторно создать автономное имя пользователя и переназначить роли, так как новое управляемое удостоверение имеет другой идентификатор объекта и идентификатор клиента, даже если имя остается неизменным.

Шаги по использованию управляемой идентификации во время создания кластера на портале Azure

  1. Во время создания кластера перейдите в раздел хранилища и выберите базу данных SQL для Ambari/Hive/Oozie. Выберите управляемое удостоверение в качестве метода проверки подлинности.

    Снимок экрана: базовая вкладка.

  2. Выберите управляемое удостоверение для проверки подлинности в базе данных SQL.

    Снимок экрана: вкладка хранилища.

  3. Создайте автономного пользователя с управляемым удостоверением в соответствующей базе данных SQL.

    Выполните следующие действия в редакторе запросов базы данных SQL Azure, чтобы создать пользователя базы данных и предоставить ему разрешения на чтение и запись. Выполните эти действия для каждой базы данных SQL, которую вы будете использовать для различных служб, таких как Ambari, Hive или Oozie.

    Note

    Имя пользователя должно содержать исходное имя управляемого удостоверения с добавлением суффикса, заданного пользователем. Как рекомендуется, суффикс может включать начальную часть своего идентификатора объекта. Идентификатор объекта управляемого удостоверения можно получить на портале на странице портала управляемых удостоверений.

    Рассмотрим пример.

    • Имя MI: contosoMSI
    • Идентификатор объекта: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    • user_name может быть contosoMSI_aaaaaaaa
    CREATE USER {user_name} FROM EXTERNAL PROVIDER WITH OBJECT_ID={object id of cluster managed identity};   
    
    ALTER ROLE db_datareader ADD MEMBER {user_name};   
    ALTER ROLE db_ddladmin ADD MEMBER {user_name};   
    ALTER ROLE db_datawriter ADD MEMBER {user_name};   
    

    Note

    Если роли db_executor, db_view_defи db_view_state уже определены в базе данных, вам не нужно продолжать работу с последующим шагом.

    CREATE ROLE db_executor;   
    GRANT EXECUTE TO db_executor;   
    ALTER ROLE db_executor ADD MEMBER {user_name};   
    
    CREATE ROLE db_view_def;   
    GRANT VIEW DEFINITION TO db_view_def;   
    ALTER ROLE db_view_def ADD MEMBER {user_name};   
    CREATE ROLE db_view_db_state;  
    
    GRANT VIEW DATABASE STATE TO db_view_db_state;   
    
    ALTER ROLE db_view_def ADD MEMBER {user_name};  
    
  4. После ввода необходимых сведений перейдите к созданию кластера на портале.