Configuração do JDBC para conectar-se a um cluster (modo de autenticação do IAM)
Visão geral
GaussDB(DWS) permite que você acesse bancos de dados usando autenticação do IAM. Quando você usa o programa de aplicação do JDBC para se conectar a um cluster, defina o nome de usuário, a credencial e outras informações do IAM ao configurar o URL do JDBC. Depois de fazer isso, quando você tentar acessar um banco de dados, o sistema gerará automaticamente uma credencial temporária e uma conexão será configurada.
- Atualmente, somente os clusters 1.3.1 e versões posteriores e seus drivers JDBC correspondentes podem acessar os bancos de dados no modo de autenticação do IAM. Baixe o driver JDBC. Para mais detalhes, consulte Baixa do driver JDBC ou ODBC.
- Os armazéns de dados de fluxo não oferecem suporte à conexão com um cluster no modo de autenticação do IAM.
O IAM oferece suporte a dois tipos de credencial de usuário: senha e ID da chave de acesso/Chave de acesso do segredo (AK/SK). A conexão de JDBC requer o último.
A conta do IAM que você usa para acessar um banco de dados deve ser concedida com a permissão DWS Database Access. Somente usuários com as permissões DWS Administrator e DWS Database Access podem se conectar a bancos de dados GaussDB(DWS) usando as credenciais temporárias de usuário do banco de dados geradas com base nos usuários do IAM.
A permissão DWS Database Access só pode ser concedida a grupos de usuários. Certifique-se de que sua conta do IAM esteja em um grupo de usuários com essa permissão.
No IAM, apenas os usuários do grupo admin têm permissões para gerenciar usuários. Isso requer que sua conta do IAM esteja no grupo de usuários admin. Caso contrário, entre em contato com o administrador da conta do IAM para conceder essa permissão à sua conta do IAM.
O processo de acesso a um banco de dados é o seguinte:
Conceder a uma conta do IAM a permissão de acesso ao banco de dados GaussDB(DWS)
- Faça logon no console de gerenciamento do Huawei Cloud. Na lista de serviços, escolha Management & Governance > Identity and Access Management para entrar no console de gerenciamento do IAM.
- Modifique o grupo de usuários ao qual seu usuário do IAM pertence. Defina uma política para, conceda a permissão DWS Database Access e adicione seu usuário do IAM a ela.
Somente os usuários do grupo de usuários admin do IAM podem executar esta etapa. No IAM, somente os usuários no grupo de usuários admin podem gerenciar usuários, incluindo a criação de grupos de usuários e usuários e a definição de direitos de grupos de usuários.
Para obter detalhes, consulte Exibição ou modificação de informações do grupo de usuários no Guia de usuário do Identity and Access Management.
Você também pode criar um grupo de usuários do IAM e definir uma política para, conceder permissões DWS Administrator e DWS Database Access e adicionar seu usuário do IAM a ele. Para obter detalhes, consulte Criação de um grupo de usuários e atribuição de permissões no Guia de usuário do Identity and Access Management.
Criar uma credencial de usuário do IAM
Você pode fazer logon no console de gerenciamento para criar um par AK/SK ou usar um existente.
- Faça logon no console de gerenciamento.
- Mova o cursor para o nome de usuário no canto superior direito e escolha My Credentials.
- Escolha Access Keys para exibir as chaves de acesso existentes. Você também pode clicar em Create Access Key para criar uma nova.
O par AK/SK é tão importante que você pode baixar o arquivo de chave privada contendo as informações de AK/SK apenas quando você criar o par. No console de gerenciamento, você só pode exibir os AKs. Se você não tiver baixado o arquivo, obtenha-o de seu administrador ou crie um par AK/SK novamente.
Cada usuário pode criar no máximo dois pares AK/SK, que são válidos permanentemente. Para garantir a segurança da conta, altere seus pares AK/SK periodicamente e mantenha-os seguros.
Configurar a conexão JDBC para se conectar a um cluster usando a autenticação do IAM
Configurar parâmetros de conexão JDBC
Parâmetro |
Descrição |
---|---|
url |
Descritor de conexão de banco de dado sgsjdbc4.jar/gsjdbc200.jar. A API do JDBC não fornece o recurso de repetição de conexão. Você precisa implementar o processamento de nova tentativa no código de serviço. O exemplo de URL é o seguinte: jdbc:dws:iam://dws-IAM-demo:ap-southeast-1/gaussdb?AccessKeyID=XXXXXXXXXXXXXXXXXXXX&SecretAccessKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&DbUser=user_test&AutoCreate=true
Parâmetros de URL do JDBC:
|
info |
Propriedades de conexão de banco de dados. As propriedades comuns incluem o seguinte:
|
Exemplo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//The following uses gsjdbc4.jar as an example. // The following code encapsulates the database connection obtaining operations into an API. You can connect to the database by specifying the region where the cluster is located, cluster name, access key ID, secret access key, and the corresponding IAM username. public static Connection GetConnection(String clustername, String regionname, String AK, String SK, String username) { // Driver class. String driver = "org.postgresql.Driver"; // Database connection descriptor. String sourceURL = "jdbc:dws:iam://" + clustername + ":" + regionname + "/postgresgaussdb?" + "AccessKeyID=" + AK + "&SecretAccessKey=" + SK + "&DbUser=" + username + "&autoCreate=true"; Connection conn = null; try { // Load the driver. Class.forName(driver); } catch (ClassNotFoundException e) { return null; } try { // Create a connection. conn = DriverManager.getConnection(sourceURL); System.out.println("Connection succeed!"); } catch (SQLException e) { return null; } return conn; } |