您可以通過Terraform建立並管理密鑰。本文以建立密鑰為例進行介紹。
概述
KMS支援您建立預設密鑰(主要金鑰),該密鑰不需要購買KMS執行個體即可建立,也支援您在KMS執行個體中建立密鑰。關於密鑰的更多資訊,請參見密鑰服務概述。
瞭解更多關於密鑰管理的Terraform配置資訊,請參見alicloud_kms_key。
使用限制
Terraform需要為0.14.0及以上版本,建議使用最新版本,您可以登入Terraform官網下載。
前提條件
使用RAM使用者登入Terraform時,需要為該RAM使用者授予AliyunKMSFullAccess(管理Key Management Service)許可權。具體操作,請參見為RAM使用者授權。
建立預設密鑰(主要金鑰)
建立一個工作目錄,並且在工作目錄中建立以下名為main.tf的設定檔。
main.tf:Terraform主檔案,定義了將要部署的資源。
//建立預設密鑰(主要金鑰) resource "alicloud_kms_key" "default_key_encrypt_decrypt" { description = "default_key_encrypt_decrypt description" key_usage = "ENCRYPT/DECRYPT" key_spec = "Aliyun_AES_256" origin = "Aliyun_KMS" pending_window_in_days = 7 tags = { "Environment" = "Production" "Name" = "KMS-01" "SupportTeam" = "PlatformEngineering" "Contact" = "group@example.com" } } //密鑰別名為alias/default_key_encrypt_decrypt_alias,在整個阿里雲帳號下唯一。 resource "alicloud_kms_alias" "default_key_encrypt_decrypt_alias" { alias_name = "alias/default_key_encrypt_decrypt_alias" key_id = alicloud_kms_key.default_key_encrypt_decrypt.id }
執行
terraform init
命令初始化Terraform運行環境。執行
terraform plan
命令產生資源規劃。執行
terraform apply
命令建立密鑰。
在KMS執行個體中建立一個密鑰
建立一個工作目錄,並且在工作目錄中建立以下名為main.tf的設定檔。
執行
terraform init
命令初始化Terraform運行環境。執行
terraform plan
命令產生資源規劃。執行
terraform apply
命令建立密鑰。
main.tf:Terraform主檔案,定義了將要部署的資源。
//您需要已建立KMS執行個體kst-shh634e71ecu88d6e****
variable "soft_kms_instance" {
default = "kst-shh634e71ecu88d6e****"
}
//在kst-shh634e71ecu88d6e****執行個體中建立一個密鑰
//密鑰規格為Aliyun_AES_256,密鑰用途是加密解密(ENCRYPT/DECRYPT)
resource "alicloud_kms_key" "kms_software_key_encrypt_decrypt" {
description = "default_key_encrypt_decrypt description"
key_usage = "ENCRYPT/DECRYPT"
key_spec = "Aliyun_AES_256"
dkms_instance_id = var.soft_kms_instance
pending_window_in_days = 7
tags = {
"Environment" = "Production"
"Name" = "KMS-01"
"SupportTeam" = "PlatformEngineering"
"Contact" = "aliyun@example.com"
}
}
//密鑰別名為alias/kms_software_key_encrypt_decrypt,在整個阿里雲帳號下唯一。
resource "alicloud_kms_alias" "kms_software_key_encrypt_decrypt_alias" {
alias_name = "alias/kms_software_key_encrypt_decrypt"
key_id = alicloud_kms_key.kms_software_key_encrypt_decrypt.id
}