Vous pouvez appliquer des valeurs secrètes et chiffrées aux configurations Terraform que vous ajoutez aux conceptions de modèle de cloud de Cloud Assembly.
- Dans votre référentiel git, ajoutez un fichier source de configuration Terraform qui fait référence aux propriétés secrètes sous forme de variables.
Dans cet exemple de source de configuration Terraform, les clés d'API et d'application sont les variables secrètes.
variable "datadog_api_key" { description = "Datadog API Key" } variable "datadog_app_key" { description = "Datadog App Key" } provider "datadog" { api_key = "${var.datadog_api_key}" app_key = "${var.datadog_app_key}" } # Create a new monitor resource "datadog_monitor" "default" { # ... } # Create a new timeboard resource "datadog_timeboard" "default" { # ... }
- Dans Cloud Assembly, accédez à , et entrez les valeurs des propriété secrètes.
Ajoutez des noms secrets et des valeurs correspondantes. Pour les noms, il est plus facile d'entrer simplement le même nom que celui de la variable de votre source Terraform.
Si nécessaire, consultez Propriétés secrètes Cloud Assembly pour plus de détails.
- Dans Cloud Assembly, importez la configuration Terraform à utiliser dans un modèle de cloud.
Accédez à
et cliquez sur .Note : Même si les variables s'affichent pour sélection sur la dernière page de l'Assistant, vous n'avez pas besoin de définir les variables secrètes comme sensibles. Les variables secrètes de Cloud Assembly seront déjà chiffrées et n'ont pas besoin du chiffrement appliqué par l'assistant.Si nécessaire, consultez Conception pour les configurations Terraform dans Cloud Assembly pour plus de détails.
L'exemple de modèle de cloud doit ressembler au code suivant :
inputs: datadog_api_key: type: string description: Datadog API Key datadog_app_key: type: string description: Datadog App Key resources: terraform: type: Cloud.Terraform.Configuration properties: variables: datadog_api_key: '${input.datadog_api_key}' datadog_app_key: '${input.datadog_app_key}' providers: [] terraformVersion: 0.12.29 configurationSource: repositoryId: 0fbf8f5e-54e1-4da3-9508-2b701gf25f51 commitId: ed12424b249aa50439kr1c268942a4616bd751b6 sourceDirectory: datadog
- Dans l'éditeur de code, pour les valeurs secrètes, définissez manuellement
input
sursecret
comme indiqué.terraform: type: Cloud.Terraform.Configuration properties: variables: datadog_api_key: '${secret.datadog_api_key}' datadog_app_key: '${secret.datadog_app_key}'
- Dans la section
inputs:
du code, supprimez les entrées qui ont été remplacées par les liaisons en propriétés secrètes.