Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Adicione tabelas do Unity Catalog como recursos Databricks Apps para que a sua aplicação possa consultar e modificar os dados armazenados no Unity Catalog com governação e controlo de acessos. As tabelas Unity Catalog fornecem armazenamento estruturado de dados com permissões detalhadas, para que a sua aplicação possa ler e escrever dados de forma segura sem necessidade de codificar credenciais.
Requisitos de privilégio
Para aceder a uma tabela do Catálogo Unity, o principal de serviço da aplicação deve ter o privilégio USE CATALOG no catálogo pai, o privilégio USE SCHEMA no esquema pai e o privilégio SELECT ou MODIFY na tabela. Quando adiciona o recurso da tabela, o Azure Databricks concede automaticamente estes privilégios ao principal de serviço da aplicação.
Para que essa concessão automática seja bem-sucedida, uma das seguintes opções deve ser verdadeira para cada privilégio:
-
Para
USE CATALOG: Todos os usuários da conta têm oUSE CATALOGprivilégio no catálogo ou você tem oMANAGEprivilégio no catálogo. -
Para
USE SCHEMA: Todos os usuários da conta têm oUSE SCHEMAprivilégio no esquema ou você tem oMANAGEprivilégio no esquema. -
Para
SELECTouMODIFY: Ou todos os utilizadores da conta têm o privilégioSELECTouMODIFYna tabela, ou você tem o privilégioMANAGEna tabela.
Consulte privilégios do Catálogo Unity e objetos securitizáveis.
Adicionar um recurso de tabela do Unity Catalog
Antes de adicionar uma tabela como recurso, revê os pré-requisitos de recursos da aplicação.
- Quando criar ou editar uma aplicação, navegue até ao passo Configurar .
- Na secção de recursos da App , clique em + Adicionar recurso.
- Selecione a tabela UC como tipo de recurso.
- Escolha uma tabela do Unity Catalog entre as tabelas disponíveis no seu espaço de trabalho. A tabela já deve existir no Unity Catalog.
- Selecione o nível de permissão apropriado para seu aplicativo:
- Selecionar: Concede à aplicação permissão para consultar e ler dados da tabela. Isto é adequado para aplicações que só precisam de ler dados.
-
Modificar: Concede à aplicação permissão para inserir, atualizar e eliminar dados na tabela. Esta permissão inclui
SELECTimplicitamente , pelo que a aplicação também pode ler dados.
- (Opcional) Especifica uma chave de recurso personalizada, que é como referencias a tabela na configuração da tua aplicação. A chave padrão é
table.
Observação
MODIFY não está disponível para todos os tipos de tabelas. Por exemplo, as visualizações não suportam o MODIFY privilégio. Se a tabela não suportar MODIFY, apenas SELECT está disponível.
Variáveis de ambiente
Quando implementas uma aplicação com um recurso de tabela do Unity Catalog, o Azure Databricks expõe o nome completo da tabela em três níveis através de variáveis de ambiente que podes referenciar usando o valueFrom campo.
Exemplo de configuração:
env:
- name: UC_TABLE_NAME
valueFrom: table # Use your custom resource key if different
Usando a tabela na sua candidatura:
import os
from databricks.sdk import WorkspaceClient
# Access the table name
table_name = os.getenv("UC_TABLE_NAME")
# Initialize workspace client
w = WorkspaceClient()
# Query the table using a SQL warehouse resource
result = w.statement_execution.execute_statement(
warehouse_id=os.getenv("DATABRICKS_WAREHOUSE_ID"), # Requires a SQL warehouse resource
statement=f"SELECT * FROM {table_name} LIMIT 10"
)
Para obter mais informações, consulte Usar variáveis de ambiente para acessar recursos.
Remover um recurso de tabela do Unity Catalog
Quando remove um recurso da tabela do Unity Catalog de uma app, o principal de serviço da app perde as permissões SELECT, MODIFY, e ALL PRIVILEGES na tabela. O Azure Databricks também tenta revogar permissões hierárquicas de catálogo e esquema. A tabela em si mantém-se inalterada e continua disponível para outros utilizadores e aplicações que tenham permissões adequadas.
Melhores práticas
Considere o seguinte ao trabalhar com recursos de tabelas do Unity Catalog:
- Conceda permissões mínimas. Use,
SELECTa menos que a sua aplicação precise de escrever dados na tabela. - Combine recursos de tabela com um recurso SQL warehouse quando a sua aplicação precisar de executar consultas SQL contra a tabela.
- Use recursos de tabela separados para diferentes tabelas em vez de conceder acesso amplo ao nível do esquema, para que possa aplicar o princípio do privilégio mínimo.
- Considere usar volumes do Unity Catalog para dados não estruturados e tabelas do Unity Catalog para dados estruturados.