O DLF-Auth é um componente do Data Lake Formation (DLF). Ele ative o recurso de permissões de dados do DLF, que oferece controle de acesso granular para bancos de dados, tabelas, colunas e funções. Isso permite o gerenciamento unificado de permissões de dados no seu data lake. Este tópico descreve como ativar as permissões do DLF-Auth.
Informações básicas
O Data Lake Formation (DLF) é um service totalmente gerenciado que ajuda você a construir rapidamente um data lake na cloud. Ele fornece gerenciamento unificado de permissões e metadados para o seu data lake. Para obter mais informações, consulte Product Introduction.
Pré-requisitos
Você possui um cluster E-MapReduce com o service OpenLDAP selecionado. Para obter mais informações, consulte Create a cluster.
Na página Software Configuration, o valor padrão para Metadata é DLF Unified Metadata.
Limites
O gerenciamento de permissões do Data Lake Formation (DLF) tem suporte apenas para usuários do Resource Access Management (RAM). Adicione usuários na página de gerenciamento de usuários no console EMR.
Para informações sobre as regiões com suporte ao recurso de gerenciamento de permissões de dados do Data Lake Formation (DLF), consulte Supported regions and endpoints.
Se você ativar o Hive ou Spark para o DLF-Auth, não poderá ativá-los ou desativá-los para o Ranger, e vice-versa.
-
A tabela a seguir lista as versões do EMR e os mecanismos de computação compatíveis com o DLF-Auth.
Versão principal do EMR
Hive
Spark
Presto
Impala
EMR 3.x
EMR 3.39.0 e anteriores
Sem suporte
Sem suporte
Sem suporte
Sem suporte
EMR-3.40.0
Com suporte
Com suporte
Com suporte
Sem suporte
EMR 3.41.0 a EMR 3.43.1
Com suporte
Com suporte
Sem suporte
Sem suporte
EMR 3.44.0 e posteriores
Com suporte
Com suporte
Com suporte
Com suporte
EMR 5.x
EMR 5.5.0 e anteriores
Sem suporte
Sem suporte
Sem suporte
Sem suporte
EMR 5.6.0
Com suporte
Com suporte
Com suporte
Sem suporte
EMR 5.7.0 a EMR 5.9.1
Com suporte
Com suporte
Sem suporte
Sem suporte
EMR 5.10.0 e posteriores
Com suporte
Com suporte
Com suporte
Com suporte
Procedimento
Siga estas etapas para ativar o DLF-Auth e implementar o gerenciamento unificado e totalmente gerenciado de permissões para o seu data lake.
Etapa 1: Ativar o controle de acesso do Hive
-
Acesse a página DLF-Auth.
Faça login no EMR on ECS.
Na barra de navegação superior, selecione uma região e um grupo de recursos conforme necessário.
Na página EMR on ECS, localize o cluster que deseja gerenciar e clique em Services na coluna Actions.
Na página Services, clique em Status na seção do service DLF-Auth.
-
Ative o controle de acesso do Hive.
Na página do service DLF-Auth, ative a chave enableHive.
Na caixa de diálogo exibida, clique em OK.
-
Reinicie o HiveServer.
Na página Services, clique no service Hive.
Na página do service Hive, localize HiveServer e clique em na coluna Actions.
Na caixa de diálogo exibida, insira um Execution Reason e clique em OK.
Na caixa de diálogo Confirm, clique em OK.
Etapa 2: Adicionar um usuário RAM
Adicione um usuário utilizando o recurso de gerenciamento de usuários.
-
Acesse a página User Management.
Faça login no EMR on ECS.
Na barra de navegação superior, selecione uma região e um grupo de recursos conforme necessário.
Na página EMR on ECS, localize o cluster que deseja gerenciar e clique em Services na coluna Actions.
Clique na aba Users.
Na página Users, clique em Add User.
Na caixa de diálogo Add User, selecione um usuário RAM existente na lista suspensa Username para usar como nome de usuário do EMR. Em seguida, insira uma senha nos campos Password e Confirm Password.
Clique em OK.
-
Valide as permissões do usuário atual antes de conceder novas permissões.
Faça login no cluster usando o protocolo Secure Shell (SSH). Para obter mais informações, consulte Log on to a cluster.
-
Execute o comando a seguir para acessar o HiveServer2.
beeline -u jdbc:hive2://master-1-1:10000 -n <user> -p <password>Nota<user> e <password> representam o nome de usuário e a senha definidos na Step 2: Add a RAM user.
-
Visualize informações sobre uma tabela existente.
Por exemplo, execute o comando a seguir para visualizar informações sobre a tabela de teste. Substitua
testdb.testpelas suas informações reais.select * from testdb.test;Como o usuário atual não possui as permissões necessárias, a consulta falha e um erro de permissão é retornado.
0: jdbc:hive2://xxx:10000> select * from testdb.test; 22/07/07 19:03:32 [main]: WARN conf.HiveConf: HiveConf of name hive.metastore.delta.compatible.mode.enabled does not e xist Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [dlf-test] does not have [SELECT] privilege on [database=testdb/table=test/*]. Permission denied: DLF checkPermission failed. message=[Ac tion: CHECK_PERMISSIONS ErrorCode: NoPermission Message: Authorization Failed [4019], You have NO privilege 'Select' o n {acs:dlf:cn-hangzhou:xxx:metastore/catalogs/xxx/databases/testdb/tables/test}. Deny as def ault for Resource. Context ID:dd198392-9b30-4899-9b32-61e1a993bd55. --->Tips: Principal:acs:ram::xxx: user/dlf-test Not pass by dlf permission check. RequestId: C4EC27BE-31ED-5A4B-AD40-2C8EF60359C0] (state=42000,code=400 00)
-
Adicione permissões para o usuário RAM.
Faça login no console do Data Lake Formation.
No painel de navegação à esquerda, escolha .
Na página Grant Permissions, clique em Add Authorization.
-
Na página Add Authorization, configure os seguintes parâmetros.
Parâmetro
Descrição
Principal
Principal Type
O padrão é RAM User.
Choose Principal
Na lista suspensa Choose Principal, selecione o usuário adicionado na Step 2: Add a RAM user.
Resources
Authorization Method
O padrão é Resource-based authorization.
Resource Type
Selecione a opção apropriada.
Neste exemplo, Metadata Table está selecionado.
Permission
Data Permission
Neste exemplo, Select é utilizado.
Permissions
Clique em OK.
-
Valide as permissões do usuário atual após conceder novas permissões.
Siga as instruções na Substep a of Step 1 para visualizar novamente as informações da tabela. Como a permissão necessária foi concedida, a consulta agora retorna informações sobre a tabela.
-
Acesse a página Cluster Services.
Faça login no EMR on ECS.
Na barra de navegação superior, selecione uma região e um grupo de recursos conforme necessário.
Na página EMR on ECS, localize o cluster que deseja gerenciar e clique em Services na coluna Actions.
-
Ative a autenticação LDAP.
Na página Services, clique em Status na seção do service Hive.
-
Ative a chave enableLDAP.
-
Para EMR 5.11.1 ou posterior e EMR 3.45.1 ou posterior
Na seção Service Overview, ative a chave enableLDAP.
Na caixa de diálogo exibida, clique em OK.
-
Para EMR 5.11.0 ou anterior e EMR 3.45.0 ou anterior
Na seção Components, localize HiveServer e escolha na coluna Actions.
Na caixa de diálogo exibida, insira um Execution Reason e clique em OK.
Na caixa de diálogo Confirm, clique em OK.
-
-
Reinicie o HiveServer.
Na seção Components, localize HiveServer e clique em Restart na coluna Actions.
Na caixa de diálogo exibida, insira um Execution Reason e clique em OK.
Na caixa de diálogo Confirm, clique em OK.
Etapa 3: Validar permissões
Se um usuário RAM tiver a permissão AliyunDLFDssFullAccess ou receber AdministratorAccess, ele terá permissões de acesso a todos os recursos granulares do DLF. Nesse caso, não é necessário conceder permissões de dados.
(Opcional) Etapa 4: Ativar a autenticação LDAP do Hive
Se você ativar as permissões do DLF-Auth, também deverá ativar a autenticação LDAP do Hive. Isso garante que os usuários conectados ao Hive sejam autenticados pelo LDAP antes de executarem scripts.
> enableLDAP