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
num table, além da permissão para grant privilégios a outros principais. 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 grant privilégios no próprio objeto e em todos os seus objetos subordinados. Isso significa que os proprietários de uma schema não têm automaticamente todos os privilégios na tables no schema, mas podem grant-se privilégios na tables no schema.
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, schema proprietários não têm o privilégio EXTERNAL USE SCHEMA
por padrão. Consulte Habilitar o acesso a dados externos ao Unity Catalog.
Metastore e propriedade de catalog
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 o seu espaço de trabalho foi ativado para o Unity Catalog automaticamente, o espaço de trabalho é anexado a um metastore por padrão e um espaço de trabalho catalog é criado para o 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 espaço de trabalho catalog. Nesses espaços de trabalho, não há administrador de metastore atribuído por padrão, mas os administradores de conta podem grant 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. Assim como fazem com outros privilégios, os utilizadores necessitam de USE CATALOG
no pai do objeto catalog e de USE SCHEMA
no pai do objeto schema. Por exemplo, para grant permissões num table, os utilizadores devem ter o privilégio de MANAGE
nesse table e os privilégios de USE CATALOG
no seu catalogpai, juntamente com os privilégios de USE SCHEMA
no seu schemapai.
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 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.
Catalog Explorer
No seu espaço de trabalho do Azure Databricks, clique Catalog.
Select o objeto, como um catalog, schema, table, exibição, volume, local externo ou credencial de armazenamento.
Como navegar para o objeto depende do objeto. Catalogs, esquemas e o conteúdo de esquemas (como tables e volumes) podem ser selecionados no painel Catalog esquerdo. Você pode encontrar outros objetos, como locais externos ou sharesde compartilhamento delta, clicando no ícone de engrenagem ícone de engrenagem acima do painel Catalog 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 o espaço reservado values:
-
<securable-type>
: O tipo de valores mobiliários, comoCATALOG
ouTABLE
. -
<catalog>
: O pai catalog se você estiver visualizando um schema ou o conteúdo de um schema. -
<schema>
: O pai schema caso estejas a visualizar o conteúdo de um schema, como um table ou visor. -
<securable-name>
: O nome do objeto protegível.
DESCRIBE <securable-type> EXTENDED <catalog>.<schema>.<securable-name>;
Transferir propriedade
Você pode usar 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 catalog de um schema, o schema de um table) 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.
Catalog Explorador
No seu espaço de trabalho do Azure Databricks, clique Catalog.
Select o objeto, como catalog, schema, table, visualização, local externo ou credencial de armazenamento.
Como navegar para o objeto depende do objeto. Catalogs, esquemas e o conteúdo de esquemas (como tables e volumes) podem ser selecionados no painel Catalog esquerdo. Você pode encontrar outros objetos, como locais externos ou sharesde compartilhamento delta, clicando no ícone de engrenagem ícone de engrenagem acima do painel Catalog 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 select 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 o marcador values:
-
<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 schema ou o conteúdo de um schema, deverá usar o namespace completo de três níveis (catalog.schema.object
), a menos que já tenha especificado o catalog pai e/ou schema. -
<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 do orders
table para o grupo accounting
:
ALTER TABLE mycatalog.myschema.orders OWNER TO `accounting`;