O DLF-Auth é um componente do Data Lake Formation (DLF). Ele ativa 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 serviço totalmente gerenciado que ajuda você a criar rapidamente um data lake na nuvem. Ele fornece gerenciamento unificado de permissões e metadados para o seu data lake. Para obter mais informações, consulte Introdução ao produto.
Pré-requisitos
Você possui um cluster do E-MapReduce com o serviço OpenLDAP selecionado. Para obter mais informações, consulte Criar um 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 do EMR.
Para informações sobre as regiões compatíveis com o recurso de gerenciamento de permissões de dados do Data Lake Formation (DLF), consulte Regiões e endpoints compatíveis.
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
Compatível
Compatível
Compatível
Sem suporte
EMR 3.41.0 a EMR 3.43.1
Compatível
Compatível
Sem suporte
Sem suporte
EMR 3.44.0 e posteriores
Compatível
Compatível
Compatível
Compatível
EMR 5.x
EMR 5.5.0 e anteriores
Sem suporte
Sem suporte
Sem suporte
Sem suporte
EMR 5.6.0
Compatível
Suporte
Compatível
Sem suporte
EMR 5.7.0 a EMR 5.9.1
Compatível
Compatível
Sem suporte
Sem suporte
EMR 5.10.0 e posteriores
Compatível
Compatível
Compatível
Compatível
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 do 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 serviço DLF-Auth.
-
Ative o controle de acesso do Hive.
Na página do serviço DLF-Auth, ative a chave enableHive.
Na caixa de diálogo exibida, clique em OK.
-
Reinicie o HiveServer.
Na página Services, clique no serviço Hive.
Na página do serviço 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 Fazer login em um cluster.
-
Execute o seguinte comando 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 Etapa 2: Adicionar um usuário RAM.
-
Visualize informações sobre uma tabela existente.
Por exemplo, execute o seguinte comando 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 Etapa 2: Adicionar um usuário RAM.
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 Subetapa a da Etapa 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 serviço 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