创建应用接入点

您可以通过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用户授权

操作步骤

  1. 创建一个工作目录,并且在工作目录中创建以下名为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的敏感输入参数方式设置。

  2. 执行terraform init命令初始化Terraform运行环境。

  3. 执行terraform plan命令生成资源规划。

  4. 执行terraform apply命令。