Use Alibaba Cloud SDK para conectar su aplicación a Key Management Service (KMS). La inicialización varía según el tipo de gateway: un shared gateway solo requiere un endpoint, mientras que un dedicated gateway también necesita un certificado CA para autenticar la conexión SSL/TLS de la instancia de KMS.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una cuenta de Alibaba Cloud con KMS habilitado
Credenciales de AccessKey almacenadas como variables de entorno (
ALIBABA_CLOUD_ACCESS_KEY_IDyALIBABA_CLOUD_ACCESS_KEY_SECRET)(Solo para dedicated gateway) Una instancia de KMS. Consulte Gestionar credenciales de acceso para conocer los métodos de autenticación compatibles
Tanto los shared gateway como los dedicated gateway admiten los mismos métodos de autenticación basados en RAM: AccessKey (AK), token de Security Token Service (STS), RamRoleArn y rol de RAM de instancia ECS. Para cargas de trabajo en producción, use tokens STS en lugar de credenciales de AccessKey de larga duración. Los ejemplos siguientes usan AccessKey por simplicidad.
Comparativa de gateways
|
Shared gateway |
Dedicated gateway |
|
|
Formato de endpoint |
|
|
|
Certificado CA |
No obligatorio |
Obligatorio para SDK V2.0; en SDK V1.0 se debe establecer |
Inicializar el cliente mediante un shared gateway
public static com.aliyun.kms20160120.Client createClient() throws Exception {
// Avoid hardcoding credentials. Use STS tokens for higher security:
// https://www.alibabacloud.com/help/en/sdk/developer-reference/v2-manage-access-credentials
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Required. Set ALIBABA_CLOUD_ACCESS_KEY_ID in your runtime environment.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Required. Set ALIBABA_CLOUD_ACCESS_KEY_SECRET in your runtime environment.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Shared gateway endpoint format: kms.<REGION_ID>.aliyuncs.com
// For VPC access: kms-vpc.<REGION_ID>.aliyuncs.com
// Example uses Singapore (ap-southeast-1).
config.endpoint = "kms.ap-southeast-1.aliyuncs.com";
return new com.aliyun.kms20160120.Client(config);
}
Endpoint
Establezca config.endpoint en uno de los formatos de shared gateway endpoint:
Red pública:
kms.<REGION_ID>.aliyuncs.comVPC:
kms-vpc.<REGION_ID>.aliyuncs.com
Reemplace <REGION_ID> con la región where se encuentran sus recursos de KMS, por ejemplo cn-hangzhou o ap-southeast-1.
Inicializar el cliente mediante un dedicated gateway
public static com.aliyun.kms20160120.Client createClient() throws Exception {
// Avoid hardcoding credentials. Use STS tokens for higher security:
// https://www.alibabacloud.com/help/en/sdk/developer-reference/v2-manage-access-credentials
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Required. Set ALIBABA_CLOUD_ACCESS_KEY_ID in your runtime environment.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Required. Set ALIBABA_CLOUD_ACCESS_KEY_SECRET in your runtime environment.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Dedicated gateway endpoint format: <KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com
// Find your instance ID on the Instances page (see "Endpoint" below).
config.endpoint = "kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com";
// CA certificate content for the KMS instance.
// Download it from the instance details page (see "CA certificate" below).
config.ca = "<INSTANCE_CA_CERTIFICATE>";
return new com.aliyun.kms20160120.Client(config);
}
Endpoint
El dedicated gateway endpoint sigue el formato <KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com. Para obtener el endpoint de su instancia:
Vaya a la página de Instances y haga clic en la pestaña Software Key Management o Hardware Key Management.
Haga clic en la instancia de KMS deseada.
En la sección Basic Information, copie el valor del campo Instance VPC Endpoint.

Certificado CA
El certificado CA autentica la conexión SSL/TLS de la instancia de KMS y es obligatorio en entornos de producción. Para descargarlo:
En la página de Instances, haga clic en la pestaña Software Key Management o Hardware Key Management y luego haga clic en la instancia deseada.
Haga clic en el ID de la instancia o en Details dentro de la columna Actions.
En la página de detalles, haga clic en download junto a Instance CA Certificate.
El nombre predeterminado del archivo descargado es PrivateKmsCA_kst-******.pem.

El parámetro ca solo es compatible con Alibaba Cloud SDK V2.0. Si usa SDK V1.0, omita la línea config.ca y establezca HTTPSInsecure en true directamente en el cliente: client.SetHTTPSInsecure(true). Para omitir la verificación SSL/TLS en entornos que no son de producción (como pruebas sin conexión), use también client.SetHTTPSInsecure(true).