Gerenciar a propriedade do objeto Unity Catalog
Cada objeto protegível no Unity Catalog tem um proprietário. O proprietário pode ser qualquer entidade de segurança: um usuário, entidade de serviço ou grupo de contas. A entidade que cria um objeto torna-se seu proprietário inicial. O proprietário de um objeto tem todos os privilégios no objeto, como SELECT
e MODIFY
em uma tabela, além da permissão para conceder privilégios a outras entidades de segurança. O proprietário de um objeto tem a capacidade de soltá-lo.
Privilégios de proprietário
Os proprietários de um objeto recebem automaticamente todos os privilégios nesse objeto. Além disso, os proprietários de objetos podem conceder privilégios no próprio objeto e em todos os seus objetos filho. Isso significa que os proprietários de um esquema não têm automaticamente todos os privilégios nas tabelas no esquema, mas eles podem conceder a si mesmos privilégios nas tabelas no esquema.
Nota
Há uma exceção à regra de que os proprietários têm todos os privilégios em um objeto: para evitar a exfiltração acidental de dados, os proprietários do esquema não têm o EXTERNAL USE SCHEMA
privilégio por padrão. Consulte Controlar o acesso externo aos dados no Catálogo Unity.
Propriedade de metastore e catálogo
Os administradores da Metastore são os proprietários da metastore. A função de administrador do metastore é opcional. Os administradores do metastore podem reatribuir a propriedade do metastore transferindo a função de administrador do metastore, consulte Atribuir um administrador do metastore.
Se seu espaço de trabalho foi habilitado para o Unity Catalog automaticamente, o espaço de trabalho é anexado a um metastore por padrão e um catálogo de espaço de trabalho é criado para seu espaço de trabalho no metastore. Os administradores do espaço de trabalho são os proprietários padrão e podem reatribuir a propriedade do catálogo do espaço de trabalho. Nesses espaços de trabalho, não há administrador de metastore atribuído por padrão, mas os administradores de conta podem conceder a função de administrador de metastore, se necessário. Consulte Administradores da Metastore.
Para obter mais informações sobre privilégios de administrador no Catálogo Unity, consulte Privilégios de administrador no Catálogo Unity.
Exibir o proprietário de um objeto
Você pode usar o Catalog Explorer ou instruções SQL para exibir o proprietário de um objeto.
Permissões necessárias: Qualquer usuário com o BROWSE
privilégio no objeto ou um pai do objeto pode exibir o proprietário do objeto.
Explorador de Catálogos
No seu espaço de trabalho do Azure Databricks, clique em Catálogo.
Selecione o objeto, como um catálogo, esquema, tabela, exibição, volume, local externo ou credencial de armazenamento.
Como navegar para o objeto depende do objeto. Catálogos, esquemas e o conteúdo de esquemas (como tabelas e volumes) podem ser selecionados no painel esquerdo Catálogo . Você pode encontrar outros objetos, como locais externos ou compartilhamentos de Compartilhamento Delta, clicando no ícone de engrenagem acima do painel Catálogo e selecionando a categoria de objeto no menu.
Para a maioria dos objetos, o proprietário é exibido na guia Visão geral na página de detalhes do objeto. Para alguns objetos, como locais externos, ele é exibido na parte superior da página de detalhes do objeto.
SQL
Execute o seguinte comando SQL em um bloco de anotações ou editor de consultas SQL. Substitua os valores de espaço reservado:
<securable-type>
: O tipo de valores mobiliários, comoCATALOG
ouTABLE
.<catalog>
: O catálogo pai se você estiver exibindo um esquema ou o conteúdo de um esquema.<schema>
: O esquema pai se você estiver exibindo o conteúdo de um esquema, como uma tabela ou exibição.<securable-name>
: O nome do objeto protegível.
DESCRIBE <securable-type> EXTENDED <catalog>.<schema>.<securable-name>;
Transferir propriedade
Você pode usar o Catalog Explorer ou instruções SQL para exibir o proprietário de um objeto.
Permissões necessárias: você pode transferir a propriedade do objeto se for o proprietário atual, um administrador de metastore ou o proprietário do contêiner (o catálogo de um esquema, o esquema de uma tabela). Os objetos de compartilhamento Delta Sharing são uma exceção: entidades com privilégios e SET SHARE PERMISSION
também podem transferir a USE SHARE
propriedade do compartilhamento.
Nota
Para evitar escalonamentos de privilégios, apenas um administrador da metstore pode transferir a propriedade de uma exibição, função ou modelo para qualquer usuário, entidade de serviço ou grupo na conta. Os proprietários atuais estão restritos a transferir a propriedade para seu nome de usuário ou para um grupo do qual são membros.
Explorador de Catálogos
No seu espaço de trabalho do Azure Databricks, clique em Catálogo.
Selecione o objeto, como um catálogo, esquema, tabela, exibição, local externo ou credencial de armazenamento.
Como navegar para o objeto depende do objeto. Catálogos, esquemas e o conteúdo de esquemas (como tabelas e volumes) podem ser selecionados no painel esquerdo Catálogo . Você pode encontrar outros objetos, como locais externos ou compartilhamentos de Compartilhamento Delta, clicando no ícone de engrenagem acima do painel Catálogo e selecionando a categoria de objeto no menu.
Para a maioria dos objetos, o proprietário é exibido na guia Visão geral na página de detalhes do objeto. Para alguns objetos, como locais externos, ele é exibido na parte superior da página de detalhes do objeto.
Clique no ícone de edição ao lado do Proprietário.
Pesquise e selecione um grupo, usuário ou entidade de serviço.
Clique em Guardar.
SQL
Execute o seguinte comando SQL em um bloco de anotações ou editor de consultas SQL. Substitua os valores de espaço reservado:
<securable-type>
: O tipo de objeto protegível, comoCATALOG
ouTABLE
.METASTORE
não é suportado como um objeto protegível neste comando.<securable-name>
: O nome do securable. Se você estiver modificando um esquema ou o conteúdo de um esquema, deverá usar o namespace completo de três níveis (catalog.schema.object
), a menos que já tenha especificado o catálogo pai e/ou o esquema.<principal>
é um utilizador, principal de serviço (representado pelo respetivo valor applicationId) ou grupo. Você deve incluir usuários, entidades de serviço e nomes de grupo que incluam caracteres especiais em backticks (` `
). Ver Principal.
ALTER <securable-type> <securable-name> OWNER TO <principal>;
Por exemplo, para transferir a orders
propriedade da tabela para o accounting
grupo:
ALTER TABLE mycatalog.myschema.orders OWNER TO `accounting`;