루트 키와 암호화된 IBM Cloud 리소스 간의 연관 보기

IBM Cloud® Hyper Protect Crypto Services 키 관리 서비스 API를 사용하여 루트 키 및 기타 클라우드 자원(예: IBM Cloud Object Storage 버킷) 간의 연관을 확인할 수 있습니다.

엔벨로프 암호화로 저장 데이터를 보호하도록 루트 키를 사용하는 경우 키를 사용하는 클라우드 서비스는 보호하는 키와 리소스 간에 등록을 작성할 수 있습니다. 등록은 어떠한 암호화 키가 IBM Cloud에서 어떠한 데이터를 보호하는지를 파악하는 데 도움이 되는 키와 클라우드 리소스 간의 연관입니다.

표 1. 키 등록의 이점에 대해 설명합니다.
이점 설명
보호된 리소스의 중앙화된 보기 Hyper Protect Crypto Services 인스턴스의 관리자는 루트 키로 보호된 클라우드 리소스를 빠르게 이해할 수 있기를 원합니다.
보안 및 규제 준수 서비스 관리자는 루트 키 영구 삭제로 호출된 위험을 판별할 수 있는 방법이 필요합니다. 조직의 보안 또는 규제 준수 요구사항에 따라 노출을 평가할 수 있도록 어떠한 키가 어떠한 데이터를 적극적으로 보호하는지 조사하려고 합니다.

키 등록은 클라우드 서비스에서 Hyper Protect Crypto Services과(와)의 통합 중에 사용할 수 있는 경우에만 사용 가능한 추가 기능입니다. 통합 서비스에서 키 등록을 지원하는지 여부를 판별하려면 서비스 문서에서 자세한 정보를 참조하십시오.

UI를 사용하여 보호된 자원 보기

Hyper Protect Crypto Services GUI를 사용하여 Hyper Protect Crypto Services 키와 클라우드 리소스 간에 사용 가능한 등록을 찾아볼 수 있습니다.

루트 키와 연관되어 있는 보호된 리소스 보기

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

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

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

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

  5. 보호된 특정 루트 키 자원을 확인하려면 조치 아이콘 조치 아이콘을 클릭하여 키에 대한 옵션 목록을 열고 연관된 자원 보기를 선택하여 해당 키로 보호되는 모든 자원을 탐색하십시오.

    표 2. 연관된 자원을 보는 테이블을 설명합니다.
    컬럼 설명
    Resource name 키와 연관된 Cloud Object Storage 버킷과 같은 클라우드 리소스의 이름입니다.
    Service name 리소스가 상주하는 IBM Cloud 서비스 인스턴스의 이름입니다.
    Retention policy 클라우드 리소스에 보존 정책이 있는지 여부를 표시합니다. 값이 True이면 보존 정책은 클라우드 리소스에 사용으로 설정되고 클라우드 리소스와 연관된 키는 삭제할 수 없습니다. 값이 False이면 보존 정책은 사용으로 설정되지 않습니다.
  6. 각 리소스의 세부사항을 보려면 Resource name 열의 아래의 캐럿(^) 아이콘을 클릭하여 리소스 세부사항을 펼치십시오.

    다음 표에서는 등록 세부사항에 대해 설명합니다.

    표 3. 자원과 연관된 특성에 대해 설명합니다.
    필드 설명
    Created 리소스가 처음 키와 연관된 날짜 및 시간입니다.
    Last updated 등록이 업데이트된 날짜 및 시간입니다.
    Description 등록에 대한 설명입니다.
    Key version ID 클라우드 리소스를 보호하는 루트 키의 버전입니다.
    Key version date 루트 키 버전이 업데이트된 날짜 및 시간입니다.
    Cloud resource name CRN (Cloud Resource Name), version, cname, ctype 등을 포함하여 키와 연관된 클라우드 자원을 나타냅니다.

검색 필드를 사용하여 자원 이름 또는 키 버전 ID로 루트 키와 연관된 자원을 검색할 수 있습니다.

인스턴스에서 리소스 보기

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

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

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

  4. KMS 연관 리소스 페이지에서 키 관리 서비스 연관 리소스 테이블을 사용하여 서비스에서 등록을 탐색하십시오.

    표 4. 연관된 자원 테이블을 설명합니다.
    컬럼 설명
    Resource name 키와 연관된 Cloud Object Storage 버킷과 같은 클라우드 리소스의 이름입니다.
    Key name 지정된 클라우드 리소스와 연관된 루트 키를 식별하는 사용자가 읽을 수 있는 이름입니다.
    Key ID 지정된 클라우드 리소스와 연관된 루트 키를 식별하는 ID입니다.
    Service name 리소스가 상주하는 IBM Cloud 서비스 인스턴스의 이름입니다.
    Retention policy 클라우드 리소스를 지울 수 있는지 여부를 표시합니다. 값이 Enabled인 경우 클라우드 리소스를 지울 수 없으며 클라우드 리소스와 연관된 키도 삭제할 수 없습니다. 값이 Disabled인 경우 클라우드 리소스를 지울 수 있습니다. 필요에 따라 클라우드 리소스와 연관된 키를 삭제할 수 있습니다.
  5. Resource name 열 아래의 캐럿(^) 아이콘을 클릭하여 특정 등록에 대한 세부사항의 목록을 보십시오.

    다음 표에서는 등록 세부사항에 대해 설명합니다.

    표 5. 자원과 연관된 특성에 대해 설명합니다.
    필드 설명
    Created 리소스가 처음 키와 연관된 날짜 및 시간입니다.
    Last updated 등록이 업데이트된 날짜 및 시간입니다.
    Description 등록에 대한 설명입니다.
    Key version ID 클라우드 리소스를 보호하는 루트 키의 버전입니다.
    Key version date 루트 키 버전이 업데이트된 날짜 및 시간입니다.
    Cloud resource name CRN (Cloud Resource Name), version, cname, ctype 등을 포함하여 키와 연관된 클라우드 자원을 나타냅니다.

리소스 검색 외에도, 리소스 이름, 키 ID 및 보존 정책별로 리소스를 찾아볼 수 있습니다. 이를 수행하려면 Filter 단추를 클릭하고, 목록에서 필터 옵션을 선택하고, 적용을 클릭하십시오.

API로 보호된 리소스 보기

Hyper Protect Crypto Services 키 관리 서비스 API를 사용하여 Hyper Protect Crypto Services 키와 클라우드 자원 간에 사용 가능한 등록을 탐색할 수도 있습니다.

예를 들어, GET api/v2/keys/{id}/registrations를 호출하면 Hyper Protect Crypto Services는 키 등록에 대한 세부사항을 리턴합니다. 다음 JSON 출력은 키와 클라우드 리소스 간의 등록을 나타냅니다.

{
  "metadata": {
      "collectionType": "application/vnd.ibm.kms.registration+json",
      "collectionTotal": 1
  },
  "resources": [
    {
      "keyId": "string",
      "resourceCrn": "crn:v1:bluemix:public:<service-name>:<region>:a/<account-id>:<service-instance>:bucket:<bucket-name>",
      "createdBy": "string",
      "creationDate": "2010-01-12T05:23:19+0000",
      "updatedBy": "string",
      "lastUpdated": "2010-01-12T05:23:19+0000",
      "description": "string",
      "preventKeyDeletion": true,
      "keyVersion": {
          "id": "string",
          "creationDate": "2010-01-12T05:23:19+0000"
      }
    }
  ]
}

다음 표에서는 등록의 특성에 대해 설명합니다.

표 6. 등록과 연관된 특성
매개변수 설명
keyID 클라우드 리소스와 연관된 루트 키를 식별하는 ID입니다.
resourceCrn 키와 연관된 Cloud Object Storage 버킷과 같은 클라우드 리소스를 표시하는 클라우드 리소스 이름(CRN)입니다.
createdBy 등록을 작성한 리소스의 고유 ID입니다.
creationDate 등록이 작성된 날짜입니다.
updatedBy 등록을 업데이트한 리소스의 고유 ID입니다.
lastUpdatedDate 등록이 작성된 날짜입니다.
description 등록에 대한 설명입니다.
preventKeyDeletion Hyper Protect Crypto Services가 루트 키의 삭제를 방지해야 하는지 여부를 판별하는 부울입니다. true 인 경우 보존 정책으로 인해 연관된 자원을 삭제할 수 없으며 자원을 암호화하는 Hyper Protect Crypto Services 키를 삭제할 수 없습니다.
keyVersion 클라우드 리소스를 보호하는 루트 키의 버전입니다.

API로 특정 루트 키에 대한 등록 나열

다음 엔드포인트에 대한 GET 호출을 수행하여 특정 루트 키와 연관된 등록 세부사항을 검색할 수 있습니다.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/registrations
  1. 인증용 인증 정보를 검색하여 API에 대한 작업을 수행하십시오.

  2. 다음 cURL 명령을 실행하여 루트 키와 연관된 등록을 보십시오.

    curl -X GET \
    https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/registrations \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>'
    

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

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

    성공적인 GET api/v2/keys/<key_ID>/registrations 요청에서는 지정된 키 ID에 맵핑된 등록 콜렉션이 리턴됩니다.

    {
      "metadata": {
          "collectionType": "application/vnd.ibm.kms.registration+json",
          "collectionTotal": 2
      },
      "resources": [
        {
          "keyId": "string",
          "resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<service-instance>:bucket:<bucket-name>",
          "createdBy": "string",
          "creationDate": "2010-01-12T05:23:19+0000",
          "updatedBy": "string",
          "lastUpdated": "2010-01-12T05:23:19+0000",
          "description": "string",
          "preventKeyDeletion": true,
          "keyVersion": {
              "id": "string",
              "creationDate": "2010-01-12T05:23:19+0000"
          }
        },
        {
          "keyId": "string",
          "resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<service-instance>:bucket:<other-bucket-name>",
          "createdBy": "string",
          "creationDate": "2010-01-12T05:23:19+0000",
          "updatedBy": "string",
          "lastUpdated": "2010-01-12T05:23:19+0000",
          "description": "string",
          "preventKeyDeletion": true,
          "keyVersion": {
              "id": "string",
              "creationDate": "2010-01-12T05:23:19+0000"
          }
        }
      ]
    }
    

    resourceCrn 값은 keyId로 암호화되는 클라우드 리소스의 고유 ID를 표시합니다. 등록과 연관된 메타데이터(예: 작성 날짜)도 응답 본문에서 리턴됩니다.

    기본적으로 GET api/v2/keys/registrations는 처음 200개의 등록을 리턴하지만 조회 시 limit 매개변수를 사용하여 이 한계를 조정할 수 있습니다.

API로 루트 키에 대한 등록 나열

다음 엔드포인트에 대한 GET 호출을 수행하여 클라우드 리소스와 연관된 등록 목록을 검색할 수도 있습니다.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/registrations?urlEncodedResourceCRNQuery=<url_encoded_CRN_query>
  1. 인증용 인증 정보를 검색하여 API에 대한 작업을 수행하십시오.

  2. 다음 cURL 명령을 실행하여 지정된 CRN 조회와 일치하는 등록을 확인하십시오.

    curl -X GET \
    https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/registrations?urlEncodedResourceCRNQuery=<url_encoded_CRN_query> \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>'
    

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

    표 8. CRN 조회별로 등록을 나열하는 데 필요한 변수를 설명합니다.
    가변 설명
    region 필수입니다. Hyper Protect Crypto Services 인스턴스가 상주하는 지리적 영역을 나타내는 지역 약어 (예: us-south 또는 eu-de) 입니다. 자세한 정보는 지역 서비스 엔드포인트를 참조하십시오.
    port 필수입니다. API 엔드포인트의 포트 번호입니다.
    url_encoded_CRN_query URL 인코딩 와일드카드 문자 (*) 를 사용하여 지정된 클라우드 자원 이름(CRN) 과 연관된 자원을 필터링합니다. 매개변수는 모든 CRN 세그먼트를 포함해야 하며 URL 인코딩되어야 합니다. 예를 보려면 CRN 조회 예제를 참조하십시오.
    IAM_token 필수입니다. 사용자의 IBM Cloud 액세스 토큰입니다. cURL 요청에 Bearer 값 등 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 정보는 액세스 토큰 검색을 참조하십시오.
    instance_ID 필수입니다. Hyper Protect Crypto Services 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 정보는 인스턴스 ID 검색을 참조하십시오.

CRN 조회 예제

모든 CRN 세그먼트가 포함된 URL 인코딩 CRN 조회를 사용하십시오. CRN 세그먼트 및 형식에 대해 자세히 알아보려면 클라우드 리소스 이름을 참조하십시오.

통합 서비스에서 Hyper Protect Crypto Services 키 관리 서비스 API를 호출하면 Hyper Protect Crypto Services은(는) 지정된 CRN 조회(service-instance 세그먼트까지)를 호출 서비스의 CRN으로 대체합니다. 즉, Hyper Protect Crypto Services을(를) 사용하여 사용자 대신 키를 자원과 연관시키는 서비스는 서비스 CRN의 첫 여덟 개의 세그먼트와 일치하는 CRN을 확인 또는 조회하는 기능만 수행할 수 있습니다.

  • CRN 세그먼트가 있는지 검색하려면 콜론 뒤에 별표(*)를 사용하십시오.

    crn:v1:bluemix:public:databases-for-redis:us-south:a/274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7:*:*
    

    이 조회는 배치 ID가 _29caf0e7-120f-4da8-9551-3abf57ebcfc7_인 모든 자원 유형 및 이름과 연관된 Redis용 데이터베이스 등록을 리턴합니다.

  • 접두부가 <string> 인 CRN 세그먼트를 검색하려면 CRN 조회의 마지막 세그먼트에서 콜론 다음에 <string>* 를 사용하십시오.

    crn:v1:bluemix:public:cloud-object-storage:global:a/e1bb63d6a20dc57c87501ac4c4c99dcb:*:bucket:prod*
    

    이 조회는 접두부가 prod인 계정 e1bb63d6a20dc57c87501ac4c4c99dcb 내의 모든 Cloud Object Storage 버킷 등록을 리턴합니다.

    crn:v1:bluemix:public:databases-for-postgresql:us-south:a/e1bb63d6a20dc57c87501ac4c4c99dcb:76b98bfd-f730-47b8-b163-515187e070a7:*:<string>*
    

    이 조회는 접두부가 <string>인 배치 ID _76b98bfd-f730-47b8-b163-515187e070a7_에 대한 모든 클라우드 데이터베이스 등록을 리턴합니다.

다음 표에서는 URL 인코딩 전후의 CRN 조회 예제 목록을 제공합니다. URL 인코딩 값을 보려면 URL 인코딩 탭을 클릭하십시오.

표 9. CRN 조회 예제
crn:v1:bluemix:public:databases-for-redis:us-south:a/274074dce64e9c423ffc238516c755e1:29caf0e7-120f-4da8-9551-3abf57ebcfc7:*:*
crn:v1:bluemix:public:cloud-object-storage:global:a/e1bb63d6a20dc57c87501ac4c4c99dcb:*:bucket:prod*
crn:v1:bluemix:public:cloudantnosqldb:us-south:a/f586c28d154d4c65a4a4a34cf75f55d0:94255ea3-af1c-41b7-9805-61f775e20702:*:prod*.
표 9. CRN 조회 예제
crn%3Av1%3Abluemix%3Apublic%3Adatabases-for-redis%3Aus-south%3Aa%2F274074dce64e9c423ffc238516c755e1%3A29caf0e7-120f-4da8-9551-3abf57ebcfc7%3A*%3A*
crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2Fe1bb63d6a20dc57c87501ac4c4c99dcb%3A*%3Abucket%3Aprod*
crn%3Av1%3Abluemix%3Apublic%3Acloudantnosqldb%3Aus-south%3Aa%2Ff586c28d154d4c65a4a4a34cf75f55d0%3A94255ea3-af1c-41b7-9805-61f775e20702%3A%2A%3Aprod%2A

다음에 수행할 작업

등록 보기에 대한 자세한 정보를 보려면 Hyper Protect Crypto Services 키 관리 서비스 API 참조 문서를 확인하십시오.