初始化KMS執行個體SDK用戶端後,您可以通過用戶端調用GetSecretValue介面擷取憑據值。本文介紹擷取憑據值的程式碼範例。
完整程式碼範例
調用介面擷取憑據值。
源碼github地址:GetSecretValue.php
程式碼範例解析
初始化用戶端
關於初始化用戶端的詳細介紹,請參見初始化用戶端。
<?php
use AlibabaCloud\Dkms\Gcs\Sdk\Client as AlibabaCloudDkmsGcsSdkClient;
use AlibabaCloud\Dkms\Gcs\OpenApi\Models\Config as AlibabaCloudDkmsGcsOpenApiConfig;
function getDkmsGcsSdkClient()
{
global $clientKeyContent, $password, $endpoint;
// 構建KMS執行個體SDK Client配置
$config = new AlibabaCloudDkmsGcsOpenApiConfig();
//連線協定請設定為"https"。KMS執行個體服務僅允許通過HTTPS協議訪問。
$config->protocol = 'https';
//Client Key。
$config->clientKeyContent = $clientKeyContent;
//Client Key口令。
$config->password = $password;
//設定endpoint為<your KMS Instance Id>.cryptoservice.kms.aliyuncs.com。
$config->endpoint = $endpoint;
// 執行個體CA認證
$config->caFilePath = 'path/to/caCert.pem';
// 構建KMS執行個體SDK Client對象
return new AlibabaCloudDkmsGcsSdkClient($config);
}調用GetSecretValue介面擷取憑據值
function getSecretValueSample(){
global $client, $secretName;
// 構建擷取憑據請求
$getSecretValueRequest = new GetSecretValueRequest([
'secretName' => $secretName,
]);
// 忽略服務端認證
$runtimeOptions = new RuntimeOptions();
//$runtimeOptions->ignoreSSL = true;
try {
// 調用擷取憑據介面
$getSecretValueResponse = $client->getSecretValueWithOptions($getSecretValueRequest, $runtimeOptions);
// 憑據名稱
$_secretName = $getSecretValueResponse->secretName;
// 憑據值
$_secretData = $getSecretValueResponse->secretData;
var_dump($getSecretValueResponse->toMap());
} catch (\Exception $error) {
if ($error instanceof \AlibabaCloud\Tea\Exception\TeaError) {
var_dump($error->getErrorInfo());
}
var_dump($error->getMessage());
var_dump($error->getTraceAsString());
}
}