A ativação da autenticação LDAP aumenta a segurança do Kyuubi. Isso 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. Isso impede o acesso não autorizado a dados e recursos confidenciais.
Pré-requisitos
-
Crie um Kyuubi Gateway e um token. Para mais informações, consulte Gerenciamento do gateway.
As seguintes versões de mecanismo são recomendadas:
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) Se você deseja usar o serviço OpenLDAP de um cluster do Alibaba Cloud EMR on ECS, é necessário criar um cluster que inclua o serviço OpenLDAP e adicionar 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). Isso permite que o Kyuubi Gateway se conecte ao seu serviço LDAP para autenticação. Para obter instruções, consulte Conectividade de rede entre o EMR Serverless Spark e outras VPCs.
Etapa 2: Configurar o Kyuubi Gateway
Para ativar a autenticação LDAP em um Kyuubi Gateway, primeiro pare o gateway. Em seguida, edite o Kyuubi Gateway, selecione o nome da conexão na lista suspensa Normal Network Connection e adicione os seguintes parâmetros 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>/
Esta tabela 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 do Alibaba Cloud EMR on ECS, poderá consultar os valores de exemplo.
|
Parâmetro |
Descrição |
Exemplo |
|
|
Defina como |
|
|
|
O nome distinto (DN) base para pesquisas no serviço LDAP. |
|
|
|
O padrão usado para converter um nome de usuário de login em um DN LDAP completo. |
Por exemplo, quando um usuário chamado |
|
|
O DN usado para vincular ao serviço LDAP. |
|
|
|
A senha do DN de vinculação. |
Encontre o valor do parâmetro admin_pwd na configuração do serviço OpenLDAP. |
|
|
A URL de conexão para o 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 ao Kyuubi Gateway
Esta seção apresenta dois métodos de conexão comuns. Antes de se conectar ao Kyuubi Gateway, substitua os seguintes espaços reservados pelas suas informações reais:
-
<endpoint>: As informações de Endpoint (Public) ou Endpoint (Internal) da guia Overview.Se você usar o endpoint interno, o acesso ao Kyuubi Gateway será restrito a recursos dentro da mesma VPC.
<token>: As informações de token da guia Token Management.<port>: O número da porta. O número da porta é 443 para acesso pelo endpoint público e 80 para acesso pelo endpoint interno da mesma região.<username>e<password>: O nome de usuário e a senha para fazer login no serviço LDAP. Se você estiver se conectando ao serviço OpenLDAP de um cluster do Alibaba Cloud EMR on ECS, use o nome de usuário e a senha que você adicionou na página Users no EMR on ECS.
Método 1: Usar o CLI kyuubi-beeline
-
Especifique o nome de usuário e a senha diretamente: Você pode fornecer credenciais diretamente como argumentos de linha de comando, mas esse 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 da opção
-p. Você será solicitado a inseri-la manualmente, e os caracteres digitados não serão exibidos.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 outro aplicativo, como um programa Java, ou para construir uma URL JDBC completa, use o seguinte formato.
jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>;user=<username>;password=<password>