Utilisez le SDK Python 3 pour appeler l'API GetSecretValue et récupérer la valeur d'un secret depuis une instance KMS.
Pour Python 2, consultez la source GitHub. Pour Python 3, consultez la source GitHub.
Prérequis
Avant de commencer, initialisez un client SDK pour l'instance KMS. Consultez la rubrique Initialiser le client.
Exemple complet
Détails de l'exemple
Initialiser le client
import os
from openapi.models import Config
from sdk.client import Client
config = Config()
# KMS instance services only allow access through HTTPS.
config.protocol = "https"
# Path to your Client Key file.
config.client_key_file = "<CLIENT_KEY_FILE>"
# Client Key decryption password, read from an environment variable.
config.password = os.getenv('CLIENT_KEY_PASSWORD')
# Endpoint format: <your-kms-instance-id>.cryptoservice.kms.aliyuncs.com
config.endpoint = "<ENDPOINT>"
client = Client(config)
La variable CLIENT_KEY_PASSWORD est lue depuis une variable d'environnement plutôt que d'être codée en dur, ce qui évite d'exposer les identifiants dans votre code source.
Appeler l'API GetSecretValue
def get_secret_value(secret_name):
request = GetSecretValueRequest()
request.secret_name = secret_name
runtime_options = RuntimeOptions()
# Ignore server-side certificate.
# runtime_options.ignore_ssl = True
# Path to the KMS instance CA certificate.
runtime_options.verify = "<CA_CERTIFICATE_FILE_PATH>"
resp = client.get_secret_value_with_options(request, runtime_options)
print(resp)
La méthode get_secret_value_with_options accepte un objet GetSecretValueRequest et un objet RuntimeOptions. Le champ verify pointe vers le certificat CA de l'instance KMS, utilisé par le SDK pour valider la connexion au serveur.