Compartilhar via


Gerenciar a propriedade do objeto do Catálogo do Unity

Cada objeto protegível no Catálogo do Unity tem um proprietário. O proprietário pode ser qualquer entidade: um usuário, entidade de serviço ou grupo de contas. A entidade de segurança que cria um objeto passa a ser o proprietário inicial dele. 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 remover o objeto.

Privilégios de proprietário

Os proprietários de um objeto recebem automaticamente todos os privilégios nesse objeto e em todos os objetos filho. 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 podem conceder a si mesmos privilégios nas tabelas no esquema.

Observação

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 do Unity.

Metastore e propriedade do catálogo

Os administradores do Metastore são os proprietários do 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, veja Atribuir um administrador do metastore.

Se o seu espaço de trabalho foi habilitado para o Catálogo do Unity automaticamente, o espaço de trabalho será anexado a um metastore por padrão e um catálogo de espaço de trabalho será criado no seu espaço de trabalho no metastore. Os administradores do workspace são os proprietários padrão e podem reatribuir a propriedade do catálogo de workspaces. Nesses espaços de trabalho, não há administrador do metastore atribuído por padrão, mas os administradores de conta podem conceder a função de administrador do metastore, se necessário. Consulte os administradores do Metastore.

Para obter mais informações sobre privilégios de administrador no Catálogo do Unity, consulte Privilégios de administrador no Catálogo do Unity.

Exibir o proprietário de um objeto

Você pode usar o Explorador de Catálogos ou instruções SQL para exibir o proprietário de um objeto.

Permissões necessárias: Qualquer usuário com o privilégio BROWSE no objeto ou um pai do objeto pode exibir o proprietário do objeto.

Explorador do Catálogo

  1. No workspace do Azure Databricks, clique em Ícone do catálogo Catálogo.

  2. Selecione o objeto, como catálogo, esquema, tabela, visualização, volume, local externo ou credencial de armazenamento.

    Como navegar até o objeto depende do objeto. Catálogos, esquemas e o conteúdo dos esquemas (como tabelas e volumes) podem ser selecionados no painel Catálogo à esquerda. Para localizar outros objetos, como locais externos ou compartilhamentos Delta Sharing, clique no ícone de engrenagem ícone de engrenagem acima do painel Catálogo e selecione a categoria do objeto no menu.

    Para a maioria dos objetos, o proprietário será exibido na guia Visão geral da página de detalhes do objeto. Para alguns objetos, como locais externos, ele será exibido na parte superior da página de detalhes do objeto.

SQL

Execute o comando SQL a seguir em um notebook ou editor de consultas SQL. Substitua os valores de espaço reservado:

  • <securable-type>: o tipo de protegível, como CATALOG ou TABLE.
  • <catalog>: O catálogo pai se você estiver visualizando 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 Explorador de Catálogos 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 do metastore ou o proprietário do contêiner (o catálogo de um esquema, o esquema de uma tabela). Os objetos de compartilhamento do Delta Sharing são uma exceção: as entidades de segurança com os privilégios USE SHARE e SET SHARE PERMISSION também podem transferir a propriedade do compartilhamento.

Observação

Para evitar escalonamentos de privilégios, somente 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 atuais estão restritos a transferir a propriedade para seu nome de usuário ou para um grupo do qual são membros.

Explorador do Catálogo

  1. No workspace 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 até o objeto depende do objeto. Catálogos, esquemas e o conteúdo dos esquemas (como tabelas e volumes) podem ser selecionados no painel Catálogo à esquerda. Para localizar outros objetos, como locais externos ou compartilhamentos Delta Sharing, clique no ícone de engrenagem ícone de engrenagem acima do painel Catálogo e selecione a categoria do objeto no menu.

    Para a maioria dos objetos, o proprietário será exibido na guia Visão geral da página de detalhes do objeto. Para alguns objetos, como locais externos, ele será exibido na parte superior da página de detalhes do objeto.

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

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

  5. Clique em Save (Salvar).

SQL

Execute o comando SQL a seguir em um notebook 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 tem suporte como um objeto protegível neste comando.
  • <securable-name>: o nome do protegível. Se estiver modificando um esquema ou o conteúdo de um esquema, será necessário usar o namespace completo de três níveis (catalog.schema.object), a menos que já tenha especificado o catálogo e/ou esquema pai.
  • <principal> é um usuário, uma entidade de serviço (representada pelo seu valor applicationId) ou um grupo. Você precisa incluir usuários, entidades de serviço e nomes de grupos com caracteres especiais entre acentos graves (` `). Consulte Entidade de segurança.
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`;