azurekeyvault KMS

azurekeyvault KMS

Azure Key Vault KMS는 키 관리를 위해 Boundary가 Azure Key Vault를 사용하도록 구성해요. Azure Key Vault KMS는 Boundary 구성 파일에 kms "azurekeyvault" 블록이 있으면 활성화돼요.

출처: HashiCorp Boundary docs

본문

Azure Key Vault KMS는 키 관리를 위해 Boundary가 Azure Key Vault를 사용하도록 구성해요. Azure Key Vault KMS는 다음 중 하나로 활성화돼요.

  • Boundary 구성 파일에 azurekeyvault 인증(seal) 블록이 있는 경우.

azurekeyvault 예시

이 예시는 필요한 모든 값을 제공해 Boundary 구성 파일을 통해 Azure Key Vault KMS를 구성하는 방법을 보여줘요.

kms "azurekeyvault" {
  purpose        = "root"
  tenant_id      = "46646709-b63e-4747-be42-516edeaf1e14"
  client_id      = "03dc33fc-16d9-4b77-8152-3ec568f8af6e"
  client_secret  = "DUJDS3..."
  vault_name     = "hc-vault"
  key_name       = "vault_key"
  key_id         = "global_worker-auth"
}

azurekeyvault 파라미터

이 파라미터들은 Boundary 구성 파일의 kms 스탠자에 적용돼요.

  • purpose — 이 KMS의 목적이에요. 허용되는 값은 bsr, config, downstream-worker-auth, previous-root, recovery, root, worker-auth, worker-auth-storage예요. 세션 녹화를 활성화하려면 purpose에 bsr 값을 구성해야 해요. 지원되는 KMS purpose에 대한 자세한 내용은 Data encryption in Boundary를 참고하세요.
  • tenant_id (string: <required>) — Azure Active Directory 조직의 테넌트 ID예요. AZURE_TENANT_ID 환경 변수로도 지정할 수 있어요.
  • client_id (string: <required or MSI>) — Azure API를 쿼리하기 위한 자격 증명의 클라이언트 ID예요. AZURE_CLIENT_ID 환경 변수로도 지정할 수 있어요.
  • client_secret (string: <required or MSI>) — Azure API를 쿼리하기 위한 자격 증명의 클라이언트 시크릿이에요. AZURE_CLIENT_SECRET 환경 변수로도 지정할 수 있어요.
  • environment (string: "AZUREPUBLICCLOUD") — 사용할 Azure Cloud 환경 API 엔드포인트예요. AZURE_ENVIRONMENT 환경 변수로도 지정할 수 있어요.
  • vault_name (string: <required>) — 암호화와 복호화에 암호화 키를 사용할 Key Vault볼트예요. AZUREKEYVAULT_WRAPPER_VAULT_NAME 환경 변수로도 지정할 수 있어요.
  • key_name (string: <required>) — 암호화와 복호화에 사용할 Key Vault 키예요. AZUREKEYVAULT_WRAPPER_KEY_NAME 환경 변수로도 지정할 수 있어요.
  • key_id — 이 키의 고유한 이름이에요. 루트 키 마이그레이션을 수행할 때 키를 식별하는 데 사용돼요. key_id 필드는 모든 KMS 스탠자에서 사용할 수 있어요.

인증

인증 관련 값은 환경 변수나 구성 파라미터로 제공해야 해요.

Azure 인증 값:

  • AZURE_TENANT_ID
  • AZURE_CLIENT_ID
  • AZURE_CLIENT_SECRET
  • AZURE_ENVIRONMENT