Partilhar via


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 sobre o objeto, como SELECT e MODIFY numa tabela, além da permissão para conceder privilégios a outros utilizadores. 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 objeto em si e em todos os seus subobjetos. 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 privilégio EXTERNAL USE SCHEMA por padrão. Consulte Habilitar o acesso de dados externos ao Unity Catalog.

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 Unity Catalog, consulte privilégios de administrador no Unity Catalog.

Propriedade versus o privilégio MANAGE

MANAGE (Visualização Pública) é um privilégio semelhante à propriedade do objeto. Ele concede a um usuário a capacidade de editar, soltar e gerenciar privilégios no objeto. No entanto, os usuários com o privilégio MANAGE em um objeto não recebem automaticamente todos os privilégios nesse objeto. Como fazem com outros privilégios, os usuários exigem USE CATALOG no catálogo pai do objeto e USE SCHEMA no esquema pai do objeto. Por exemplo, para conceder permissões numa tabela, os utilizadores devem ter o privilégio de MANAGE nessa tabela e privilégios de USE CATALOG no seu catálogo pai, juntamente com privilégios de USE SCHEMA no seu esquema pai.

O proprietário de um objeto só pode ser um único principal, incluindo um grupo, enquanto MANAGE pode ser concedido a vários principais.

Para evitar o escalonamento acidental de privilégios, ALL PRIVILEGES não inclui o privilégio MANAGE

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 no ícone Dados.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 partilhas Delta Sharing, clicando no ícone de engrenagem acima do painel do 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 dos espaços reservados:

  • <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 estiver a visualizar o conteúdo de um esquema, como uma tabela ou uma vista.
  • <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, o proprietário do contêiner (o catálogo de um esquema, o esquema de uma tabela) ou um usuário com o privilégio de MANAGE no objeto. Os objetos de compartilhamento Delta Sharing são uma exceção: entidades com privilégios e USE SHARE também podem transferir a SET SHARE PERMISSION propriedade do compartilhamento.

Nota

Para evitar escalonamentos de privilégios, apenas um administrador de metastore 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 e usuários atuais com o privilégio MANAGE 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

  1. No seu espaço de trabalho do Azure Databricks, clique no ícone Dados.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 partilhas Delta Sharing, clicando no ícone de engrenagem acima do painel do 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 dos espaços reservados:

  • <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 propriedade da tabela orders para o grupo accounting:

ALTER TABLE mycatalog.myschema.orders OWNER TO `accounting`;