랜딩 구역 배치 가능 아키텍처에서 키 관리 대체

랜딩 구역 배치 가능 아키텍처는 IBM Key Protect 또는 Hyper Protect Crypto Services를 통합하여 키 관리 기능을 제공합니다. 대부분의 입력에서 가능하지 않은 키 관리에 대한 고급 수정을 수행하려면 대체 입력을 사용합니다.

값을 대체하려면 대체 입력 변수에서 JSON key_management 오브젝트를 전달합니다. 프로젝트 또는 IBM Cloud Schematics이 있는 배치의 경우 값이 override_json_string 입력에 추가됩니다. IBM Key Protect 및 Hyper Protect Crypto Services 모두 랜딩 구역 배치 가능 아키텍처 에서 지원됩니다.

랜딩 구역 구성 도구 를 사용하여 배치 가능한 아키텍처를 사용자 정의할 수도 있습니다.

예제 키 관리 대체

이 예제에서는 배치 가능한 아키텍처에 키 관리 서비스 (KMS) 를 포함하는 몇 가지 공통 유스 케이스를 식별합니다.

랜딩 구역 배치 가능 아키텍처에서 지원되는 키 관리 속성의 전체 목록은 GitHub에 있는 terraform-ibm-landing-zone 저장소의 입력 섹션 에서 key_management 오브젝트를 참조하십시오.

Key Protect 인스턴스 및 키 작성

이 예제는 기본 구성을 설명하며 대체 값이 필요하지 않습니다. 그러나 예제에서는 다른 입력 변수 (예: 키 이름) 에서 사용할 수 없는 값을 대체할 수 있음을 보여줍니다. 이 겹쳐쓰기 예제는 test-kms라는 IBM Key Protect 의 인스턴스를 작성하고 test-kms 인스턴스에서 slz-slz-key, slz-atracker-key, slz-roks-keyslz-vsi-volume-key 라는 키를 작성합니다.

  1. 다음 JSON을 복사하십시오.

    {
      "key_management": {
        "keys": [
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-slz-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-atracker-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-roks-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-vsi-volume-key",
            "root_key": true
          }
        ],
        "name": "test-kms",
        "resource_group": "testrg"
      }
    }
    
  2. 프로젝트 구성 편집 섹션의 단계에 따라 배치 가능한 아키텍처를 수정하십시오.

기존 KMS에서 키 작성

이 겹쳐쓰기 예제는 test-kms 라는 기존 IBM Key Protect 인스턴스를 사용합니다. use_datatrue 로 설정하여 기존 인스턴스를 사용할 수 있습니다. 예제의 나머지 부분에서는 기존 인스턴스에서 slz-slz-ring 로 이름 지정된 키 링에 네 개의 키를 작성합니다.

Key Protect대신 Hyper Protect Crypto Services 를 사용하려면 "use_data": true 대신 "use_hs_crypto": true 를 전달하십시오.

  1. 다음 JSON을 복사하십시오.

    {
      "key_management": {
        "keys": [
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-slz-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-atracker-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-roks-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-vsi-volume-key",
            "root_key": true
          }
        ],
        "name": "test-kms",
        "resource_group": "testrg",
        "use_data": true
      }
    }
    
  2. 프로젝트 구성 편집 섹션의 단계에 따라 배치 가능한 아키텍처를 수정하십시오.

KMS 없이 기존 키 사용

기존 KMS 인스턴스에서 가져오지 않고 기존 키를 사용하려면 키의 CRN을 포함하십시오. CRN은 배치 가능한 아키텍처를 배치하는 계정의 키 또는 다른 계정의 키를 참조할 수 있습니다. 기존 키의 속성은 nameexisting_key_crn 입니다. 기존 키 CRN을 사용하는 경우 block-storagecloud-object-storage 가 외부 계정의 KMS에 액세스할 수 있도록 하는 인증 정책이 있어야 합니다. 자세한 정보는 권한을 사용하여 서비스 간 액세스 부여 를 참조하십시오.

배치 가능한 아키텍처에서 KMS를 작성하지 않으려면 key_management.namekey_management.resource_group 를 생략해야 합니다.

  1. 다음 JSON을 복사하십시오.

    {
      "key_management": {
        "keys": [
          {
            "name": "slz-slz-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:6128229e-1bbb-4c25-827c-c97f077fb585"
          },
          {
            "name": "slz-atracker-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:9157cce8-3c1a-42be-b67f-0103426bc147"
          },
          {
            "name": "slz-roks-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:7ccfb2a6-4d7d-4e85-af35-9548cda719d0:key:682c774b-c781-4bbb-b3b7-3ddf1831ab2f"
          },
          {
            "name": "slz-vsi-volume-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:8c2ac54e-ac85-47da-8d03-06acb7f60ab3"
          }
        ]
      }
    }
    
  2. 프로젝트 구성 편집 섹션의 단계에 따라 배치 가능한 아키텍처를 수정하십시오.

기존 키 사용 및 추가 키 작성

이 예에서는 키를 작성하고 기존 키도 사용합니다. test-kms 라는 Key Protect 인스턴스는 slz-slz-key, slz-atracker-keyslz-roks-key 라는 세 개의 키를 사용하여 작성됩니다. 또한 기존 slz-vsi-volume-key 키가 사용됩니다.

이 예제에서 기존 키는 KMS 인스턴스 없이 키를 가져오기 위해 CRN으로 식별됩니다. 또는 기존 KMS에서 키 작성 예제에서와 같이 "use_data": true 를 설정할 수 있습니다. 기존 키 CRN을 사용하는 경우 block-storage, cloud-object-storagesecrets-manager 가 외부 계정의 KMS에 액세스할 수 있도록 하는 인증 정책이 있어야 합니다. 자세한 정보는 서비스 간 액세스 권한을 부여하기 위해 권한 사용을 참조하십시오.

  1. 다음 JSON을 복사하십시오.

    {
      "key_management": {
        "keys": [
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-slz-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-atracker-key",
            "root_key": true
          },
          {
            "key_ring": "slz-slz-ring",
            "name": "slz-roks-key",
            "root_key": true
          },
          {
            "name": "slz-vsi-volume-key",
            "existing_key_crn": "crn:v1:bluemix:public:kms:ca-tor:a/testaccountid:15658dcb-7434-4ff7-961a-79cae8d9baca:key:8c2ac54e-ac85-47da-8d03-06acb7f60ab3"
          }
        ],
        "name": "test-kms",
        "resource_group": "testrg"
      }
    }
    
  2. 프로젝트 구성 편집 섹션의 단계에 따라 배치 가능한 아키텍처를 수정하십시오.

프로젝트 구성 편집

다음 단계를 예제와 함께 사용하여 배치 가능한 아키텍처의 구성을 대체하십시오.

  1. JSON 예제를 복사하십시오. 사용자의 요구에 맞게 수정하십시오.

  2. 배치 가능한 아키텍처의 override_json_string 입력 변수에 JSON을 추가하십시오.

    1. 프로젝트 페이지로 이동하여 프로젝트를 선택하십시오.
    2. 구성 탭으로 이동하여 배치 가능한 아키텍처 구성을 선택하십시오.
    3. 편집을 클릭하십시오.
    4. 구성 섹션에서 선택사항 패널을 클릭하십시오.
    5. override_json_string 을 찾고 JSON 편집을 클릭하십시오.
    6. 이전에 복사한 이 JSON을 붙여넣고 저장 을 클릭하십시오.
  3. 변경사항의 유효성을 검증하고 승인하십시오.