DLF-Auth é um componente do Data Lake Formation (DLF). Ele ativa o recurso de permissão 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 gerais
O Data Lake Formation (DLF) é um service totalmente gerenciado que ajuda você a criar rapidamente um data lake na cloud. Ele oferece gerenciamento unificado de permissões e metadados para o seu data lake. Para mais informações, consulte Product Introduction.
Pré-requisitos
Você deve ter um cluster E-MapReduce com o service OpenLDAP selecionado. Para mais informações, consulte Create a cluster.
Na página Software Configuration, o valor padrão do parâmetro Metadata é DLF Unified Metadata.
Limitações
O gerenciamento de permissões do Data Lake Formation (DLF) é compatível apenas com usuários do Resource Access Management (RAM). Adicione usuários na página de gerenciamento de usuários no EMR console.
Para informações sobre as regiões compatíveis com o recurso de gerenciamento de permissão de dados do Data Lake Formation (DLF), consulte Supported regions and endpoints.
Se você ativar Hive ou Spark para o DLF-Auth, não será possível ativá-los ou desativá-los para o Ranger, e vice-versa.
-
A tabela a seguir lista as versões do EMR e os motores 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
Não compatível
Não compatível
Não compatível
Não compatível
EMR-3.40.0
Compatível
Compatível
Compatível
Não compatível
EMR 3.41.0 a EMR 3.43.1
Compatível
Compatível
Não compatível
Não compatível
EMR 3.44.0 e posteriores
Compatível
Compatível
Compatível
Compatível
EMR 5.x
EMR 5.5.0 e anteriores
Não compatível
Não compatível
Não compatível
Não compatível
EMR 5.6.0
Compatível
Compatível
Compatível
Não compatível
EMR 5.7.0 a EMR 5.9.1
Compatível
Compatível
Não compatível
Não compatível
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 um gerenciamento de permissões unificado e totalmente gerenciado 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 service DLF-Auth.
-
Ative o controle de acesso do Hive.
Na página do service DLF-Auth, ative o switch 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 por meio do 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.
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 DLF refinados. Nesse caso, não é necessário conceder permissões de dados.
-
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 mais informações, consulte Log on to a 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 em Step 2: Add a RAM user.
-
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 tem 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 ao usuário RAM.
Faça login no Data Lake Formation console.
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 em Step 2: Add a RAM user.
Resources
Authorization Method
O padrão é Resource-based authorization.
Resource Type
Selecione a opção adequada.
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 as novas permissões.
Siga as instruções em Substep a of Step 1 para visualizar as informações da tabela novamente. Como a permissão necessária foi concedida, a consulta agora retorna informações sobre a tabela.
(Opcional) Etapa 4: Ativar a autenticação LDAP do Hive
Ao ativar as permissões DLF-Auth, ative também a autenticação LDAP do Hive. Isso garante que os usuários que se conectam ao Hive sejam autenticados via LDAP antes de executar scripts.
-
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 o switch enableLDAP.
-
Para EMR 5.11.1 ou posterior e EMR 3.45.1 ou posterior
Na seção Service Overview, ative o switch 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.
> enableLDAP