순환 정책을 기반으로 한 루트 키 순환

IBM Cloud® Hyper Protect Crypto Services를 사용하여 루트 키에 대한 자동 순환 정책을 설정할 수 있습니다.

루트 키에 대한 자동 순환 정책을 설정하는 경우 정기적으로 키의 수명을 줄이고 이 키로 보호되는 정보의 양을 제한합니다.

Hyper Protect Crypto Services에서 생성된 루트 키에 대해서만 순환 정책을 작성할 수 있습니다. 초기에 루트 키를 가져온 경우 base64로 인코딩된 새 키 자료를 제공하여 키를 순환해야 합니다. 자세한 정보는 요청 시 루트 키 순환을 참조하십시오.

Hyper Protect Crypto Services에서 키 순환 옵션에 대해 자세히 보시겠습니까? 자세한 정보는 키 순환 옵션 비교를 참조하십시오.

UI에서 순환 정책 관리

그래픽 인터페이스를 사용하여 루트 키에 대한 정책을 관리하려는 경우 UI를 사용할 수 있습니다.

  1. UI에 로그인하십시오.

  2. 메뉴 > 리소스 목록으로 이동하여 리소스 목록을 보십시오.

  3. IBM Cloud 리소스 목록에서 Hyper Protect Crypto Services의 프로비저닝된 인스턴스를 선택하십시오.

  4. KMS 키 페이지에서 테이블을 사용하여 서비스에서 키를 찾아보십시오.

  5. 조치 아이콘 조치 아이콘을 클릭하여 특정 키에 대한 옵션 목록을 여십시오.

  6. 옵션 메뉴에서 키 순환 정책 편집을 클릭하여 키에 대한 순환 정책을 관리하십시오.

  7. 키 순환켜기로 전환하고 슬라이더를 이동하여 월 순환 빈도를 선택하십시오.

    키에 기존 순환 정책이 있는 경우 인터페이스는 키의 기존 순환 기간을 표시합니다.

  8. 정책 저장을 클릭하여 키에 대한 정책을 설정하십시오.

지정한 순환 간격에 따라 키를 순환할 때가 되면 Hyper Protect Crypto Services가 루트 키를 새 키 자료로 자동으로 바꿉니다.

API로 순환 정책 관리

순환 정책 보기

상위 레벨 보기의 경우 다음 엔드포인트에 대한 GET 호출을 수행하여 루트 키와 연관된 순환 정책을 찾아볼 수 있습니다.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies
  1. 서비스 및 인증용 인증 정보를 검색하십시오.

  2. 다음 cURL 명령을 실행하여 지정된 키에 대한 순환 정책을 검색하십시오.

    curl -X GET \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'correlation-id: <correlation_ID>' \
      -H 'content-type: application/vnd.ibm.kms.policy+json'
    

    다음 표에 따라 예제 요청의 변수를 대체하십시오.

    표 1. API를 사용하여 순환 정책을 작성하는 데 필요한 변수를 설명합니다.
    가변 설명
    region 필수입니다. Hyper Protect Crypto Services 서비스 인스턴스가 상주하는 지리적 영역을 나타내는 지역 약어 (예: us-south 또는 eu-de) 입니다. 자세한 정보는 지역 서비스 엔드포인트를 참조하십시오.
    port 필수입니다. API 엔드포인트의 포트 번호입니다.
    key_ID 필수입니다. 기존 순환 정책이 있는 루트 키의 고유 ID입니다.
    IAM_token 필수입니다. 사용자의 IBM Cloud 액세스 토큰입니다. cURL 요청에 Bearer 값 등 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 정보는 액세스 토큰 검색을 참조하십시오.
    instance_ID 필수입니다. Hyper Protect Crypto Services 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 정보는 인스턴스 ID 검색을 참조하십시오.
    correlation_ID 트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다.

    성공한 GET api/v2/keys/{id}/policies 응답은 키와 연관된 정책 세부사항을 리턴합니다. 다음 JSON 오브젝트는 기존 순환 정책이 있는 루트 키에 대한 응답 예를 표시합니다.

    {
        "metadata": {
            "collectionTotal": 1,
            "collectionType": "application/vnd.ibm.kms.policy+json"
        },
        "resources": [
        {
            "id": "a1769941-9805-4593-b6e6-290e42dd1cb5",
            "rotation": {
                "interval_month": 1
            },
            "createdby": "IBMid-503CKNRHR7",
            "createdat": "2019-03-06T16:31:05Z",
            "updatedby": "IBMid-503CKNRHR7",
            "updatedat": "2019-03-06T16:31:05Z"
        }
      ]
    }
    

    interval_month 값은 월 단위 키 순환 빈도를 표시합니다.

순환 정책 작성

다음 엔드포인트에 대한 PUT 호출을 작성하여 루트 키에 대한 순환 정책을 작성하십시오.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies
  1. 서비스 및 인증용 인증 정보를 검색하십시오.

  2. 다음 cURL 명령을 실행하여 지정된 키에 대한 순환 정책을 작성하십시오.

    curl -X PUT \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'correlation-id: <correlation_ID>' \
      -H 'content-type: application/vnd.ibm.kms.policy+json' \
      -d '{
     "metadata": {
       "collectionType": "application/vnd.ibm.kms.policy+json",
       "collectionTotal": 1
     },
     "resources": [
       {
       "type": "application/vnd.ibm.kms.policy+json",
       "rotation": {
         "interval_month": <rotation_interval>
        }
       }
      ]
    }'
    

    다음 표에 따라 예제 요청의 변수를 대체하십시오.

    표 2. API를 사용하여 순환 정책을 작성하는 데 필요한 변수를 설명합니다.
    가변 설명
    region 필수입니다. Hyper Protect Crypto Services 서비스 인스턴스가 상주하는 지리적 영역을 나타내는 지역 약어 (예: us-south 또는 eu-de) 입니다. 자세한 정보는 지역 서비스 엔드포인트를 참조하십시오.
    port 필수입니다. API 엔드포인트의 포트 번호입니다.
    key_ID 필수입니다. 순환 정책을 작성할 루트 키의 고유 ID입니다.
    IAM_token 필수입니다. 사용자의 IBM Cloud 액세스 토큰입니다. cURL 요청에 Bearer 값 등 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 정보는 액세스 토큰 검색을 참조하십시오.
    instance_ID 필수입니다. Hyper Protect Crypto Services 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 정보는 인스턴스 ID 검색을 참조하십시오.
    correlation_ID 트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다.
    rotation_interval 필수입니다. 월 단위 키 순환 간격을 판별하는 정수 값입니다. 최소값은 1 이고 최대값은 12 입니다.

    성공한 PUT api/v2/keys/{id}/policies 응답은 키와 연관된 정책 세부사항을 리턴합니다. 다음 JSON 오브젝트는 기존 순환 정책이 있는 루트 키에 대한 응답 예를 표시합니다.

    {
        "metadata": {
            "collectionTotal": 1,
            "collectionType": "application/vnd.ibm.kms.policy+json"
        },
        "resources": [
        {
            "id": "a1769941-9805-4593-b6e6-290e42dd1cb5",
            "rotation": {
                "interval_month": 1
            },
            "createdby": "IBMid-503CKNRHR7",
            "createdat": "2019-03-06T16:31:05Z",
            "updatedby": "IBMid-503CKNRHR7",
            "updatedat": "2019-03-06T16:31:05Z"
        }
      ]
    }
    

순환 정책 업데이트

다음 엔드포인트에 대한 PUT 호출을 작성하여 루트 키에 대한 기존 정책을 업데이트하십시오.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies
  1. 서비스 및 인증용 인증 정보를 검색하십시오.

  2. 다음 cURL 명령을 실행하여 지정된 키에 대한 순환 정책을 바꾸하십시오.

    curl -X PUT \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'correlation-id: <correlation_ID>' \
      -H 'content-type: application/vnd.ibm.kms.policy+json' \
      -d '{
     "metadata": {
       "collectionType": "application/vnd.ibm.kms.policy+json",
       "collectionTotal": 1
     },
     "resources": [
       {
       "type": "application/vnd.ibm.kms.policy+json",
       "rotation": {
         "interval_month": <new_rotation_interval>
        }
       }
      ]
    }'
    

    다음 표에 따라 예제 요청의 변수를 대체하십시오.

    표 3. API를 사용하여 순환 정책을 작성하는 데 필요한 변수를 설명합니다.
    가변 설명
    region 필수입니다. Hyper Protect Crypto Services 서비스 인스턴스가 상주하는 지리적 영역을 나타내는 지역 약어 (예: us-south 또는 eu-de) 입니다. 자세한 정보는 지역 서비스 엔드포인트를 참조하십시오.
    port 필수입니다. API 엔드포인트의 포트 번호입니다.
    key_ID 필수입니다. 순환 정책을 바꿀 루트 키의 고유 ID입니다.
    IAM_token 필수입니다. 사용자의 IBM Cloud 액세스 토큰입니다. cURL 요청에 Bearer 값 등 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 정보는 액세스 토큰 검색을 참조하십시오.
    instance_ID 필수입니다. Hyper Protect Crypto Services 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 정보는 인스턴스 ID 검색을 참조하십시오.
    correlation_ID 트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다.
    new_rotation_interval 필수입니다. 월 단위 키 순환 간격을 판별하는 정수 값입니다. 최소값은 1 이고 최대값은 12 입니다.

    성공한 PUT api/v2/keys/{id}/policies 응답은 키와 연관된 업데이트된 정책 세부사항을 리턴합니다. 다음 JSON 오브젝트는 업데이트된 순환 정책이 있는 루트 키에 대한 응답 예를 표시합니다.

    {
        "metadata": {
            "collectionTotal": 1,
            "collectionType": "application/vnd.ibm.kms.policy+json"
        },
        "resources": [
        {
            "id": "a1769941-9805-4593-b6e6-290e42dd1cb5",
            "rotation": {
                "interval_month": 2
            },
            "createdby": "IBMid-503CKNRHR7",
            "createdat": "2019-03-06T16:31:05Z",
            "updatedby": "IBMid-820DPWINC2",
            "updatedat": "2019-03-10T12:24:22Z"
        }
      ]
    }
    

    interval_monthupdatedat 값이 키에 대한 정책 세부사항에서 업데이트됩니다. 다른 사용자가 처음에 작성한 키에 대한 정책을 업데이트하는 경우에도 updatedby 값이 요청을 보낸 사용자의 ID를 표시하도록 변경됩니다.

다음에 수행할 작업

  • 순환 정책을 설정하고 루트 키가 순환되면 새 암호 키 자료는 루트 키와 연관된 데이터 암호화 키(DEK)를 보호하는 데 사용할 수 있습니다. 일반 텍스트 양식으로 키를 노출하지 않고 DEKS를 다시 암호화하거나 다시 랩핑하는 방법을 학습하십시오. 키 다시 랩핑 을 참조하십시오.
  • 엔벨로프 암호화를 통해 클라우드에서 저장 데이터의 보안을 제어하는 방법을 알아보려면 엔벨로프 암호화로 데이터 보호를 참조하십시오.
  • 프로그래밍 방식으로 키를 관리하는 방법에 대해 자세히 알아보려면 Hyper Protect Crypto Services 키 관리 서비스 API 참조 문서를 확인하십시오.