Conceder permissões em um banco de dados ou tabela compartilhada com sua conta
Depois que um recurso do catálogo de dados pertencente a outra conta da AWS for compartilhado com sua conta da AWS, como administrador do data lake, você poderá conceder permissões sobre o recurso compartilhado a outras entidades principais da sua conta. No entanto, você não pode conceder permissões sobre o recurso a outras contas AWS ou organizações.
Você pode usar o console AWS Lake Formation, a API ou o AWS Command Line Interface (AWS CLI) para conceder as permissões.
Como conceder permissões em um banco de dados compartilhado (método de recurso nomeado, console)
-
Siga as instruções em Conceder permissões de banco de dados usando o método de recurso nomeado. Na lista Banco de dados, em Tags do LF ou recursos do catálogo, certifique-se de selecionar o banco de dados na conta externa, não um link de recurso para o banco de dados.
Se você não encontrar o banco de dados na lista de bancos de dados, certifique-se de ter aceitado o convite de compartilhamento de recursos AWS Resource Access Manager (AWS RAM) para o banco de dados. Para ter mais informações, consulte Aceitar um convite de compartilhamento de recursos do AWS RAM.
Além disso, para obter as permissões
CREATE_TABLE
eALTER
, siga as instruções em Concessão de permissões de localização de dados (mesma conta) e não se esqueça de inserir o ID da conta proprietária no campo Localização da conta registrada.
Como conceder permissões em uma tabela compartilhada (método de recurso nomeado, console)
-
Siga as instruções em Conceder permissões de tabela usando o método de recurso nomeado. Na lista Banco de dados, em Tags do LF ou recursos do catálogo, certifique-se de selecionar o banco de dados na conta externa, não um link de recurso para o banco de dados.
Se você não encontrar tabela na lista de tabelas, certifique-se de ter aceitado o convite de compartilhamento de recursos AWS RAM para a tabela. Para ter mais informações, consulte Aceitar um convite de compartilhamento de recursos do AWS RAM.
Além disso, para obter as permissões
ALTER
, siga as instruções em Concessão de permissões de localização de dados (mesma conta) e não se esqueça de inserir o ID da conta proprietária no campo Localização da conta registrada.
Como conceder permissões em recursos compartilhados (método LF-TBAC, console)
-
Siga as instruções em Conceder permissões do catálogo de dados . Na seção Tags do LF ou recursos do catálogo, conceda a expressão exata da tag do LF que a conta externa concedeu à sua conta ou um subconjunto dessa expressão.
Por exemplo, se uma conta externa concedeu a expressão da tag do LF
module=customers AND environment=production
à sua conta com a opção de concessão, como administrador do data lake, você pode conceder essa mesma expressão,module=customers
ouenvironment=production
a uma entidade principal em sua conta. Você pode conceder somente as mesmas permissões ou um subconjunto das permissões do Lake Formation (por exemplo:SELECT
,ALTER
e assim por diante) que foram concedidas aos recursos por meio da expressão da tag do LF.
Como conceder permissões em uma tabela compartilhada (método de recurso nomeado, AWS CLI)
-
Digite um comando semelhante ao seguinte: Neste exemplo:
-
O ID AWS da sua conta é 1111-2222-3333.
-
A conta que possui a tabela e que a concedeu à sua conta é 1234-5678-9012.
-
A permissão
SELECT
está sendo concedida na tabela compartilhadapageviews
ao usuáriodatalake_user1
. Esse usuário é a entidade principal da sua conta. -
A tabela
pageviews
está no banco de dadosanalytics
, que pertence à conta 1234-5678-9012.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "Table": {"CatalogId":"123456789012", "DatabaseName":"analytics", "Name":"pageviews"}}'
Observe que a conta proprietária deve ser especificada na propriedade
CatalogId
, no argumentoresource
. -