您可以通過Terraform建立並管理應用存取點。本文以建立應用存取點為例進行介紹。
概述
自建應用進行密碼運算操作、擷取憑據值前,需要通過應用存取點中的應用身份憑證(ClientKey)訪問KMS執行個體。瞭解更多關於應用存取點的Terraform配置資訊,請參見alicloud_kms_application_access_point。
說明
如果您是通過雲產品加密使用KMS執行個體中密鑰,或者通過KMS SDK使用憑據,不需要建立應用存取點。如果需要通過KMS執行個體SDK調用KMS執行個體中的密鑰或憑據,則需要建立應用存取點。
使用限制
Terraform需要為0.14.0及以上版本,建議使用最新版本,您可以登入Terraform官網下載。
前提條件
使用RAM使用者登入Terraform時,需要為該RAM使用者授予AliyunKMSFullAccess(管理Key Management Service)許可權。具體操作,請參見為RAM使用者授權。
操作步驟
建立一個工作目錄,並且在工作目錄中建立以下名為
main.tf
的設定檔。main.tf:Terraform主檔案,定義了將要部署的資源。
/* 1.建立網路控制規則 2.建立存取控制策略 3.建立應用存取點 4.建立應用身份憑證 */ resource "alicloud_kms_network_rule" "network_rule_example"{ network_rule_name = "sample_network_rule" description = "description_test_module" source_private_ip = ["10.10.XX.XX/16","192.168.XX.XX/8"] } resource "alicloud_kms_policy" "policy_example"{ policy_name = "sample_policy" description = "description_test_module" permissions = ["RbacPermission/Template/CryptoServiceKeyUser","RbacPermission/Template/CryptoServiceSecretUser"] resources = ["key/*","secret/*"] kms_instance_id = "kst-hzz634e67d126u9p9****" access_control_rules = <<EOF { "NetworkRules":[ "alicloud_kms_network_rule.network_rule_example.network_rule_name" ] } EOF } resource "alicloud_kms_application_access_point" "application_access_point_example"{ application_access_point_name = "sample_aap" policies = [alicloud_kms_policy.policy_example.policy_name] description = "aap_description" } resource "alicloud_kms_client_key" "client_key"{ aap_name = alicloud_kms_application_access_point.application_access_point_example.application_access_point_name password = "Kwcn0B****" not_before = "2023-09-01T14:11:22Z" not_after = "2032-09-01T14:11:22Z" // 設定儲存應用身份憑證的本地檔案地址 private_key_data_file = "./client_key.json" }
重要應用存取點建立成功後,請您在自己設定的本地檔案地址擷取應用身份憑證,並妥善儲存。
password可通過Terraform的敏感輸入參數方式設定。
執行
terraform init
命令初始化Terraform運行環境。執行
terraform plan
命令產生資源規劃。執行
terraform apply
命令。