Conectar-se ao Azure Data Lake Storage
Somente a conta SAP Databricks instalada no Azure pode se conectar ao Azure Data Lake Storage (ADLS).
Se o seu armazenamento ADLS estiver protegido por firewall, entre em contato com a equipe da sua account Databricks para obter suporte sobre como permitir Databricks nesses firewalls.
Este artigo descreve como criar uma credencial de armazenamento e um local externo para se conectar ao Azure Data Lake Storage (ADLS).
Uma credencial de armazenamento contém uma credencial cloud de longo prazo que fornece acesso ao armazenamento cloud . Você faz referência às credenciais de armazenamento, juntamente com o caminho de armazenamento cloud , ao criar locais externos no Unity Catalog para controlar o acesso ao armazenamento externo.
Requisitos
- No SAP Databricks, você deve ter o privilégio
CREATE STORAGE CREDENTIAL
no metastore do Unity Catalog anexado ao workspace. administradores de conta e administradores de metastore têm esse privilégio por default. - No seu tenant Azure :
- Você deve ter acesso a um contêiner de armazenamento Azure Data Lake Storage. Para evitar cobranças de saída, isso deve estar na mesma região do workspace do qual você deseja acessar os dados. A account de armazenamento deve ter um namespace hierárquico.
- Colaborador ou proprietário de um grupo de recursos Azure .
- Proprietário ou um usuário com a função de Administrador de Acesso de Usuário Azure RBAC na account de armazenamento.
Crie uma credencial de armazenamento que acesse Azure Data Lake Storage
Você usará uma entidade de serviço para autorizar o acesso à sua account de armazenamento. Primeiro, você criará uma entidade de serviço, depois atribuirá permissão à account de armazenamento e, por fim, criará a credencial de armazenamento.
Criar uma entidade de serviço
registrar um aplicativo Microsoft Entra ID e atribuir as permissões apropriadas criará uma entidade de serviço que pode acessar o recurso Azure data lake Storage ou Blob Storage.
Para registrar um aplicativo Microsoft Entra ID, você deve ter a função Application Administrator
ou a permissão Application.ReadWrite.All
no Microsoft Entra ID.
- No portal do Azure, acesse o serviço Microsoft Entra ID .
- Em gerenciar , clique em Registros de aplicativos .
- Clique em + Novo registro . Digite um nome para o aplicativo e clique em registrar .
- Clique em Certificados e segredos .
- Clique em + Novo segredo do cliente .
- Adicione uma descrição para o segredo e clique em Adicionar .
- Copie e salve o valor do novo segredo.
- Na visão geral do registro do aplicativo, copie e salve o ID do aplicativo (cliente) e o ID do diretório (tenant) .
Atribuir permissão à accountde armazenamento
Você controla o acesso ao recurso de armazenamento atribuindo o aplicativo Microsoft Entra ID à account de armazenamento. Para atribuir funções em uma account de armazenamento, você deve ter a função Proprietário ou Administrador de Acesso de Usuário Azure RBAC na account de armazenamento.
- No portal Azure , acesse o serviço de conta de armazenamento .
- Selecione uma account de armazenamento Azure para usar com este registro de aplicativo.
- Clique em Controle de acesso (IAM) .
- Clique em + Adicionar e selecione Adicionar atribuição de função no menu dropdown .
- Defina o campo Selecionar como o nome do aplicativo Microsoft Entra ID e defina a Função como Contribuidor de Dados do Blob de Armazenamento .
- Clique em Salvar .
Para habilitar o acesso a eventos de arquivo na account de armazenamento, você deve ter a função de Proprietário ou Administrador de Acesso de Usuário Azure RBAC no grupo de recursos Azure em que sua account de armazenamento Azure Data Lake está.
- Siga os passos acima, mas adicione as funções adicionais de Storage Queue Data Contributor e Storage account Contributor .
- Navegue até o grupo de recursos Azure em que sua account de armazenamento Azure Data Lake está.
- Vá para Controle de Acesso (IAM) , clique em + Adicionar e selecione Adicionar atribuição de função .
- Selecione a função EventGrid EventSubscription Contributor e clique em Avançar .
- Em Atribuir acesso a , selecione entidade de serviço .
- Clique em +Selecionar membros , selecione sua entidade de serviço e clique em Revisar e atribuir .
Como alternativa, você pode limitar o acesso concedendo apenas a função de Contribuidor de Dados da Fila de Armazenamento à entidade de serviço e não concedendo nenhuma função ao seu grupo de recursos. Nesse caso, o SAP Databricks não pode configurar eventos de arquivo em seu nome.
Crie a credencial de armazenamento
Para criar uma credencial de armazenamento usando uma entidade de serviço, você deve ser um administrador account do SAP Databricks . O administrador account que cria a credencial de armazenamento da entidade de serviço pode delegar a propriedade a outro usuário ou grupo para gerenciar permissões sobre ela.
Não é possível adicionar uma credencial de armazenamento de entidade de serviço usando o Catalog Explorer. Em vez disso, use a API de credenciais de armazenamento. Por exemplo:
curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
"name": "<storage-credential-name>",
"read_only": true,
"azure_service_principal": {
"directory_id": "<directory-id>",
"application_id": "<application-id>",
"client_secret": "<client-secret>"
},
"skip_validation": "false"
}'
Você também pode criar uma credencial de armazenamento usando o Terraform. Consulte databricks_storage_credential.
Criar um local externo
O local externo é usado para controlar o acesso ao armazenamento externo.
-
faça login em um workspace anexado ao metastore.
-
Na barra lateral, clique em
Catálogo .
-
Na página Acesso rápido , clique no botão Dados externos > , vá para a tab Locais externos e clique em Criar local .
-
Digite um nome de local externo .
-
Selecione o tipo de armazenamento : Azure Data Lake Storage ou R2
-
Em URL , insira ou selecione o caminho para o local externo.
-
Selecione a credencial de armazenamento que concede acesso ao local externo.
-
(Opcional) Se você quiser que os usuários tenham acesso somente leitura ao local externo, clique em Opções avançadas e selecione Somente leitura .
-
(Opcional) Se o local externo for destinado a um catálogo federado Hive metastore , clique em Opções avançadas e ative o modo de fallback .
-
(Opcional) Para habilitar a capacidade de assinar notificações de alterações no local externo, clique em Opções avançadas e selecione Habilitar eventos de arquivo .
-
Clique em Criar .
-
(Opcional) Vincule o local externo ao espaço de trabalho específico.
Por default, qualquer usuário privilegiado pode usar o local externo em qualquer workspace anexado ao metastore. Se você quiser permitir acesso somente de um espaço de trabalho específico, vá até a tab espaço de trabalho e atribua o espaço de trabalho. Consulte Vincular um local externo a um ou mais espaços de trabalho.
-
Vá para a tab Permissões para conceder permissão para usar o local externo.
Para que qualquer pessoa possa usar o local externo, você deve conceder permissões:
- Para usar o local externo para adicionar um local de armazenamento de gerenciamento ao metastore, catálogo ou esquema, conceda o privilégio
CREATE MANAGED LOCATION
. - Para criar tabelas ou volumes externos, conceda
CREATE EXTERNAL TABLE
ouCREATE EXTERNAL VOLUME
.
- Para usar o local externo para adicionar um local de armazenamento de gerenciamento ao metastore, catálogo ou esquema, conceda o privilégio
Vincular um local externo a um ou mais espaços de trabalho
Para atribuir um local externo a um espaço de trabalho específico, você pode usar o Catalog Explorer.
Permissões necessárias : administrador do Metastore, proprietário do local externo ou MANAGE
no local externo.
Os administradores do Metastore podem ver todos os locais externos em um metastore usando o Catalog Explorer — e os proprietários de locais externos podem ver todos os locais externos que possuem em um metastore — independentemente de o local externo estar atribuído ao workspace atual. Locais externos que não estão atribuídos ao workspace aparecem esmaecidos.
-
Efetue login em um workspace vinculado ao metastore.
-
Na barra lateral, clique em
Catálogo .
-
Na página de acesso rápido , clique no botão Dados externos > para ir para a tab Locais externos .
-
Selecione o local externo e vá para a tab espaço de trabalho .
-
Na guia Workspaces , desmarque a caixa de seleção Todos os workspaces têm acesso .
Se o seu local externo já estiver vinculado a um ou mais espaços de trabalho, esta caixa de seleção já estará desmarcada.
-
Clique em Atribuir a workspaces e digite ou localize os workspaces que deseja atribuir.
Para revogar o acesso, vá para a tab Workspaces , selecione o workspace e clique em Revogar . Para permitir o acesso de todos os workspaces, marque a caixa de seleção Todos os workspaces têm acesso .