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 MSI (Identidade Gerenciada) para autenticação do Banco de Dados SQL ao criar um cluster HDInsight.
A opção MI (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 MI (Identidade Gerenciada) está atualmente disponível apenas em regiões públicas.
- A opção MI não está habilitada por padrão. Para habilitá-lo, envie um tíquete de suporte com os detalhes da assinatura e da região.
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.
- Quando você recria uma MSI com o mesmo nome, os usuários devem recriar o usuário independente e reatribuir funções, pois a nova 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
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.
Selecione a Identidade Gerenciada para autenticar com o Banco de Dados SQL.
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-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.
Observação
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. A ID do objeto da identidade gerenciada pode ser obtida do portal na página do portal de identidade gerenciada.
Por exemplo:
- Nome da 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};
Observação
Se as funções
db_executor
,db_view_def
edb_view_state
já estiverem definidas em 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};
Depois de inserir os detalhes necessários, prossiga com a criação do cluster no portal.