루트 키와 암호화된 IBM Cloud 리소스 간의 연관 보기
루트 키와 기타 클라우드 리소스 간의 연관(예: Cloud Object Storage 버킷 또는 Cloud Databases 배치)은 IBM Key Protect API를 사용하여 확인할 수 있습니다.
루트 키를 사용하여 엔벨로프 암호화로 저장 데이터를 보호하는 경우 키를 사용하는 클라우드 서비스가 보호하는 키와 리소스 간에 등록을 작성할 수 있습니다.
등록은 키 및 클라우드 리소스 간의 연관으로, 이를 통해 다음에서 어느 데이터를 어떤 암호화 키로 보호하는지 전체 보기를 확보할 수 있습니다. IBM Cloud.
| 이점 | 설명 |
|---|---|
| 보호된 리소스의 중앙화된 보기 | Key Protect 서비스 인스턴스 관리자는 루트 키로 보호되는 클라우드 리소스를 빠르게 이해하려고 합니다. |
| 보안 및 규제 준수 | 보안 관리자는 루트 키 영구 삭제와 관련된 위험을 판별하는 방법이 필요합니다. 조직의 보안 또는 규제 준수 요구사항에 따라 노출을 평가할 수 있도록 어떠한 키가 어떠한 데이터를 적극적으로 보호하는지 조사하려고 합니다. |
키 등록은 클라우드 서비스가 다음과의 연동 과정에서 해당 기능을 활성화한 경우에만 사용할 수 있는 추가 기능입니다. Key Protect. 통합 서비스가 키 등록을 지원하는지 여부를 판별하려면 해당 서비스 설명서에서 자세한 정보를 참조하십시오.
콘솔에서 보호된 리소스 보기
다음 Key Protect 키와 클라우드 리소스 간에 사용 가능한 등록은 Key Protect IBM Cloud 콘솔을 사용하여 찾아볼 수 있습니다.
인스턴스의 보호된 리소스 보기
-
메뉴 > 리소스 목록으로 이동하여 리소스 목록을 보십시오.
-
IBM Cloud 리소스 목록에서 Key Protect의 프로비저닝된 인스턴스를 선택하십시오.
-
왼쪽 사이드 메뉴에서
Associated resources링크를 선택하십시오. -
연관된 리소스 페이지에서 연관된 리소스 테이블을 사용하여 서비스의 등록을 찾아보십시오.
-
^열 아래의Details아이콘을 클릭하여 특정 등록에 대한 세부사항 목록을 보십시오. -
키 ID, CRN(Cloud Resource Name) 및 보존 정책별로 리소스를 필터링하려면
Filter단추를 클릭하십시오.
키와 연관된 보호된 리소스 보기
-
메뉴 > 리소스 목록으로 이동하여 리소스 목록을 보십시오.
-
IBM Cloud 리소스 목록에서 Key Protect의 프로비저닝된 인스턴스를 선택하십시오.
-
애플리케이션 세부사항 페이지에서 키 테이블을 사용하여 서비스에서 키를 찾아보십시오.
-
⋯ 아이콘을 클릭하여 키에 대한 옵션 목록을 여십시오.
-
옵션 메뉴에서 키 연관 리소스를 클릭하여 키의 연관된 등록을 보십시오.
API로 보호된 리소스 보기
다음 Key Protect 키와 클라우드 리소스 간에 사용 가능한 등록은 Key Protect API를 사용하여 찾아볼 수 있습니다.
예를 들어, GET api/v2/keys/{id}/registrations 호출 시 Key Protect는 키 등록에 대한 세부사항을 리턴합니다. 다음 JSON 출력은 키와 클라우드 리소스 간의 등록을 나타냅니다.
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.registration+json",
"collectionTotal": 1
},
"resources": [
{
"keyId": "02fd6835-6001-4482-a892-13bd2085f75d",
"resourceCrn": "crn:v1:bluemix:public:<service-name>:<region>:a/<account-id>:<service-instance>:bucket:<bucket-name>",
"createdBy": "IBMid-25555555",
"creationDate": "2010-01-12T05:23:19+0000",
"updatedBy": "IBMid-25555555",
"lastUpdated": "2010-01-12T05:23:19+0000",
"description": "A description of the registration",
"preventKeyDeletion": true,
"keyVersion": {
"id": "02fd6835-6001-4482-a892-13bd2085f75d",
"creationDate": "2010-01-12T05:23:19+0000"
}
}
]
}
다음 표에서는 등록의 특성에 대해 설명합니다.
| 매개변수 | 설명 |
|---|---|
| keyID | 클라우드 리소스와 연관된 루트 키를 식별하는 ID입니다. |
| resourceCrn | 키와 연관된 Cloud Object Storage 버킷과 같은 클라우드 리소스를 표시하는 클라우드 리소스 이름(CRN)입니다. |
| createdBy | 등록을 작성한 리소스의 고유 ID입니다. |
| creationDate | 등록이 작성된 날짜입니다. |
| lastUpdated | 등록이 업데이트된 날짜입니다. |
| 설명 | 등록에 대한 설명입니다. |
| preventKeyDeletion | Key Protect에서 키 삭제를 금지해야 하는지 여부를 판별하는 부울입니다. true인 경우 보존 정책 때문에 연관된 리소스를 지울 수 없으며 리소스를 암호화하는 Key Protect 키를 삭제할 수 없습니다. |
| keyVersion | 클라우드 리소스를 보호하는 루트 키의 버전입니다. |
특정 루트 키에 대한 등록 나열
다음 엔드포인트에 대한 GET 호출을 수행하여 특정 루트 키와 연관된 등록 세부사항을 검색할 수 있습니다.
https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations
-
API를 사용하여 인증 정보를 검색하십시오.
-
다음
curl명령을 실행하여 루트 키와 연관된 등록을 보십시오.$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"다음 표에 따라 예제 요청의 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| 지역 | 필수. us-south 또는 eu-gb 과 같은 지역 약어는 Key Protect 인스턴스가 위치한 지리적 영역을 나타냅니다.자세한 내용은 ‘지역별 서비스 엔드포인트’를 참조하십시오. |
| keyID_or_alias | 필수. 확인하려는 클라우드 리소스와 연결된 루트 키의 식별자 또는 별칭입니다. 자세한 정보는 키 보기 를 참조하십시오. |
| IAM_token | 필수. 사용자의 IBM Cloud 액세스 토큰입니다. curl 요청에 Bearer 값을 포함하여 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 내용은 ‘액세스 토큰 가져오기’를 참조하세요. |
| instance_ID | 필수. Key Protect 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 내용은 “인스턴스 ID 가져오기”를 참조하십시오. |
성공적인 GET api/v2/keys/<keyID_or_alias>/registrations 요청에서는 지정된 키 ID에 맵핑된 등록 콜렉션이 리턴됩니다.
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.registration+json",
"collectionTotal": 2
},
"resources": [
{
"keyId": "12e8c9c2-a162-472d-b7d6-8b9a86b815a6",
"resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<service-instance>:bucket:<bucket-name>",
"createdBy": "IBMid-25555555",
"creationDate": "2010-01-12T05:23:19+0000",
"updatedBy": "IBMid-25555555",
"lastUpdated": "2010-01-12T05:23:19+0000",
"description": "A description of the registration",
"preventKeyDeletion": true,
"keyVersion": {
"id": "12e8c9c2-a162-472d-b7d6-8b9a86b815a6",
"creationDate": "2010-01-12T05:23:19+0000"
}
},
{
"keyId": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"resourceCrn": "crn:v1:bluemix:public:cloud-object-storage:global:a/<account-id>:<service-instance>:bucket:<other-bucket-name>",
"createdBy": "IBMid-25555555",
"creationDate": "2010-01-12T05:23:19+0000",
"updatedBy": "IBMid-25555555",
"lastUpdated": "2010-01-12T05:23:19+0000",
"description": "A description of the registration",
"preventKeyDeletion": true,
"keyVersion": {
"id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"creationDate": "2010-01-12T05:23:19+0000"
}
}
]
}
resourceCrn 값은 keyId로 암호화되는 클라우드 리소스의 고유 ID를 표시합니다. 작성 날짜와 같이 등록과 관련된 메타 데이터도 응답 본문에 리턴됩니다.
기본적으로 GET api/v2/keys/registrations는 처음 200개의 등록을 리턴하지만 조회 시 limit 매개변수를 사용하여 이 한계를 조정할 수 있습니다.
특정 루트 키에 대한 등록 필터링
preventKeyDeletion 를 지정하고 다음과 같이 설정하여 루트 키와 연결된 등록 내역을 필터링할 수 있습니다. urlEncodedResourceCRNQuery 매개변수를 사용할 수 있습니다.
예를 들어, 총 25개의 등록이 Key Protect 인스턴스에 저장되어 있을 수 있지만, 특정 CRN(Cloud Resource Name)과 연관된 보존 정책이 있는 등록만 검색하려고 합니다.
다음 예제 요청을 사용하여 필터링된 등록 세트를 검색할 수 있습니다.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations?preventKeyDeletion=<true|false>&urlEncodedResourceCRNQuery=<url_encoded_CRN>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
다음 표에 따라 요청의 preventKeyDeletion 및 urlEncodedResourceCRNQuery 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| preventKeyDeletion | 등록된 리소스에 보존 정책이 있는지 여부에 따라 등록을 필터링하는 부울입니다. 예를 들어, 인스턴스에 여러 건의 등록 내역이 있고, preventKeyDeletion 값이 true 인 등록 내역만 나열하려면 ../registrations?preventKeyDeletion=true 을 사용하십시오.또한 preventKeyDeletion을 offest, limit 및 urlEncodedResourceCRNQuery와 쌍으로 연결하여 사용 가능한 리소스를 검색할 수 있습니다. |
| urlEncodedResourceCRNQuery | 등록 필터링 기준이 될 리소스 CRN입니다. 예를 들어, 인스턴스에 여러 건의 등록 정보가 있고 특정 클라우드 리소스 이름(CRN)과 연결된 등록 정보만 확인하려는 경우, ../registrations?urlEncodedResourceCRNQuery="url_encoded_CRN" 를 사용하십시오.자세한 내용은 CRN 쿼리 예제를 참조하십시오. 또한 urlEncodedResourceCRNQuery를 offest, limit 및 preventKeyDeletion과 쌍으로 연결하여 사용 가능한 리소스를 검색할 수 있습니다. |
limit 를 지정하여 등록의 서브세트를 필터링할 수도 있습니다.
offset 매개변수를 지정하여 필터링할 수 있습니다.
다음 예제 요청을 사용하여 필터링된 등록 세트를 검색할 수 있습니다.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/registrations?offset=<offset>&limit=<limit>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
다음 표에 따라 요청의 limit 및 offset 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| offset | 건너뛸 등록 수입니다. 예를 들어, 인스턴스에 50건의 등록 내역이 있고 그중 26번부터 50번까지의 등록 내역을 나열하려면 ../registrations?offset=25 를 사용하면 됩니다.사용 가능한 리소스를 통해 페이지 제한과 오프셋을 쌍으로 구성할 수도 있습니다. |
| 한계 | 검색할 등록 수입니다. 예를 들어, 인스턴스에 등록된 항목이 100개 있는데 그중 10개만 나열하고 싶다면 ../registrations?limit=10 를 사용하면 됩니다. 한계의 최대값은 5000입니다.사용 가능한 리소스를 통해 페이지 제한과 오프셋을 쌍으로 구성할 수도 있습니다. |
임의의 루트 키에 대한 등록 나열
다음 엔드포인트에 대한 GET 호출을 수행하여 클라우드 리소스와 연관된 등록 목록을 검색할 수도 있습니다.
https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations
-
API를 사용하여 인증 정보를 검색하십시오.
-
다음
curl명령을 실행하여 지정한 CRN 조회와 일치하는 등록을 보십시오.$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"다음 표에 따라 예제 요청의 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| 지역 | 필수. us-south 또는 eu-gb 과 같은 지역 약어는 Key Protect 인스턴스가 위치한 지리적 영역을 나타냅니다.자세한 내용은 ‘지역별 서비스 엔드포인트’를 참조하십시오. |
| IAM_token | 필수. 사용자의 IBM Cloud 액세스 토큰입니다. curl 요청에 Bearer 값을 포함하여 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 내용은 ‘액세스 토큰 가져오기’를 참조하세요. |
| instance_ID | 필수. Key Protect 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 내용은 “인스턴스 ID 가져오기”를 참조하십시오. |
임의의 루트 키에 대한 등록 필터링
다음의 프로비저닝된 인스턴스에서 관리되는 루트 키와 연관된 등록 세트는 Key Protect
preventKeyDeletion 및 urlEncodedResourceCRNQuery 를 지정하여 매개변수를 사용할 수 있습니다.
예를 들어, 총 25개의 등록이 Key Protect 인스턴스에 저장되어 있을 수 있지만, 특정 CRN(Cloud Resource Name)과 연관된 보존 정책이 있는 등록만 검색하려고 합니다.
다음 예제 요청을 사용하여 특정 등록 세트를 검색할 수 있습니다.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations?preventKeyDeletion=<true|false>&urlEncodedResourceCRNQuery=<url_encoded_CRN>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
다음 표에 따라 요청의 preventKeyDeletion 및 urlEncodedResourceCRNQuery 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| preventKeyDeletion | 등록된 리소스에 보존 정책이 있는지 여부에 따라 등록을 필터링하는 부울입니다. 예를 들어, 인스턴스에 여러 건의 등록 내역이 있고, preventKeyDeletion 값이 true 인 등록 내역만 나열하려면 ../registrations?preventKeyDeletion=true 을 사용하십시오.또한 preventKeyDeletion을 offest, limit 및 urlEncodedResourceCRNQuery와 쌍으로 연결하여 사용 가능한 리소스를 검색할 수 있습니다. |
| urlEncodedResourceCRNQuery | 등록 필터링 기준이 될 리소스 CRN입니다. 예를 들어, 인스턴스에 여러 건의 등록 내역이 있고 특정 클라우드 리소스 이름(CRN)과 연결된 등록 내역만 확인하려면 ../registrations?urlEncodedResourceCRNQuery="url_encoded_CRN" 를 사용하십시오.자세한 내용은 CRN 쿼리 예제를 참조하십시오. 또한 urlEncodedResourceCRNQuery를 offest, limit 및 preventKeyDeletion과 쌍으로 연결하여 사용 가능한 리소스를 검색할 수 있습니다. |
limit 를 지정하여 등록의 서브세트를 필터링할 수도 있습니다.
offset 매개변수를 지정하여 필터링할 수 있습니다.
다음 예제 요청을 사용하여 다른 등록 세트를 검색할 수 있습니다.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys/registrations?offset=<offset>&limit=<limit>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
다음 표에 따라 요청의 limit 및 offset 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| offset | 건너뛸 등록 수입니다. 예를 들어, 인스턴스에 50건의 등록 내역이 있고 그중 26번부터 50번까지의 등록 내역을 나열하려면 ../registrations?offset=25 를 사용하면 됩니다.사용 가능한 리소스를 통해 페이지 제한과 오프셋을 쌍으로 구성할 수도 있습니다. |
| 한계 | 검색할 등록 수입니다. 예를 들어, 인스턴스에 등록된 항목이 100개 있는데 그중 10개만 나열하고 싶다면 ../registrations?limit=10 를 사용하면 됩니다. 한계의 최대값은 5000입니다.사용 가능한 리소스를 통해 페이지 제한과 오프셋을 쌍으로 구성할 수도 있습니다. |
CRN 조회 예제
URL 인코딩된 CRN 조회를 사용하여 Key Protect 인스턴스, 리소스 유형 또는 리소스 이름별로 등록을 필터링하십시오. CRN 세그먼트 및 형식에 대해 자세히 알아보려면 ‘클라우드 리소스 이름’을 참조하십시오.
Key Protect를 사용하여 사용자 대신에 리소스와 키를 연결하는 클라우드 서비스는 해당 서비스 CRN의 처음 8개 세그먼트와 일치하는 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 쿼리의 첫 8개 세그먼트에는 별표(*)가 포함되어서는 안 됩니다.
다음 표에서는 URL 인코딩 전후의 조회 목록 예를 제공합니다. URL 인코딩 값을 보려면 URL 인코딩 탭을 클릭하십시오.
| 값 |
|---|
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*. |
| 값 |
|---|
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 |
다음에 수행할 작업
등록 내역 조회에 대해 더 자세히 알아보려면,Key Protect API 참조 문서를 확인해 보세요