Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Computação
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gerenciamento e governança
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migração
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicações de negócios
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive
Central de ajuda/ GaussDB(DWS)/ Guia de gerenciamento/ Conexão de clusters/ Uso dos drivers JDBC e ODBC para conectar a um cluster/ Configuração do JDBC para conectar-se a um cluster (modo de autenticação do IAM)

Configuração do JDBC para conectar-se a um cluster (modo de autenticação do IAM)

Atualizado em 2024-08-19 GMT+08:00

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:

  1. Conceder a uma conta do IAM a permissão de acesso ao banco de dados GaussDB(DWS)
  2. Criar uma credencial de usuário do IAM
  3. Configurar a conexão JDBC para se conectar a um cluster usando a autenticação do IAM

Conceder a uma conta do IAM a permissão de acesso ao banco de dados GaussDB(DWS)

  1. 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.
  2. 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.

  1. Faça logon no console de gerenciamento.
  2. Mova o cursor para o nome de usuário no canto superior direito e escolha My Credentials.
  3. 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

Tabela 1 Parâmetros de conexão do banco de dados

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:

  • jdbc:dws:iam é um prefixo no formato de URL.
  • dws-IAM-demo indica o nome do cluster que contém o banco de dados.
  • ap-southeast-1 indica a região onde o aglomerado reside. O JDBC acessa o cluster do GaussDB(DWS) na região correspondente e entrega o certificado do IAM ao cluster para autenticação de usuário do IAM. O endereço de serviço do GaussDB(DWS) foi registrado no arquivo de configuração do JDBC.
  • gaussdb indica o nome do banco de dados ao qual você deseja se conectar.
  • AccessKeyID e SecretAccessKey são o ID da chave de acesso e a chave de acesso de segredo correspondentes ao usuário do IAM especificado pelo DbUser.
  • Defina DbUser como o nome de usuário do IAM. Observe que a versão atual não oferece suporte a hifens (-) no nome de usuário do IAM.
    • Se o usuário especificado pelo DbUser estiver no banco de dados, a credencial de usuário temporária terá as mesmas permissões do usuário existente.
    • Se o usuário especificado por DbUser não existir no banco de dados e o valor de AutoCreate for true, um novo usuário nomeado pelo valor de DbUser será criado automaticamente. O usuário criado é um usuário de banco de dados comum por padrão.
  • O parâmetro AutoCreate é opcional. O valor padrão é false. Este parâmetro indica se criará automaticamente um usuário de banco de dados nomeado pelo valor de DbUser no banco de dados.
    • O valor true indica que um usuário é criado automaticamente. Se o usuário já existir, o usuário não será criado novamente.
    • O valor false indica que um usuário não foi criado. Se o nome de usuário especificado por DbUser não existe no banco de dados, um erro é retornado.

info

Propriedades de conexão de banco de dados. As propriedades comuns incluem o seguinte:

  • ssl: um tipo boolean. Indica se a conexão SSL é usada.
  • loglevel: um tipo integer. Ele define a quantidade de log registrada no DriverManager para LogStream ou LogWriter.

    Atualmente, os logs org.postgresql.Driver.DEBUG e org.postgresql.Driver.INFO são suportados. Se o valor for 1, somente org.postgresql.Driver.INFO (pouca informação) será registrada. Se o valor for maior ou igual a 2, org.postgresql.Driver.DEBUG e org.postgresql.Driver.INFO são impressos e as informações detalhadas do log são geradas. Seu valor padrão é 0, o que indica que nenhum registro é impresso.

  • charSet: um tipo string. Indica os conjuntos de caracteres usados quando os dados são enviados do banco de dados ou o banco de dados recebe dados.
  • prepareThreshold: um tipo integer. É usado para determinar os tempos de execução de PreparedStatement antes que a informação seja convertida em instruções preparadas no servidor. O valor padrão é 5.

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;
}

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback