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.

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

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogo Catálogo.

  2. 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 í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, como CATALOG ou TABLE.
  • <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.

Explorador de Catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogo Catálogo.

  2. 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 í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.

  3. Clique no Ícone Editar ícone de edição ao lado do Proprietário.

  4. Pesquise e selecione um grupo, usuário ou entidade de serviço.

  5. 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, como CATALOG ou TABLE. 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`;