Recupere o valor de um segredo de uma instância do Key Management Service (KMS) por meio da API GetSecretValue. Os exemplos em PHP a seguir incluem um script completo e executável, além de uma explicação passo a passo.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância KMS com o cliente SDK inicializado. Consulte Inicializar cliente.
Um arquivo ClientKey obtido no gerenciamento de aplicativos do KMS, com a senha de criptografia armazenada na variável de ambiente
CLIENT_KEY_PASSWORD.Um segredo (credencial) criado na sua instância KMS.
Exemplo completo
Explicação do exemplo
Inicializar cliente
A função getDkmsGcsSdkClient() cria e retorna o cliente SDK da instância KMS. Ela instancia um objeto Config com o conteúdo do ClientKey, a senha, o endpoint e o caminho do certificado CA. Defina o protocolo como https.
function getDkmsGcsSdkClient() {
global $clientKeyContent, $password, $endpoint;
$config = new AlibabaCloudDkmsGcsOpenApiConfig();
$config->protocol = 'https';
$config->clientKeyContent = $clientKeyContent;
$config->password = $password;
// Format: <KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com
$config->endpoint = $endpoint;
$config->caFilePath = 'path/to/caCert.pem';
return new AlibabaCloudDkmsGcsSdkClient($config);
}
Chamar a API GetSecretValue
A função getSecretValueSample() chama getSecretValueWithOptions() com o nome do segredo e as opções de execução. A resposta contém os campos secretName e secretData.
function getSecretValueSample() {
global $client, $secretName;
$getSecretValueRequest = new GetSecretValueRequest([
'secretName' => $secretName,
]);
$runtimeOptions = new RuntimeOptions();
// Uncomment the following line to skip server certificate verification.
// $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());
}
}