Partilhar via


Usar a Identidade Gerenciada para autenticação do Banco de Dados SQL no Azure HDInsight

O HDInsight adicionou a opção 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 (MSI) para autenticação do Banco de dados SQL ao criar um cluster HDInsight.

A opção Managed Identity (MI) está disponível para os seguintes bancos de dados:

Bases de Dados Host em nome do (HoBo) DB Traga seu próprio banco de dados (BYO)
Ambari
Ramo de registo
Oozie
Ranger (ESP)

Nota

  • Atualmente, a Identidade Gerenciada (MI) está disponível apenas em regiões públicas.
  • A opção MI não está habilitada por padrão. Para ativá-lo, envie um tíquete de suporte com seus detalhes de assinatura e região.

Importante

  • É recomendável não atualizar a Identidade Gerenciada após a recriação do cluster, pois isso pode interromper a operação do cluster.
  • Quando você recria um MSI com o mesmo nome, os usuários devem recriar o usuário contido e reatribuir funções, pois o novo MSI terá IDs de objeto e 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 Identidade gerenciada como o método de autenticação.

    Captura de ecrã a mostrar o separador básico.

  2. Selecione a Identidade Gerenciada para autenticar com o Banco de Dados SQL.

    Captura de ecrã a mostrar o separador de armazenamento.

  3. Crie um usuário contido 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-lhe permissões de leitura-gravação. Execute estas etapas para cada Banco de Dados SQL que você usará para diferentes serviços, como Ambari, Hive ou Oozie.

    Nota

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

    Por exemplo:

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

    Nota

    Se as funções db_executor, db_view_def, e db_view_state já estiverem definidas em seu banco de dados, não há 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.