憑據(jù)客戶端
憑據(jù)客戶端是基于KMS OpenAPI和KMS實例API的自定義封裝,封裝了在應(yīng)用中緩存和刷新憑據(jù)的功能,業(yè)務(wù)穩(wěn)定性更高且更易于開發(fā)者在業(yè)務(wù)應(yīng)用中集成。憑據(jù)客戶端支持獲取所有憑據(jù)類型的憑據(jù)值。本文介紹如何安裝及使用憑據(jù)客戶端。
SDK介紹
憑據(jù)客戶端基于KMS實例API,封裝了憑據(jù)緩存、最佳實踐和設(shè)計模式,更易于開發(fā)者在業(yè)務(wù)系統(tǒng)中集成。此外KMS還提供了KMS實例SDK和阿里云SDK,也可以用于獲取憑據(jù)值。詳細(xì)信息,請參見SDK參考。
如果您需要對憑據(jù)進行管控類操作,僅支持使用阿里云SDK。
憑據(jù)客戶端具有以下功能特性:
支持開發(fā)者在應(yīng)用中快速集成憑據(jù)能力,一行代碼讀取憑據(jù)信息。
封裝憑據(jù)在應(yīng)用中緩存和刷新的功能。
封裝API錯誤的重試機制,智能處理服務(wù)端錯誤。
開放插件式設(shè)計模式,支持開發(fā)者自定義擴展緩存、錯誤重試等功能模塊。
注意事項
支持的憑據(jù)類型:通用憑據(jù)、RAM憑據(jù)、ECS憑據(jù)、RDS憑據(jù)。
支持的開發(fā)語言:Java(Java 8及以上版本)、Python、Go。
支持的訪問憑證:RAM角色、ECS RAM角色、STS、ClientKey(推薦)、AccessKey(不推薦)。
步驟一:創(chuàng)建訪問憑證
如果使用AccessKey、RAM角色、ECS RAM角色或STS,僅支持通過KMS服務(wù)Endpoint獲取憑據(jù)值;如果使用ClientKey,既支持通過KMS服務(wù)Endpoint,也支持通過KMS實例Endpoint獲取憑據(jù)值。關(guān)于Endpoint的詳細(xì)介紹,請參見Endpoint說明。
KMS實例Endpoint支持更高的性能,因此推薦您使用ClientKey通過KMS實例Endpoint獲取憑據(jù)值。
ECS實例RAM角色
為ECS實例授予RAM角色。具體操作,請參見通過ECS實例RAM角色授權(quán)ECS訪問其他云服務(wù)。
RAM角色
創(chuàng)建RAM角色。創(chuàng)建時可信實體需要選擇阿里云賬號或則渠道供應(yīng)商,其余操作,請參見創(chuàng)建RAM角色。
獲取目標(biāo)RAM角色的RamRoleArn。具體操作,請參見查看RAM角色。
說明RamRoleArn是RAM角色的ARN信息,即需要扮演的角色ID。格式為acs:ram::$accountID:role/$roleName。$accountID為阿里云賬號ID。$roleName為RAM角色名稱。
STS
創(chuàng)建RAM用戶或RAM角色。具體操作,請參見創(chuàng)建RAM用戶、創(chuàng)建RAM角色。
為RAM用戶或RAM角色授予
AliyunSTSAssumeRoleAccess
權(quán)限。具體操作,請參見為RAM用戶授權(quán)、為RAM角色授權(quán)。使用RAM用戶或RAM角色調(diào)用STS服務(wù)的AssumeRole接口獲取STS臨時訪問憑證。具體操作,請參見AssumeRole - 獲取扮演角色的臨時身份憑證。
ClientKey
您需要先創(chuàng)建應(yīng)用接入點AAP,然后在AAP中創(chuàng)建ClientKey。根據(jù)調(diào)用的API類型不同AAP的配置也不同,具體配置如下:
訪問KMS服務(wù)Endpoint-OpenAPI
網(wǎng)絡(luò)規(guī)則-網(wǎng)絡(luò)類型選擇Public或VPC,權(quán)限規(guī)則-作用域選擇KMS共享網(wǎng)關(guān)。
訪問KMS實例Endpoint-實例API
網(wǎng)絡(luò)規(guī)則-網(wǎng)絡(luò)類型選擇Private,作用域選擇實例ID。
具體操作,請參見創(chuàng)建應(yīng)用接入點。
AccessKey(不推薦)
具體操作,請參見創(chuàng)建AccessKey。
步驟二:安裝客戶端
Java
訪問alibabacloud-secretsmanager-client-java了解更多安裝信息和源代碼。
通過Maven的方式在項目中安裝憑據(jù)客戶端。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-secretsmanager-client</artifactId>
<version>1.x.x</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.x.x</version>
</dependency>
建議您使用最新版本。
Python
訪問aliyun-secretsmanager-client-python了解更多安裝信息和源代碼。
執(zhí)行pip命令安裝憑據(jù)客戶端。
pip install aliyun-secret-manager-client
Go
訪問aliyun-secretsmanager-client-go了解更多安裝信息和源代碼。
使用go get
命令,在項目中使用憑據(jù)客戶端。
go get -u github.com/aliyun/aliyun-secretsmanager-client-go
步驟三:構(gòu)建憑據(jù)客戶端
Java
方式一:通過系統(tǒng)環(huán)境變量或配置文件(secretsmanager.properties)構(gòu)建客戶端
系統(tǒng)環(huán)境變量的詳細(xì)信息,請參見附錄一:系統(tǒng)環(huán)境變量。配置文件的詳細(xì)信息,請參見附錄二:配置文件。需要注意配置文件名稱固定為
secretsmanager.properties
。請將示例代碼中的
#secretName#
替換為您的憑據(jù)名稱。import com.aliyuncs.kms.secretsmanager.client.SecretCacheClient; import com.aliyuncs.kms.secretsmanager.client.SecretCacheClientBuilder; import com.aliyuncs.kms.secretsmanager.client.exception.CacheSecretException; import com.aliyuncs.kms.secretsmanager.client.model.SecretInfo; public class CacheClientEnvironmentSample { public static void main(String[] args) { try { //構(gòu)建憑據(jù)客戶端 SecretCacheClient client = SecretCacheClientBuilder.newClient(); //使用構(gòu)建好的客戶端獲取憑據(jù)信息 SecretInfo secretInfo = client.getSecretInfo("#secretName#"); System.out.println(secretInfo); } catch (CacheSecretException e) { e.printStackTrace(); } } }
方式二:通過自定義配置文件構(gòu)建客戶端
配置文件的詳細(xì)信息,請參見附錄二:配置文件。需要注意配置文件名稱和文件路徑由您自行定義。
請將示例代碼中的
#customConfigFileName#
替換為您自定義的配置文件名稱,#secretName#
替換為您的憑據(jù)名稱。import com.aliyuncs.kms.secretsmanager.client.SecretCacheClient; import com.aliyuncs.kms.secretsmanager.client.SecretCacheClientBuilder; import com.aliyuncs.kms.secretsmanager.client.exception.CacheSecretException; import com.aliyuncs.kms.secretsmanager.client.model.SecretInfo; import com.aliyuncs.kms.secretsmanager.client.service.BaseSecretManagerClientBuilder; public class CacheClientCustomConfigFileSample { public static void main(String[] args) { try { SecretCacheClient client = SecretCacheClientBuilder.newCacheClientBuilder( BaseSecretManagerClientBuilder.standard().withCustomConfigFile("#customConfigFileName#").build()).build(); SecretInfo secretInfo = client.getSecretInfo("#secretName#"); System.out.println(secretInfo); } catch (CacheSecretException e) { System.out.println("CacheSecretException:" + e.getMessage()); } } }
方式三:通過指定參數(shù)(accessKey、accessSecret、regionId)構(gòu)建客戶端
說明阿里云賬號AccessKey擁有所有OpenAPI的訪問權(quán)限,建議您使用RAM用戶進行API訪問或日常運維。強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號下所有資源的安全。
本示例以將AccessKey配置在環(huán)境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET的方式來實現(xiàn)身份驗證為例。
更多認(rèn)證信息配置方式,請參見管理訪問憑據(jù)。
不同操作系統(tǒng)的環(huán)境變量配置方法不同,具體操作,請參見在Linux、macOS和Windows系統(tǒng)配置環(huán)境變量。
請將示例代碼中的
#regionId#
替換為實際地域ID,#secretName#
替換為您的憑據(jù)名稱。import com.aliyuncs.kms.secretsmanager.client.SecretCacheClient; import com.aliyuncs.kms.secretsmanager.client.SecretCacheClientBuilder; import com.aliyuncs.kms.secretsmanager.client.exception.CacheSecretException; import com.aliyuncs.kms.secretsmanager.client.model.SecretInfo; import com.aliyuncs.kms.secretsmanager.client.service.BaseSecretManagerClientBuilder; import com.aliyuncs.kms.secretsmanager.client.utils.CredentialsProviderUtils; public class CacheClientSimpleParametersSample { public static void main(String[] args) { try { SecretCacheClient client = SecretCacheClientBuilder.newCacheClientBuilder( BaseSecretManagerClientBuilder.standard().withCredentialsProvider(CredentialsProviderUtils .withAccessKey(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))).withRegion("#regionId#").build()).build(); SecretInfo secretInfo = client.getSecretInfo("#secretName#"); System.out.println(secretInfo); } catch (CacheSecretException e) { e.printStackTrace(); } } }
Python
方式一:通過系統(tǒng)環(huán)境變量或配置文件(secretsmanager.properties)構(gòu)建客戶端
系統(tǒng)環(huán)境變量的詳細(xì)信息,請參見附錄一:系統(tǒng)環(huán)境變量。配置文件的詳細(xì)信息,請參見附錄二:配置文件。需要注意配置文件名稱固定為
secretsmanager.properties
。請將示例代碼中的
#secretName#
替換為您的憑據(jù)名稱。from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder if __name__ == '__main__': #構(gòu)建憑據(jù)客戶端 secret_cache_client = SecretManagerCacheClientBuilder.new_client() #使用構(gòu)建好的客戶端獲取憑據(jù)信息 secret_info = secret_cache_client.get_secret_info("#secretName#") print(secret_info.__dict__)
方式二:通過指定參數(shù)(accessKey、accessSecret、regionId)構(gòu)建客戶端
說明阿里云賬號AccessKey擁有所有OpenAPI的訪問權(quán)限,建議您使用RAM用戶進行API訪問或日常運維。強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號下所有資源的安全。
本示例以將AccessKey配置在環(huán)境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET的方式來實現(xiàn)身份驗證為例。
更多認(rèn)證信息配置方式,請參見管理訪問憑據(jù)。
不同操作系統(tǒng)的環(huán)境變量配置方法不同,具體操作,請參見在Linux、macOS和Windows系統(tǒng)配置環(huán)境變量。
請將示例代碼中的
#regionId#
替換為實際地域ID,#secretName#
替換為您的憑據(jù)名稱。import os from alibaba_cloud_secretsmanager_client.secret_manager_cache_client_builder import SecretManagerCacheClientBuilder from alibaba_cloud_secretsmanager_client.service.default_secret_manager_client_builder import DefaultSecretManagerClientBuilder if __name__ == '__main__': secret_cache_client = SecretManagerCacheClientBuilder.new_cache_client_builder(DefaultSecretManagerClientBuilder.standard() \ .with_access_key(os.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")) \ .with_region("#regionId#").build()) \ .build(); secret_info = secret_cache_client.get_secret_info("#secretName#") print(secret_info.__dict__)
Go
方式一:通過系統(tǒng)環(huán)境變量或配置文件(secretsmanager.properties)構(gòu)建客戶端
系統(tǒng)環(huán)境變量的詳細(xì)信息,請參見附錄一:系統(tǒng)環(huán)境變量。配置文件的詳細(xì)信息,請參見附錄二:配置文件。需要注意配置文件名稱固定為secretsmanager.properties。
請將示例代碼中的
#secretName#
替換為您的憑據(jù)名稱。package main import ( "fmt" "github.com/aliyun/aliyun-secretsmanager-client-go/sdk" ) func main() { //構(gòu)建憑據(jù)客戶端 client, err := sdk.NewClient() if err != nil { // Handle exceptions panic(err) } //使用構(gòu)建好的客戶端獲取憑據(jù)信息 secretInfo, err := client.GetSecretInfo("#secretName#") if err != nil { // Handle exceptions panic(err) } fmt.Printf("SecretValue:%s\n",secretInfo.SecretValue) }
通過指定參數(shù)(accessKey、accessSecret、regionId)構(gòu)建客戶端
說明阿里云賬號AccessKey擁有所有OpenAPI的訪問權(quán)限,建議您使用RAM用戶進行API訪問或日常運維。強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號下所有資源的安全。
本示例以將AccessKey配置在環(huán)境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET的方式來實現(xiàn)身份驗證為例。
更多認(rèn)證信息配置方式,請參見客戶端初始化和請求方式。
不同操作系統(tǒng)的環(huán)境變量配置方法不同,具體操作,請參見在Linux、macOS和Windows系統(tǒng)配置環(huán)境變量。
請將示例代碼中的
#regionId#
替換為實際地域ID,#secretName#
替換為您的憑據(jù)名稱。package main import ( "github.com/aliyun/aliyun-secretsmanager-client-go/sdk/service" "github.com/aliyun/aliyun-secretsmanager-client-go/sdk" "os" ) func main() { client, err := sdk.NewSecretCacheClientBuilder(service.NewDefaultSecretManagerClientBuilder().Standard().WithAccessKey(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")).WithRegion("#regionId#").Build()).Build() if err != nil { // Handle exceptions panic(err) } secretInfo, err := client.GetSecretInfo("#secretName#") if err != nil { // Handle exceptions panic(err) } }
附錄一:系統(tǒng)環(huán)境變量
不同的認(rèn)證方式,需要設(shè)置的系統(tǒng)環(huán)境變量不同,具體請參見下表。不同操作系統(tǒng)的環(huán)境變量配置方法不同,具體操作,請參見在Linux、macOS和Windows系統(tǒng)配置環(huán)境變量。
RAM角色
參數(shù) | 參數(shù)值 |
credentials_type | 固定取值ram_role。 |
credentials_role_session_name | RAM角色的名稱。 |
credentials_role_arn | RAM角色的資源ARN。 |
credentials_access_key_id | AccessKey ID。 |
credentials_access_secret | AccessKey Secret。 |
cache_client_region_id | 格式為[{"regionId":"<your region id>"}],請將 重要 Linux系統(tǒng)下,使用export命令設(shè)置環(huán)境變量時,請?zhí)砑愚D(zhuǎn)義字符,即 |
ECS實例RAM角色
參數(shù) | 參數(shù)值 |
credentials_type | 固定取值ecs_ram_role。 |
credentials_role_name | RAM角色名稱。 |
cache_client_region_id | 格式為[{"regionId":"<your region id>"}],請將 重要 Linux系統(tǒng)下,使用export命令設(shè)置環(huán)境變量時,請?zhí)砑愚D(zhuǎn)義字符,即 |
STS
參數(shù) | 參數(shù)值 |
credentials_type | 固定取值sts。 |
credentials_role_session_name | RAM角色名稱。 |
credentials_role_arn | RAM角色的資源ARN。 |
credentials_access_key_id | AccessKey ID。 |
credentials_access_secret | AccessKey Secret。 |
cache_client_region_id | 格式為[{"regionId":"<your region id>"}],請將 重要 Linux系統(tǒng)下,使用export命令設(shè)置環(huán)境變量時,請?zhí)砑愚D(zhuǎn)義字符,即 |
ClientKey
訪問KMS服務(wù)Endpoint
參數(shù)
參數(shù)值
credentials_type
固定取值client_key。
client_key_password_from_env_variable
表示從系統(tǒng)環(huán)境變量獲取ClientKey的憑證口令(password)。取值為password的系統(tǒng)環(huán)境變量名稱。
配置本參數(shù)時,您需要將password配置到系統(tǒng)環(huán)境變量中,變量名稱由您自定義。
client_key_password_from_file_path
表示從文件中獲取ClientKey的憑證口令(password)。取值為password的文件絕對路徑或相對路徑。
配置本參數(shù)時,您需要將password配置到文件中,文件名稱由您自定義。
說明client_key_password_from_env_variable與client_key_password_from_file_path為二選一。
client_key_private_key_path
ClientKey文件的絕對路徑或相對路徑。
配置本參數(shù)時,您需要將ClientKey文件保存到合適位置,文件名稱由您自定義。
cache_client_region_id
格式為[{"regionId":"<your region id>"}],請將
<your region id>
替換為您真實的地域ID。重要Linux系統(tǒng)下,使用export命令設(shè)置環(huán)境變量時,請?zhí)砑愚D(zhuǎn)義字符,即
[{\"regionId\":\"<your region id>\"}]
。訪問KMS實例Endpoint
參數(shù)
參數(shù)值
cache_client_dkms_config_info
方式一:通過文件獲取ClientKey憑證口令
您還需要將password配置到文件中,文件名稱由您自定義,但需要和
passwordFromFilePath
的取值相同。cache_client_dkms_config_info=[{"regionId":"<your dkms region>","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]
cache_client_dkms_config_info=[{"regionId":ch-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
方式二:通過環(huán)境變量獲取ClientKey憑證口令
您還需要將password配置到系統(tǒng)環(huán)境變量中,變量名稱由您自定義,但需要和
passwordFromEnvVariable
的取值相同。cache_client_dkms_config_info=[{"regionId":"<your dkms region>","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]
說明cache_client_dkms_config_info中的各項取值,請參見附錄二:配置文件中的配置項說明表格。
AccessKey(不推薦)
參數(shù) | 參數(shù)值 |
credentials_type | 固定取值ak。 |
credentials_access_key_id | AccessKey ID。 |
credentials_access_secret | AccessKey Secret。 |
cache_client_region_id | 格式為[{"regionId":"<your region id>"}],請將 重要 Linux系統(tǒng)下,使用export命令設(shè)置環(huán)境變量時,請?zhí)砑愚D(zhuǎn)義字符,即 |
附錄二:配置文件
不同的認(rèn)證方式,需要設(shè)置的配置文件不同。
RAM角色
# 訪問憑據(jù)類型
credentials_type=ram_role
# 角色名稱
credentials_role_session_name=#role name#
# 資源短名稱
credentials_role_arn=#role arn#
# AK
credentials_access_key_id=#access key id#
# SK
credentials_access_secret=#access key secret#
# 關(guān)聯(lián)的KMS服務(wù)地域
cache_client_region_id=[{"regionId":"#regionId#"}]
ECS實例RAM角色
# 訪問憑據(jù)類型
credentials_type=ecs_ram_role
# ECS RAM Role名稱
credentials_role_name=#credentials_role_name#
# 關(guān)聯(lián)的KMS服務(wù)地域
cache_client_region_id=[{"regionId":"#regionId#"}]
STS
# 訪問憑據(jù)類型
credentials_type=sts
# 角色名稱
credentials_role_session_name=#role name#
# 資源短名稱
credentials_role_arn=#role arn#
# AK
credentials_access_key_id=#access key id#
# SK
credentials_access_secret=#access key secret#
# 關(guān)聯(lián)的KMS服務(wù)地域
cache_client_region_id=[{"regionId":"#regionId#"}]
ClientKey
訪問KMS服務(wù)Endpoint
# 訪問憑據(jù)類型 credentials_type=client_key # 讀取client key的解密密碼:支持從環(huán)境變量或者文件讀取 client_key_password_from_env_variable=#your client key private key password environment variable name# client_key_password_from_file_path=#your client key private key password file path# # Client Key私鑰文件路徑 client_key_private_key_path=#your client key private key file path# # 關(guān)聯(lián)的KMS服務(wù)地域 cache_client_region_id=[{"regionId":"#regionId#"}]
訪問KMS實例Endpoint
參數(shù)配置項為
cache_client_dkms_config_info
。cache_client_dkms_config_info
采用JSON數(shù)組格式,您可配置多個KMS實例,以支持業(yè)務(wù)獲得更高標(biāo)準(zhǔn)的服務(wù)可用性保障和容災(zāi)能力。方式一:通過文件獲取ClientKey憑證口令
您還需要將password配置到文件中,文件名稱由您自定義,但需要和
passwordFromFilePath
的取值相同。cache_client_dkms_config_info=[{"regionId":"<your dkms region>","endpoint":"<your dkms endpoint>","passwordFromFilePath":"< your password file path >","clientKeyFile":"<your Client Key file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]
cache_client_dkms_config_info=[{"regionId":ch-hangzhou","endpoint":"kst-hzz634e67d126u9p9****.cryptoservice.kms.aliyuncs.com","passwordFromFilePath":"C:\RamSecretPlugin\src\main\resources\clientKeyPassword.txt","clientKeyFile":"C:\RamSecretPlugin\src\main\resources\clientKey_KAAP.json","ignoreSslCerts":false,"caFilePath":"C:\RamSecretPlugin\src\main\resources\PrivateKmsCA_kst-hzz634e67d126u9p9****.pem"}]
方式二:通過環(huán)境變量獲取ClientKey憑證口令
您還需要將password配置到系統(tǒng)環(huán)境變量中,變量名稱由您自定義,但需要和
passwordFromEnvVariable
的取值相同。cache_client_dkms_config_info=[{"regionId":"<your dkms region>","endpoint":"<your dkms endpoint>","passwordFromEnvVariable":"<YOUR_PASSWORD_ENV_VARIABLE>","clientKeyFile":"<your ClientKey file path>","ignoreSslCerts":false,"caFilePath":"<your CA certificate file path>"}]
各配置項說明:
配置項
配置項含義
說明
regionId
KMS實例所在地域ID。
具體的地域ID,請參見地域和接入地址。
endpoint
KMS實例的域名地址,格式為
{實例ID}.kms.aliyuncs.com
。在控制臺實例管理頁面,單擊目標(biāo)KMS實例,在實例詳情頁面查看實例VPC地址,將
https://
去掉后即為KMS實例的域名地址。clientKeyFile
ClientKey文件(JSON格式)的絕對路徑或相對路徑。
ClientKey文件:在應(yīng)用接入點AAP中創(chuàng)建ClientKey時下載的應(yīng)用身份憑證內(nèi)容(ClientKeyContent),下載后文件名默認(rèn)為ClientKey_******.json。
憑證口令:在應(yīng)用接入點AAP中創(chuàng)建ClientKey時下載的憑證口令(ClientKeyPassword),下載后文件名默認(rèn)為ClientKey_******_password.txt。
重要ClientKey文件和憑證口令是一一對應(yīng)的,僅支持您在創(chuàng)建ClientKey時獲取。如果您在創(chuàng)建時未保存,則需要在應(yīng)用接入點AAP中重新創(chuàng)建ClientKey。更多詳細(xì)內(nèi)容,請參見創(chuàng)建應(yīng)用接入點。
passwordFromFilePath或passwordFromEnvVariable
passwordFromFilePath:從文件中獲取憑證口令,取值為文件的絕對路徑或相對路徑。您需要將憑證口令保存到文件中。
passwordFromEnvVariable:從環(huán)境變量獲取憑證口令,取值為環(huán)境變量名稱。您需要將憑證口令配置到環(huán)境變量中。
ignoreSslCerts
是否忽略KMS實例SSL證書的有效性檢查。KMS實例內(nèi)置SSL證書,使用SSL/TLS協(xié)議用于身份驗證和加密通信。取值:
true:表示忽略,不檢查KMS實例SSL證書的有效性。
說明取值為true時,無需配置caFilePath。
false:表示驗證,檢查KMS實例SSL證書的有效性。
正式生產(chǎn)環(huán)境中,請將該值設(shè)置為false。
caFilePath
KMS實例CA證書文件的絕對路徑或相對路徑。
KMS實例CA證書,用于檢查KMS實例SSL證書的有效性。例如:檢查KMS實例SSL證書是否由對應(yīng)的CA中心簽發(fā)、是否在有效期內(nèi)、以及對應(yīng)的域名是否為KMS實例的域名地址(endpoint)。
在實例管理頁面,單擊獲取實例CA證書區(qū)域的下載,下載KMS實例的CA證書。
AccessKey(不推薦)
# 訪問憑據(jù)類型
credentials_type=ak
# AK
credentials_access_key_id=#access key id#
# SK
credentials_access_secret=#access key secret#
# 關(guān)聯(lián)的KMS服務(wù)地域
cache_client_region_id=[{"regionId":"#regionId#"}]