您可以通过Terraform创建并管理应用接入点。本文以创建应用接入点为例进行介绍。
概述
自建应用进行密码运算操作、获取凭据值前,需要通过应用接入点中的应用身份凭证(ClientKey)访问KMS实例。了解更多关于应用接入点的Terraform配置信息,请参见alicloud_kms_application_access_point。
说明
如果您是通过云产品加密使用KMS实例中密钥,或者通过KMS SDK使用凭据,不需要创建应用接入点。如果需要通过KMS实例SDK调用KMS实例中的密钥或凭据,则需要创建应用接入点。
使用限制
Terraform需要为0.14.0及以上版本,建议使用最新版本,您可以登录Terraform官网下载。
前提条件
使用RAM用户登录Terraform时,需要为该RAM用户授予AliyunKMSFullAccess(管理密钥管理服务)权限。具体操作,请参见为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
命令。