Compartilhar via


Usar a identidade gerenciada para autenticação de banco de dados SQL no Azure HDInsight

O HDInsight adicionou a opção MI (Identidade Gerenciada) para autenticar bancos de dados SQL em suas ofertas de cluster e fornecer um mecanismo de autenticação mais seguro.

Este artigo descreve o processo de uso da opção identidade gerenciada para autenticação de banco de dados SQL ao criar um cluster HDInsight.

A opção de identidade gerenciada está disponível para os seguintes bancos de dados:

Bancos de dados Host em nome do BD (HoBo) BD traga seu próprio (BYO)
Ambari
Hive
Oozie
Ranger (ESP)

Observação

A alteração de identidade gerenciada está disponível em regiões públicas. Para uso em outras regiões (regiões federal e da China), entre em contato com o suporte para obter assistência.

Importante

  • É recomendável não atualizar a identidade gerenciada após a recriação do cluster, pois ela pode interromper a operação do cluster.
  • Ao recriar uma identidade gerenciada com o mesmo nome, você deve recriar o usuário contido e reatribuir funções, pois a nova identidade gerenciada tem ID de objeto e ID do cliente diferentes, mesmo que o nome permaneça inalterado.

Etapas para usar a identidade gerenciada durante a criação do cluster no portal do Azure

  1. Durante a criação do cluster, navegue até a seção Armazenamento e selecione o banco de dados SQL para Ambari/Hive/Oozie. Escolha a identidade gerenciada como o método de autenticação.

    Captura de tela mostrando a guia básica.

  2. Selecione a identidade gerenciada para autenticar com o banco de dados SQL.

    Captura de tela que mostra a guia Armazenamento.

  3. Crie um usuário independente com a identidade gerenciada no banco de dados SQL correspondente.

    Siga estas etapas no editor de consultas do Banco de Dados SQL do Azure para criar um usuário de banco de dados e conceder a ele permissões de leitura/gravação. Siga estas etapas para cada Banco de Dados SQL que você usará para diferentes serviços, como Ambari, Hive ou Oozie.

    Observação

    O nome de usuário deve conter o nome de identidade gerenciada original estendido por um sufixo definido pelo usuário. Como prática recomendada, o sufixo pode incluir uma parte inicial da ID do objeto. A ID do objeto da identidade gerenciada pode ser obtida do portal na página do portal de identidade gerenciada.

    Por exemplo:

    • Nome da MI: contosoMSI
    • ID do objeto: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    • user_name pode ser 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};   
    

    Observação

    Se as funções db_executor, db_view_def e db_view_state já estiverem definidas no seu banco de dados, não haverá necessidade de prosseguir com a etapa subsequente.

    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. Depois de inserir os detalhes necessários, prossiga com a criação do cluster no portal.