As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Controle de acesso baseado em tags do Lake Formation
O controle de acesso baseado em tags do Lake Formation (LF-TBAC) é uma estratégia de autorização que define permissões com base em atributos. Em Lake Formation, esses atributos são chamados LF-Tags. Você pode LF-Tags se conectar aos recursos do Catálogo de Dados e conceder permissões aos diretores do Lake Formation sobre esses recursos usando esses LF-Tags recursos. O Lake Formation permite operações nesses recursos quando a entidade principal possui acesso concedido a um valor de tag correspondente ao valor da tag do recurso.
LF-TBAC é útil em ambientes que estão crescendo rapidamente e ajuda em situações em que o gerenciamento de políticas se torna complicado.
LF-TBAC é o método recomendado para conceder permissões ao Lake Formation quando há um grande número de objetos do Catálogo de Dados, incluindo catálogos federados, bancos de dados, tabelas e visualizações. O Lake Formation oferece suporte ao controle de acesso baseado em tags para catálogos federados de tabelas, Amazon Redshift data warehouses e fontes de dados federadas do Amazon S3, como Amazon DynamoDB SQL Server e Snowflake.
nota
As tags IAM não são iguais LF-Tags a. Essas etiquetas não são intercambiáveis. LF-Tagssão usadas para conceder permissões do Lake Formation e as tags do IAM são usadas para definir políticas do IAM.
Como funciona o controle de acesso baseado em tags do Lake Formation
Cada um LF-Tag é um par de valores-chave, como department=sales ou. classification=restricted Uma chave pode ter vários valores definidos, como department=sales,marketing,engineering,finance.
Para usar o LF-TBAC método, os administradores e engenheiros de dados do data lake realizam as seguintes tarefas.
| Tarefa | Detalhes da tarefa |
|---|---|
|
1. Defina as propriedades e os relacionamentos de LF-Tags. |
- |
|
2. Crie os LF-Tag criadores em Lake Formation. |
Adicionando LF-Tag criadores |
|
3. Crie o LF-Tag em Lake Formation. |
Criando LF-Tags |
|
4. Atribua LF-Tags aos recursos do Catálogo de Dados. |
Atribuição LF-Tags aos recursos do Catálogo de Dados |
|
5. Conceda permissões a outros diretores para LF-Tags atribuir recursos, opcionalmente com a opção de concessão. |
Gerenciando permissões de LF-Tag valor |
|
6. Conceda LF-Tag expressões aos diretores, opcionalmente com a opção de concessão. |
Concedendo permissões de data lake usando o método LF-TBAC |
|
7. (Recomendado) Depois de verificar se os diretores têm acesso aos recursos corretos por meio do LF-TBAC método, revogue as permissões concedidas usando o método de recurso nomeado. |
- |
Considere o caso em que você deve conceder permissões a três entidade principais em três bancos de dados e sete tabelas.
Para obter as permissões indicadas no diagrama anterior usando o método de recurso nomeado, você precisaria fazer 17 concessões, da seguinte forma (em pseudocódigo).
GRANT CREATE_TABLE ON Database A TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.1 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table B.2 TO PRINCIPAL 1 ... GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 2 GRANT CREATE_TABLE ON Database B TO PRINCIPAL 2 ... GRANT SELECT, INSERT ON Table C.3 TO PRINCIPAL 3
Agora, considere como você concederia permissões usando LF-TBAC o. O diagrama a seguir indica que você atribuiu LF-Tags a bancos de dados e tabelas e concedeu permissões LF-Tags aos principais.
Neste exemplo, LF-Tags representam áreas do data lake que contêm análises para diferentes módulos de um pacote de aplicativos de planejamento de recursos corporativos (ERP). Você pode usá-las para controlar o acesso aos dados de analytics dos vários módulos. Todos LF-Tags têm a chave module e os valores possíveis SalesOrders, Customers e. Um exemplo LF-Tag se parece com isso:
module=Sales
O diagrama mostra somente os LF-Tag valores.
Atribuições de tags aos recursos e herança do catálogo de dados
As tabelas herdam LF-Tags dos bancos de dados e as colunas herdam LF-Tags das tabelas. Os valores herdados podem ser substituídos. No diagrama anterior, os esmaecidos são LF-Tags herdados.
Por causa da herança, o administrador do data lake precisa fazer somente as cinco LF-Tag atribuições a seguir aos recursos (em pseudocódigo).
ASSIGN TAGS module=Sales TO database A ASSIGN TAGS module=Orders TO table A.2 ASSIGN TAGS module=Orders TO database B ASSIGN TAGS module=Customers TO table B.2 ASSIGN TAGS module=Customers TO database C
Concessões de tags a entidade principais
Depois de atribuir LF-Tags aos bancos de dados e tabelas, o administrador do data lake deve fazer apenas quatro concessões LF-Tags aos diretores, da seguinte forma (em pseudocódigo).
GRANT TAGS module=Sales TO Principal 1 GRANT TAGS module=Customers TO Principal 1 GRANT TAGS module=Orders TO Principal 2 GRANT TAGS module=Customers TO Principal 3
Agora, um diretor com o module=Sales LF-Tag pode acessar os recursos do Catálogo de Dados com o module=Sales LF-Tag (por exemplo, banco de dados A), um diretor com o module=Customers LF-Tag pode acessar recursos com o module=Customers LF-Tag e assim por diante.
Os comandos de concessão anteriores estão incompletos. Isso ocorre porque, embora indiquem, por meio LF-Tags dos recursos do Catálogo de Dados, que os diretores têm permissões, eles não indicam exatamente quais permissões do Lake Formation (por exemploSELECT,ALTER) os diretores têm sobre esses recursos. Portanto, os comandos de pseudocódigo a seguir são uma representação mais precisa de como as permissões do Lake Formation são concedidas nos recursos do Catálogo de Dados por meio de. LF-Tags
GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Sales TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Sales TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Orders TO Principal 2 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Orders TO Principal 2 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 3 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 3
Reunir tudo: permissões resultantes em recursos
Considerando a LF-Tags atribuição aos bancos de dados e tabelas no diagrama anterior e a LF-Tags concedida aos diretores no diagrama, a tabela a seguir lista as permissões do Lake Formation que os diretores têm nos bancos de dados e tabelas.
| Entidade principal | Permissões concedidas por meio de LF-Tags |
|---|---|
| Entidade principal 1 |
|
| Entidade principal 2 |
|
| Entidade principal 3 |
|
Conclusão
Neste exemplo simples, usando cinco operações de atribuição e oito operações de concessão, o administrador do data lake conseguiu especificar 17 permissões. Quando há dezenas de bancos de dados e centenas de tabelas, a vantagem do LF-TBAC método sobre o método de recurso nomeado fica clara. No caso hipotético da necessidade de conceder a todos os principais acesso a todos os recursos, e onde n(P) é o número de entidades principais e n(R) o número de recursos:
-
Com o método de recurso nomeado, o número de concessões necessárias é
n(P)✕n(R). -
Com o LF-TBAC método, usando um único LF-Tag, o total do número de doações para diretores e atribuições para recursos é
n(P)+.n(R)