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