gerencia a propriedade do objeto Unity Catalog

Cada objeto protegível no Unity Catalog tem um proprietário. O proprietário pode ser qualquer usuário, entidade de serviço ou grupo account , conhecido como entidade de segurança. O principal 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 outros principais. O proprietário de um objeto tem a capacidade de descartar o objeto.

Privilégios do proprietário

Os proprietários de um objeto recebem automaticamente todos os privilégios desse objeto. Além disso, os proprietários do objeto podem conceder privilégios ao próprio objeto e a todos os seus objetos filhos. Isso significa que os proprietários de um esquema não têm automaticamente todos os privilégios nas tabelas do esquema, mas podem conceder a si mesmos privilégios nas tabelas do esquema.

Propriedade de metastore e catálogo

Os administradores do metastore são os proprietários do metastore. 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 workspace tiver sido ativado automaticamente para Unity Catalog , o workspace será anexado a um metastore por default e um catálogo workspace será criado para o seu workspace no metastore. Os administradores do workspace são os proprietários default e podem reatribuir a propriedade do catálogo do workspace. Não há nenhum administrador do metastore atribuído por default, mas os administradores account ainda podem conceder permissões de administrador do metastore, se necessário. Consulte 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.

Ver o proprietário de um objeto

Para ver o proprietário de um objeto protegível, use a seguinte sintaxe. Substitua os valores de espaço reservado:

  • <SECURABLE-TYPE>: o tipo de protegível, como CATALOG ou TABLE.

  • <catalog>: O catálogo pai de uma tabela ou view.

  • <schema>: O esquema pai de uma tabela ou view.

  • <securable-name>: O nome do protegível, como uma tabela ou view.

DESCRIBE <SECURABLE-TYPE> EXTENDED <catalog>.<schema>.<securable-name>;
display(spark.sql("DESCRIBE <SECURABLE-TYPE> EXTENDED <catalog>.<schema>.<securable-name>"))
library(SparkR)

display(sql("DESCRIBE <SECURABLE-TYPE> EXTENDED <catalog>.<schema>.<securable-name>"))
display(spark.sql("DESCRIBE <SECURABLE-TYPE> EXTENDED <catalog>.<schema>.<securable-name>"))

Transferir propriedade

A propriedade do objeto pode ser transferida para outros principais pelo 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 Delta Sharing são uma exceção: os principais com USE SHARE e SET SHARE PERMISSION também podem transferir a propriedade do compartilhamento.

Para transferir a propriedade de um objeto, use um comando SQL com a seguinte sintaxe. 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 protegível.

  • <PRINCIPAL>: o endereço email de um usuário no nível accountou o nome de um grupo no nível account .

ALTER <SECURABLE-TYPE> <SECURABLE-NAME> OWNER TO <PRINCIPAL>;
spark.sql("ALTER <SECURABLE-TYPE> <SECURABLE-NAME> OWNER TO <PRINCIPAL>")
library(SparkR)

sql("ALTER <SECURABLE-TYPE> <SECURABLE-NAME> OWNER TO <PRINCIPAL>")
spark.sql("ALTER <SECURABLE-TYPE> <SECURABLE-NAME> OWNER TO <PRINCIPAL>")

Por exemplo, para transferir a propriedade de uma tabela para o grupo accounting :

ALTER TABLE orders OWNER TO `accounting`;
spark.sql("ALTER TABLE orders OWNER TO `accounting`")
library(SparkR)

sql("ALTER TABLE orders OWNER TO `accounting`")
spark.sql("ALTER TABLE orders OWNER TO `accounting`")