Ativar a autenticação LDAP aumenta a segurança do Kyuubi. Esse recurso exige que os clientes forneçam um nome de usuário e uma senha válidos para se conectar a um Kyuubi Server, iniciar uma sessão do Spark e executar consultas SQL, impedindo o acesso não autorizado a dados e recursos sensíveis.
Pré-requisitos
-
Crie um Kyuubi Gateway e um token. Para mais informações, consulte Gerenciamento de gateway.
Recomendamos as seguintes versões do mecanismo:
esr-4.x: esr-4.3.0 ou posterior.
esr-3.x: esr-3.3.0 ou posterior.
esr-2.x: esr-2.7.0 ou posterior.
(Opcional) Para usar o serviço OpenLDAP de um cluster Alibaba Cloud EMR on ECS, crie um cluster que inclua esse serviço e adicione usuários. Para mais informações, consulte Criar um cluster e Gerenciamento de usuários do OpenLDAP.
Procedimento
Etapa 1: Preparar a rede
Antes de começar, garanta a conectividade de rede entre o EMR Serverless Spark e sua Virtual Private Cloud (VPC). Essa configuração permite que o Kyuubi Gateway se conecte ao serviço LDAP para autenticação. Para obter instruções, consulte Conectividade de rede entre o EMR Serverless Spark e outras VPCs.
Etapa 2: Configure o Kyuubi Gateway
Para ative a autenticação LDAP em um Kyuubi Gateway, pare o gateway primeiro. Em seguida, edite-o, selecione o nome da conexão na lista suspensa Normal Network Connection e adicione os parâmetros abaixo na seção Kyuubi Configuration. Após concluir a edição, reinicie o Kyuubi Gateway para aplicar as alterações.
kyuubi.authentication LDAP
kyuubi.authentication.ldap.baseDN <ldap_base_dn>
kyuubi.authentication.ldap.userDNPattern <ldap_user_pattern>
kyuubi.authentication.ldap.binddn <ldap_bind_dn>
kyuubi.authentication.ldap.bindpw <ldap_bind_pwd>
kyuubi.authentication.ldap.url ldap://<ldap_url>:<ldap_port>/
A tabela a seguir descreve os parâmetros. Substitua os valores de espaço reservado pelas suas informações reais.
Se você estiver se conectando ao serviço OpenLDAP de um cluster Alibaba Cloud EMR on ECS, consulte os valores de exemplo.
|
Parâmetro |
Descrição |
Exemplo |
|
|
Defina como |
|
|
|
Nome distinto (DN) base para pesquisas no serviço LDAP. |
|
|
|
Padrão usado para converter um nome de usuário de login em um DN LDAP completo. |
Por exemplo, quando um usuário chamado |
|
|
DN usado para vinculação ao serviço LDAP. |
|
|
|
Senha correspondente ao DN de vinculação. |
Localize o valor do parâmetro admin_pwd na configuração do serviço OpenLDAP. |
|
|
URL de conexão do serviço LDAP. O formato é |
Defina Nota
Se o LDAP for um serviço de alta disponibilidade, separe vários endereços de conexão LDAP com um espaço. Por exemplo, |
Etapa 3: Conectar-se ao Kyuubi Gateway
Esta seção apresenta dois métodos comuns de conexão. Antes de se conectar ao Kyuubi Gateway, substitua os espaços reservados abaixo pelas suas informações reais:
-
<endpoint>: Informações de Endpoint (Public) ou Endpoint (Internal) disponíveis na aba Overview.Ao usar o endpoint interno, o acesso ao Kyuubi Gateway fica restrito a recursos dentro da mesma VPC.
<token>: Informações do token obtidas na aba Token Management.<port>: Número da porta. Use a porta 443 para acesso via endpoint público e a porta 80 para acesso via endpoint interno na mesma região.<username>e<password>: Nome de usuário e senha para login no serviço LDAP. Se estiver se conectando ao serviço OpenLDAP de um cluster Alibaba Cloud EMR on ECS, use as credenciais adicionadas na página Users do EMR on ECS.
Método 1: Usar a CLI kyuubi-beeline
-
Especifique nome de usuário e senha diretamente: Forneça as credenciais como argumentos de linha de comando. Note que este método expõe a senha.
kyuubi-beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p <password> -
Insira a senha interativamente: Para maior segurança, omita a senha na opção
-p. O sistema solicitará que você a insira manualmente, sem exibir os caracteres digitados.kyuubi-beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p
Método 2: Usar uma URL JDBC
Para se conectar a partir de outra aplicação, como um programa Java, ou para montar uma URL JDBC completa, use o formato abaixo.
jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>;user=<username>;password=<password>