키 링을 사용하여 키 그룹화
IBM® Key Protect for IBM Cloud®을(를) 사용하여 동일한 IAM 액세스 권한이 필요한 사용자의 대상 그룹에 대한 키 그룹을 작성할 수 있습니다.
계정 관리자는 "키 링"이라는 그룹으로 Key Protect 서비스 인스턴스의 키를 번들링할 수 있습니다. 키 링은 서비스 인스턴스 내에서 모두 동일한 IAM 액세스 권한이 필요한 키의 콜렉션입니다. 예를 들어, 특정 키 그룹에 대한 특정 액세스 유형이 필요한 팀 구성원 그룹이 있는 경우 해당 키에 대한 키 링을 작성하고 대상 사용자 그룹에 적절한 IAM 액세스 정책을 지정할 수 있습니다. 키 링에 대한 액세스 권한이 지정된 사용자는 키 링 내에 존재하는 리소스를 작성하고 관리할 수 있습니다.
키 링은 한 비즈니스 단위에 다른 비즈니스 단위에 없는 키 세트에 대한 액세스 권한이 있는 것이 중요한 경우에도 유용합니다. 계정 관리자는 각각의 비즈니스 장치를 위한 키 링을 작성한 후 적절한 사용자에게 적절한 액세스 레벨을 지정할 수 있습니다. 계정 관리자가 특정 키 링의 플랫폼 관리 권한을 다른 사람에게 위임하고자 하는 경우, 해당 사용자에게 키 링 수준의 플랫폼 관리자 역할 를 할당할 수 있습니다. 이 경우 하위 관리자가 키 링을 관리하고 적절한 사용자에게 액세스 권한을 부여할 수 있게 됩니다.
액세스 권한을 Key Protect 인스턴스의 키 링에 IBM Cloud 콘솔, IAM API 또는 IAM CLI
Key Protect 인스턴스에 대한 키 링을 생성하기 전에 다음 고려 사항을 검토하십시오:
-
모든 Key Protect 인스턴스는 기본 키 링과 함께 제공됩니다. 새로 작성된 각 Key Protect 인스턴스는 ID가
default인 생성된 키 링과 함께 제공됩니다. 달리 지정된 키 링과 연관되지 않은 모든 키는 기본 키 링에 있습니다. -
키 링은 표준 키와 루트 키를 보유할 수 있습니다. 키 링에는 표준 키와 루트 키가 모두 포함될 수 있습니다. 키 링에 있을 수 있는 키의 수에는 제한이 없습니다.
-
키는 한 번에 한 키 링에만 속할 수 있습니다. 키는 하나의 키 링에만 속할 수 있습니다. 키 링 지정은 키 작성 시 수행됩니다. 작성 시 키 링 ID가 전달되지 않으면 키가
default키 링의 일부가 됩니다.
최대 키 링 수는 서비스 인스턴스당 50개입니다.
UI를 사용하여 키 링 작성
키 링을 작성하려면 서비스 "작성자" 또는 "관리자" 역할이 있어야 합니다.
키 링을 작성하려면 다음을 수행하십시오.
- 왼쪽 탐색에서 키 링을 클릭하십시오.
- 키 링 패널에서 작성 단추를 클릭하십시오.
- 키 링 작성 탭에서 허용된 문자에 관한 지시사항에 따라 새 키 링의 이름으로 지정하십시오. 그런 다음 작성을 클릭하십시오.
새 키 링이 작성되면 키 링 목록에 표시되고 키 링에 키를 전송하거나 키를 작성할 수 있습니다.
여러 환경에서 일관되게 키링을 관리하는 경우 Key Protect 키링 모듈 또는 더 광범위한 Key Protect 올인클루시브 모듈을 사용하여 키링 및 키 레이아웃을 자동화할 수 있습니다. 자세한 내용은 테라폼 소개 IBM 모듈을 참조하세요.
API를 사용하여 키 링 작성
다음 엔드포인트에 대한 POST 호출을 작성하여 키 링을 작성하십시오.
https://<region>.kms.cloud.ibm.com/api/v2/keys
-
다음
curl명령을 실행하여 키 링을 작성하십시오.$ curl -X POST \ "https://<region>.kms.cloud.ibm.com/api/v2/key_rings/<key_ring_id>" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "correlation-id: <correlation_ID>"다음 표에 따라 예제 요청의 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| 지역 | 필수. us-south 또는 eu-gb 과 같은 지역 약어는 Key Protect 인스턴스가 위치한 지리적 영역을 나타냅니다.자세한 내용은 ‘지역별 서비스 엔드포인트’를 참조하십시오. |
| key_ring_id | 필수. 작성할 키 링의 고유 ID입니다. |
| IAM_token | 필수. 사용자의 IBM Cloud 액세스 토큰입니다. curl 요청에 Bearer 값을 포함하여 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 내용은 ‘액세스 토큰 가져오기’를 참조하십시오. |
| instance_ID | 필수. Key Protect 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 내용은 “인스턴스 ID 가져오기”를 참조하십시오. |
| correlation_ID | 선택사항. 트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다. |
POST api/v2/key_rings 요청이 성공하면 HTTP 201 Created 이 응답은 키 링이 생성되었으며, 이제 표준 키와 루트 키를 저장할 수 있음을 나타냅니다.
키를 다른 키 링으로 전송
요구사항이 변경되고 새 팀 구성원이 조직으로 이동되면 해당 조직 변경사항을 반영하도록 새 키 링을 작성할 수 있습니다. 키 링을 작성한 후 기존 키 링에서 다른 IAM 권한이 있는 새 키 링으로 키를 이동해야 할 수도 있습니다. 예를 들어 이전에 만든 기본이 아닌 사용자 정의 키 링의 일부인 키에 대한 특정 액세스 권한이 필요한 팀을 온보딩할 수 있습니다. 온보딩 팀 전용의 새 키 링을 작성할 수 있으며, 키는 한 번에 하나의 키 링과만 연관될 수 있으므로 키를 새 키 링으로 이동해야 합니다.
키를 다른 키링으로 옮긴 후, 해당 변경 사항이 모든 시스템에 반영되기까지 최대 10분이 소요될 수 있습니다.
UI를 사용하여 키를 다른 키 링으로 전송
예상한 모든 옵션이 표시되지 않으면 특정 조치를 실행할 수 있는 권한이 없기 때문일 수 있습니다. 역할 및 권한이 조치를 수행하기에 충분한지 확인하십시오. 역할에 대한 자세한 정보는 사용자 액세스 관리를 확인하십시오.
전송되는 키와 키를 전송할 대상 키 링 모두에 대해 서비스 "관리자" 역할이 있어야 합니다.
키 패널에서 다음을 수행하십시오.
- 전송할 키를 찾으십시오. 키를 더 쉽게 찾으려면 다음 방법 중 하나를 사용하세요:
- ‘키’ 패널에서 ‘키 링 ID’ 필터에서 키 링을 선택합니다.
- 왼쪽 탐색 메뉴에서 ‘키링’을 클릭한 다음, 해당 키링을 찾아 작업 메뉴(⋯)를 클릭하고 ‘키 보기’를 선택하세요.
- ⋯ 단추를 클릭하고 드롭 다운 목록에서 키 링 편집을 선택하십시오.
- 드롭 다운 목록에서 키를 이동할 키 링을 선택하십시오. 그런 다음 저장을 클릭하십시오.
API를 사용하여 키를 다른 키 링으로 전송
다음 엔드포인트에 대해 PATCH 호출을 수행하여 키를 다른 키 링으로 전송하십시오.
https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>
-
인증 정보를 검색하여 서비스에서 키에 대한 작업을 수행하십시오.
키의 키 링을 업데이트하려면 키 및 대상 키 링에 대해 관리자 이상의 서비스 액세스 권한이 있어야 합니다. IAM 역할을 Key Protect 서비스 조치에 맵핑하는 방법을 알아보려면, 서비스 액세스 역할을 확인하십시오.
-
다음
curl명령을 실행하여 키의 키 링을 업데이트하십시오.$ curl -X PATCH \ https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias> \ -H 'accept: application/vnd.ibm.kms.key+json' \ -H 'authorization: Bearer <IAM_token>' \ -H 'bluemix-instance: <instance_ID>' \ -H 'content-type: application/vnd.ibm.kms.key+json' \ -H "x-kms-key-ring: <original_key_ring_ID>" \ -H "correlation-id: <correlation_ID>" \ -d '{ "keyRingID": "<new_key_ring_ID>" }'다음 표에 따라 예제 요청의 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| 지역 | 필수. us-south 또는 eu-gb 과 같은 지역 약어는 Key Protect 인스턴스가 위치한 지리적 영역을 나타냅니다.자세한 내용은 ‘지역별 서비스 엔드포인트’를 참조하십시오. |
| keyID_or_alias | 필수. 업데이트하려는 키의 고유 ID 또는 별명입니다. |
| IAM_token | 필수. 사용자의 IBM Cloud 액세스 토큰입니다. curl 요청에 Bearer 값을 포함하여 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 내용은 ‘액세스 토큰 가져오기’를 참조하십시오. |
| instance_ID | 필수. Key Protect 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 내용은 “인스턴스 ID 가져오기”를 참조하십시오. |
| original_key_ring_ID | 선택사항. 키가 현재 속해 있는 키 링의 고유 ID입니다. 지정되지 않은 경우 Key Protect은(는) 지정된 인스턴스와 연관된 모든 키 링에서 키를 검색합니다. 따라서 더 최적화된 요청을 위해 키 링 ID를 지정하는 것이 좋습니다. 참고: x-kms-key-ring 헤더 없이 작성된 키의 키 링 ID는 default입니다. |
| correlation_ID | 선택사항. 트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다. |
| new_key_ring_ID | 필수. 키를 이동할 대상 키 링의 고유 ID입니다. |
PATCH api/v2/keys/keyID_or_alias 요청에 성공하면 키가 속한 키 링의 ID를 포함하여 키의 메타데이터를 리턴합니다.
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.key+json",
"collectionTotal": 1
},
"resources": [
{
"type": "application/vnd.ibm.kms.key+json",
"id": "02fd6835-6001-4482-a892-13bd2085f75d",
"name": "test-root-key",
"aliases": [
"alias-1",
"alias-2"
],
"description": "A test root key",
"state": 1,
"extractable": false,
"keyRingID": "new-key-ring",
"crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
"imported": false,
"creationDate": "2020-03-12T03:37:32Z",
"createdBy": "...",
"algorithmType": "Deprecated",
"algorithmMetadata": {
"bitLength": "256",
"mode": "Deprecated"
},
"algorithmBitSize": 256,
"algorithmMode": "Deprecated",
"lastUpdateDate": "2020-03-12T03:37:32Z",
"keyVersion": {
"id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"creationDate": "2020-03-12T03:37:32Z"
},
"dualAuthDelete": {
"enabled": false
},
"deleted": false
}
]
}
키 링에 대한 액세스 권한 부여
IBM Cloud ( Key Protect ) 인스턴스 내의 키 링에 대한 액세스 권한은 콘솔( IAM API) 또는 CLI{ :external} 을 사용하여 부여할 수 있습니다.
역할 및 권한을 검토하여 IBM Cloud IAM 역할이 Key Protect 조치에 맵핑되는 방법을 알아보십시오.
콘솔을 사용하여 키 링에 대한 액세스 권한을 지정하려면 다음 작업을 수행하십시오.
-
메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하고 사용자를 선택하여 계정의 기존 사용자를 찾아보십시오.
-
테이블 행을 선택하고 ⋯ 아이콘을 클릭하여 특정 사용자에 대한 옵션 목록을 여십시오.
-
옵션 메뉴에서 액세스 권한 지정을 클릭하십시오.
-
사용자 추가 액세스 지정을 클릭하십시오.
-
IAM 서비스 단추를 클릭하십시오.
-
서비스 목록에서 다음을 선택하십시오. Key Protect.
-
속성 기반 서비스를 선택하십시오.
-
인스턴스 ID 속성을 선택하고 키 링이 있는 인스턴스를 선택하십시오.
-
키 링 ID 속성을 선택한 후 키 링과 연관된 ID를 입력하십시오.
-
사용자에 대한 액세스 권한을 지정하려면 플랫폼 및 서비스 액세스 역할의 조합을 선택하십시오.
-
추가 를 클릭하십시오.
-
필요에 따라 계속해서 플랫폼 및 서비스 액세스 역할을 추가하고 완료되면 지정을 클릭하십시오. 인스턴스 내에서 키 링을 나열하고, 작성 및 삭제하려면 전체 인스턴스에 대한 독자 이상의 액세스 권한이 사용자에게 지정되어야 합니다.
API를 사용하여 키 링 나열
상위 레벨 보기의 경우 다음 엔드포인트에 대한 GET 호출을 수행하여 Key Protect의 프로비저닝된 인스턴스에서 관리되는 키 링을 찾아볼 수 있습니다.
https://<region>.kms.cloud.ibm.com/api/v2/keys_rings
-
다음 명령을 실행하여 키링의 일반적인 특성을 확인하세요
curl명령의 JSON 키 및 값에 대한 설명입니다.$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/key_rings?totalCount=<show_total>&offset=<offset_value>&limit=<offset_limit>" \ -H "accept: application/vnd.ibm.kms.key_ring+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "correlation-id: <correlation_ID>"물음표(
?) 뒤에 오는 쿼리 매개변수는 선택적이지만, 이 매개변수의 사용을 문서화하기 위해 여기에 포함됩니다. (: :note).다음 표에 따라 예제 요청의 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| 지역 | 필수. us-south 또는 eu-gb 과 같은 지역 약어는 Key Protect 인스턴스가 위치한 지리적 영역을 나타냅니다.자세한 내용은 ‘지역별 서비스 엔드포인트’를 참조하십시오. |
| IAM_token | 필수. 사용자의 IBM Cloud 액세스 토큰입니다. curl 요청에 Bearer 값을 포함하여 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 내용은 ‘액세스 토큰 가져오기’를 참조하십시오. |
| instance_ID | 필수. Key Protect 인스턴스에 할당된 고유 식별자입니다. 자세한 내용은 “인스턴스 ID 가져오기”를 참조하십시오. |
| correlation_ID | 선택사항. 트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다. |
| offset_limit | 선택사항. 기본적으로, GET /key_rings에서는 기본 키 링을 포함하여 51개 키 링의 시퀀스를 리턴합니다. 다른 키 링 세트를 검색하려면, offset(과)와 함께 limit을(를) 사용하여 사용 가능한 자원을 페이징하십시오. limit의 최대값은 '5,000'입니다. |
| offset_value | 선택사항. offset을(를) 지정하면 offset 값에서 시작하는 키 링의 서브세트를 검색합니다. |
| show_total | 선택사항. true(으)로 설정하는 경우 응답 메타데이터는 페이지 매김과 함께 사용 중인 totalCount의 값을 리턴합니다. |
GET api/v2/key_rings 요청에 성공하면 Key Protect 서비스 인스턴스로 가져오는 방법을 제한할 수 있습니다.
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.key_ring+json",
"collectionTotal": 2
},
"resources": [
{
"id": "default"
},
{
"id": "Sample Key Ring 2",
"creationDate": "2020-03-12T11:00:06Z",
"createdBy": "..."
}
]
}
API를 사용하여 키 링 삭제
다음 엔드포인트에 대한 DELETE 호출을 작성하여 키 링을 삭제할 수 있습니다.
https://<region>.kms.cloud.ibm.com/api/v2/key_rings/<key_ring_id>
이 조치는 키 링에 영구 삭제됨 상태가 아닌 상태의 키가 하나 이상 포함되어 있는 경우에는 실패합니다. 키 링의 유일한 키가 영구 삭제됨 상태인 경우, force=true 가 삭제 명령에 추가되면 키 링을 삭제할 수 있습니다. 해당 상태의 키는 자동으로 default 키 링으로 전송됩니다.
-
삭제할 키 링의 ID를 검색하십시오.
키 링에 대한 ID를 Key Protect 인스턴스에서 키 링의 목록을 검색하여 찾을 수 있습니다.
-
다음
curl명령을 실행하여 키 링을 삭제하십시오. 영구 삭제됨 상태의 키를 포함하는 경우 키 링을 강제로 삭제하는force=true의 존재에 유의하십시오.$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/key_rings/<key_ring_id>?force=true" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "prefer: <return_preference>"다음 표에 따라 예제 요청의 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| 지역 | 필수. us-south 또는 eu-gb 과 같은 지역 약어는 Key Protect 인스턴스가 위치한 지리적 영역을 나타냅니다.자세한 내용은 ‘지역별 서비스 엔드포인트’를 참조하십시오. |
| key_ring_id | 필수입니다. 삭제할 키 링의 고유 ID입니다. |
| IAM_token | 필수. 사용자의 IBM Cloud 액세스 토큰입니다. curl 요청에 Bearer 값을 포함하여 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 내용은 ‘액세스 토큰 가져오기’를 참조하십시오. |
| instance_ID | 필수. Key Protect 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 내용은 “인스턴스 ID 가져오기”를 참조하십시오. |
요청이 성공하면 키 링이 성공적으로 삭제되었음을 표시하는 HTTP 204 No Content 응답이 리턴됩니다.