全部產品
Search
文件中心

Key Management Service:建立密鑰

更新時間:Jul 06, 2024

您可以通過Terraform建立並管理密鑰。本文以建立密鑰為例進行介紹。

概述

KMS支援您建立預設密鑰(主要金鑰),該密鑰不需要購買KMS執行個體即可建立,也支援您在KMS執行個體中建立密鑰。關於密鑰的更多資訊,請參見密鑰服務概述

瞭解更多關於密鑰管理的Terraform配置資訊,請參見alicloud_kms_key

使用限制

Terraform需要為0.14.0及以上版本,建議使用最新版本,您可以登入Terraform官網下載。

前提條件

使用RAM使用者登入Terraform時,需要為該RAM使用者授予AliyunKMSFullAccess(管理Key Management Service)許可權。具體操作,請參見為RAM使用者授權

建立預設密鑰(主要金鑰)

  1. 建立一個工作目錄,並且在工作目錄中建立以下名為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
    }
  2. 執行terraform init命令初始化Terraform運行環境。

  3. 執行terraform plan命令產生資源規劃。

  4. 執行terraform apply命令建立密鑰。

在KMS執行個體中建立一個密鑰

  1. 建立一個工作目錄,並且在工作目錄中建立以下名為main.tf的設定檔。

  2. 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
    }
  3. 執行terraform init命令初始化Terraform運行環境。

  4. 執行terraform plan命令產生資源規劃。

  5. 執行terraform apply命令建立密鑰。