Key Protect 키 목록 가져오기
IBM® Key Protect for IBM Cloud®는 암호화 키를 확인, 관리, 감사할 수 있는 중앙 집중식 시스템을 제공합니다. 리소스의 보안을 강화하기 위해 키와 키에 대한 접근 제한 사항을 점검하십시오.
단일 키에 세분화된 액세스 권한을 할당합니다 키 목록 API 에서는 개별 액세스 권한이 있는 키를 반환하지 않습니다. 즉, 본인만 액세스할 수 있는 키는 반환하지 않습니다. 그러나 이 API를 호출하면 액세스 권한이 있는 키 링의 키를 반환합니다. 인스턴스의 모든 키에 액세스할 수 있는 경우 모든 키를 볼 수 있습니다. IAM을 통해 세분화된 액세스 키 보기의 안내에 따라 개별 액세스 권한이 있는 키를 볼 수 있습니다. 또는 API를 사용하여 특정 키 ID를 전달할 수도 있습니다.
정기적으로 키 구성을 감사하는 것이 좋습니다.
-
키가 작성된 시점을 확인하고 키를 순환할 시점인지 판별합니다.
-
어떤 사용자에게 키에 대한 액세스 권한이 있고, 해당 액세스 레벨은 적합한지 검사합니다.
리소스에 대한 액세스 감사에 대한 자세한 정보는 사용자 액세스 관리를 참조하십시오.
콘솔에서 키 보기
그래픽 인터페이스를 사용한 서비스의 키 검사를 원하는 경우 Key Protect 대시보드를 사용할 수 있습니다.
키를 작성하거나 기존 키를 서비스로 가져온 후 다음 단계를 완료하여 키를 확인하십시오.
-
메뉴 > 리소스 목록으로 이동하여 리소스 목록을 보십시오.
-
IBM Cloud 리소스 목록에서 Key Protect의 프로비저닝된 인스턴스를 선택하십시오.
-
‘키’를 클릭하면 서비스 인스턴스에 있는 모든 키의 목록을 확인할 수 있습니다. 다음과 같은 방법으로 테이블 뷰를 관리할 수 있습니다
- 키 필터링- 테이블 필터 패널의 드롭다운 목록을 사용하여 키 상태 (예: 활성화됨 ) 또는 키링 ID별로 필터링할 수 있습니다.
- 정렬 기준- 열 머리글을 클릭하면 ‘마지막 회전 날짜 ’와 같은 값을 기준으로 정렬할 수 있습니다.
- 검색 키- 검색 창을 사용하여 표시 이름, 키 ID 또는 별칭으로 검색할 수 있습니다. 특정 키를 빠르게 찾으려면 키 ID로 검색하세요.
- 열 사용자 지정- ‘설정’ 버튼을 클릭하여 표시할 열을 선택하세요.
기본적으로 테이블에는 다음 열이 표시됩니다:
| 컬럼 | 설명 |
|---|---|
| 이름 | 키에 지정한 표시 이름입니다. |
| 키 ID | Key Protect 서비스에서 키에 지정한 고유 키 ID입니다. 이 ID 값을 사용하여 Key Protect API 를 통해 서비스에 요청을 보낼 수 있습니다. |
| 키 링 ID | 키가 연결된 키 링입니다. 이러한 상태에는 비활성화됨, 삭제됨, 사용 안 함 및 사용됨이 포함됩니다. |
| 마지막 순환 날짜 | 키가 마지막으로 교체된 날짜. |
| 키 별명 | 키의 하나 이상의 키 별명입니다. |
| 유형 | 키의 키 유형(루트 키 또는 표준 키)입니다. |
| 상태 | 키의 상태는 ‘비활성화됨’, ‘삭제됨’, ‘사용 중지됨 ’ 또는 ‘활성화됨’ 중 하나입니다. |
테이블에서 사용 가능한 기타 필드는 다음과 같습니다.
- 마지막 수정: 키를 어떤 식으로든 마지막으로 변경한 시간을 나타냅니다.
- 생성일: 키가 생성된 날짜.
- 삭제됨: 키가 삭제됨 상태 (제거 대기 중) 에 있는지 여부를 표시합니다.
- 가져오기: 사용자가 제공한 키 자료를 사용하여 키를 만들었는지 여부를 나타냅니다.
- 로테이션 정책: 이 키에 로테이션 정책이 첨부되어 있는지 여부를 표시합니다.
- 연관된 자원: 키가 자원을 보호하는지 여부를 표시합니다.
검색 기능은 5,000개의 키 볼륨으로 제한됩니다. 키가 5,000개 이상이고 그 수를 5,000개 미만으로 필터링할 수 없는 경우, 키 ID 또는 별칭과 정확히 일치하지 않으면 검색이 실패합니다. 예를 들어 키 상태별로 필터링하여 Enabled 키만 표시할 수 있습니다. 키 검색에 대한 API 사양에 대한 자세한 내용은 GET /keys를 참조하십시오.
검색 결과의 수를 줄이고 싶다면, 다음 매개변수 중 하나 또는 여러 가지를 조합하여 적용해 보세요:
not:이 옵션이 지정되면 검색에 사용되는 논리가 반전됩니다(예를 들어,not:foo은 별칭이나 이름에foo``이 포함되지 않은 키를 검색합니다).escape:이 옵션 이후의 모든 항목은 일반 텍스트로 간주됩니다(예:escape:not:하위 문자열not:)이 포함된 별칭 또는 이름을 가진 키를 검색합니다.exact:은(는) 정확한 일치만 검색합니다.alias:은(는) 키 별명만 검색합니다.name:은(는) 키 이름만 검색합니다.
not:exact:foobar 는 키 이름 또는 별칭이 정확히 foobar 가 아닌 키를 찾고, exact:not:foobar 은 키 이름 또는 별칭이 정확히 not:foobar 인 키를 찾습니다.
검색 범위는 OR 방식으로 작동합니다. 즉, 두 개 이상의 검색 범위를 사용할 경우, 해당 범위 중 적어도 하나에서 일치하는 결과가 있으면 해당 키가 반환된다는 의미입니다. 기본적으로(범위가 제공되지 않은 경우) name 및 alias 범위 둘 다에서 검색이 수행됩니다.
Key Protect 인스턴스에 저장된 전체 키 목록이 표시되지 않습니까? 관리자에게 문의하여 해당 Key Protect 인스턴스 또는 개별 키에 대해 올바른 역할이 할당되었는지 확인하십시오. 역할에 대한 자세한 정보는 역할 및 권한을 참조하십시오.
상태별 키 검색
Key Protect 인스턴스에서 특정 키의 상태를 필터링하여 지정한 상태의 키를 검색할 수 있습니다.
예를 들어, Key Protect 인스턴스에 활성, 일시중단됨 및 삭제됨 상태의 키가 있을 수 있지만, 키 목록을 검색할 때 활성 상태의 키만 검색하려고 합니다.
키 상태에 대한 자세한 정보는 키 상태 및 상태 전이를 참조하십시오.
키를 작성하거나 기존 키를 서비스로 가져오고 나면 키를 볼 수 있는 두 가지 옵션이 있습니다. 첫 번째 옵션인 리소스 목록을 통한 키 보기는 세분화된 액세스 권한이 있는 키를 제외한 모든 키에 대해 작동합니다. 세분화된 액세스 권한이 있는 키 보기에 대한 자세한 내용은 세분화된 액세스 권한 키 IAM 보기를 참조하세요.
리소스 목록을 통해 키 보기
-
메뉴 > 리소스 목록으로 이동하여 리소스 목록을 보십시오.
-
IBM Cloud 리소스 목록에서 Key Protect의 프로비저닝된 인스턴스를 선택하십시오.
-
‘키’ 페이지에서 필터 아이콘을 클릭하여 필터 패널을 엽니다.
-
'상태' 드롭다운 메뉴에서 검색하려는 키의 주요 상태를 선택하십시오.
-
적용 단추를 클릭하십시오.
-
또한 테이블 행 표제에서
Last updated을 클릭하여 테이블의 키가 가장 최근에 업데이트된 날짜별로 목록을 정렬하거나Type을 클릭하여 모든 루트 키 및 표준 키를 그룹으로 나열할 수 있습니다.
IAM을 통해 세분화된 액세스 키 보기
-
메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하고 사용자를 선택하여 계정의 기존 사용자를 찾아보십시오.
-
테이블 행을 선택하고 ⋯ 아이콘을 클릭하여 특정 사용자에 대한 옵션 목록을 여십시오. 그런 다음 드롭 다운 목록에서 액세스 관리를 선택하십시오.
-
여기에서는 해당 사용자가 속한 액세스 그룹을 포함하여, 이 사용자에 대한 모든 IAM 정보를 확인할 수 있습니다. 이 사용자에 대한 액세스 정책을 구체적으로 확인하려면 액세스 정책 탭을 클릭하십시오.
계정 소유자나 적절한 권한을 가진 사용자는 키에 대한 세분화된 액세스 권한을 포함하여, 해당 사용자에게 할당된 모든 정책을 확인할 수 있습니다.
API로 키 보기
Key Protect API를 사용하여 키의 컨텐츠를 검색할 수 있습니다.
키 목록 검색
상위 레벨 보기의 경우에는 다음 엔드포인트에 대한 GET 호출을 작성하여 Key Protect의 프로비저닝된 인스턴스에서 관리되는 키를 찾아볼 수 있습니다.
https://<region>.kms.cloud.ibm.com/api/v2/keys
-
다음
curl명령을 실행하여 키에 대한 일반 특성을 보십시오.$ curl -X GET \ "https://<region>.kms.cloud.ibm.com/api/v2/keys" \ -H "accept: application/vnd.ibm.collection+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "x-kms-key-ring: <key_ring_ID>" \ -H "correlation-id: <correlation_ID>"표 1의 정보에 따라 예제 요청의 변수를 바꾸십시오. 키 검색 기능을 포함하여 키 콜렉션을 볼 때 사용 가능한 선택적 매개변수에 대한 자세한 정보는
List keys메소드에 대한 API 문서를 참조하십시오.
| 가변 | 설명 |
|---|---|
| 지역 | 필수. Key Protect 인스턴스가 상주하는 지리적 영역을 표시하는 지역 약어(예: us-south 또는 eu-gb)입니다. 자세한 정보는 지역 서비스 엔드포인트를 참조하십시오. |
| key_ID_or_alias | 필수. 검사할 키의 고유 ID 또는 별명입니다. |
| IAM_token | 필수. 사용자의 IBM Cloud 액세스 토큰입니다. curl 요청에 Bearer 값을 포함하여 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 정보는 액세스 토큰 검색을 참조하십시오. |
| instance_ID | 필수. Key Protect 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 정보는 인스턴스 ID 검색을 참조하십시오. |
| key_ring_ID | 선택사항. 대상 키 링의 고유 ID입니다. 별도로 지정하지 않은 경우, 응답에는 사용자가 지정된 인스턴스에서 액세스할 수 있는 모든 리소스가 포함됩니다. 응답이 제공되는 경우, 해당 응답에는 사용자가 지정된 키링에서 액세스 권한을 가진 리소스만 포함됩니다. 자세한 정보는 키 그룹화를 참조하십시오. |
| correlation_ID | 선택사항. 트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다. |
성공한 GET api/v2/keys 요청은 Key Protect 서비스 인스턴스에서 사용 가능한 키의 콜렉션을 리턴합니다.
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.key+json",
"collectionTotal": 2
},
"resources": [
{
"id": "02fd6835-6001-4482-a892-13bd2085f75d",
"type": "application/vnd.ibm.kms.key+json",
"name": "Root-key",
"state": 1,
"crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
"createdBy": "...",
"creationDate": "2020-03-11T16:30:06Z",
"lastUpdateDate": "2020-03-11T16:30:06Z",
"algorithmMetadata": {
"bitLength": "256",
"mode": "Deprecated"
},
"extractable": false,
"imported": true,
"algorithmMode": "Deprecated",
"algorithmBitSize": 256,
"dualAuthDelete": {
"enabled": false
}
},
{
"id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"type": "application/vnd.ibm.kms.key+json",
"name": "Standard-key",
"state": 1,
"expirationDate": "2020-03-14T03:50:12Z",
"crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:30372f20-d9f1-40b3-b486-a709e1932c9c:key:2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"createdBy": "...",
"creationDate": "2020-03-12T03:50:12Z",
"lastUpdateDate": "2020-03-12T03:50:12Z",
"algorithmMetadata": {
"bitLength": "256",
"mode": "Deprecated"
},
"extractable": true,
"imported": false,
"algorithmMode": "Deprecated",
"algorithmBitSize": 256,
"dualAuthDelete": {
"enabled": false
}
}
]
}
기본적으로 GET api/v2/keys는 처음 200개의 키를 리턴하지만 조회 시 limit 매개변수를 사용하여 이 한계를 조정할 수 있습니다. limit 및 offset에 대해 자세히 보려면 키의 서브세트 검색을
참조하십시오.
키의 전체 목록이 표시되지 않습니까? limit 및 offset 를 참조하거나 관리자에게 문의하여, 해당 인스턴스의 키에 대해 올바른 수준의 액세스 권한이 할당되었는지 확인해야 할 수도 있습니다. 자세히 알아보려면 키를 보거나 나열할 수 없음을
참조하십시오.
키의 서브세트 검색
조회 시 limit 및 offset 매개변수를 지정하면 지정하는 offset 값부터 시작하여 키의 서브세트를 검색할 수 있습니다.
예를 들어, Key Protect 인스턴스에 저장된 총 3000개의 키가 있지만 GET /keys 요청을 작성할 때 200 - 300 키를 검색하려고 합니다.
다음 예제 요청을 사용하여 다른 키 세트를 검색할 수 있습니다.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys?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번까지의 키를 나열하려면 ../keys?offset=25 를 사용하면 됩니다. 사용 가능한 리소스를 통해 페이지 제한과 오프셋을 쌍으로 구성할 수도 있습니다. |
| 한계 | 검색할 키의 수입니다. 예를 들어, 인스턴스에 100개의 키가 있는데 그중 10개만 나열하고 싶다면 ../keys?limit=10 를 사용하세요. 한계의 최대값은 5000입니다. |
오프셋은 데이터 세트에 있는 특정 키의 위치입니다. offset 값은 0부터 시작합니다. 즉, 데이터 세트의 열 번째 암호화 키는 오프셋 9에 있습니다.
상태별 키 검색
조회 시 state 매개변수를 지정하여 지정하는 상태의 키를 검색할 수 있습니다.
예를 들어, Key Protect 인스턴스에 활성, 일시중단됨 및 영구 삭제됨 상태의 키가 있을 수 있지만 GET /keys 요청을 작성할 때 활성 상태의 키만 검색하려고 합니다.
상태 조회 매개변수는 공백 또는 후행 쉼표 없이 쉼표로 구분된 0 - 5 사이의 정수 목록에 포함됩니다. 키 상태에 대한 자세한 정보는 키 상태 및 상태 전이를 참조하십시오.
다음 예제 요청을 사용하여 다른 키 세트를 검색할 수 있습니다.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys?state=<state_integers>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
다음 표에 따라 요청의 state 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| 상태 | 검색할 키의 상태입니다. 상태는 정수로, ‘활성화 전’은 0, ‘활성화’는 1, ‘일시 중지’는 2, ‘비활성화’는 3, ‘파괴’는 5로 표시됩니다. 예를 들어, Key Protect 인스턴스에서 ‘활성’ 상태인 키만 나열하려면 ../keys?state=1 를 사용하세요. 사용 가능한 리소스를 통해 페이지 제한 및 오프셋과 상태를 쌍으로 구성할 수도 있습니다. |
사용법 참고사항은 state 조회 매개변수 설정에 대한 다음 예제를 확인하십시오.
| URL | 설명 |
|---|---|
.../keys |
처음 200개의 키까지 사용 가능한 모든 리소스를 나열합니다. |
.../keys?state=5 |
삭제됨 상태의 키를 나열합니다. |
.../keys?state=2,3 |
일시중단됨 및 비활성화됨 상태의 키를 나열합니다. |
추출 가능한 값별로 키 검색
조회 시 extractable 매개변수를 지정하여 서비스를 종료할 수 있는 자료가 있는 키를 검색할 수 있습니다.
예를 들어, Key Protect 인스턴스에 표준 키와 루트 키가 모두 있을 수 있지만 GET /keys 요청을 할 때 추출 가능한 키 자료가 있는 키만 검색하려고 합니다.
추출 가능한 조회 매개변수는 부울을 사용합니다.
다음 예제 요청을 사용하여 다른 키 세트를 검색할 수 있습니다.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys?extractable=<extractable>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
다음 표에 따라 요청의 extractable 변수를 대체하십시오.
| 가변 | 설명 |
|---|---|
| extractable | 검색할 키의 유형입니다. 추출 가능 특성을 기반으로 키를 필터링합니다. 이 조회 매개변수를 사용하여 서비스를 종료할 수 있는 자료가 있는 키를 검색할 수 있습니다. true 로 설정하면 표준 키가 반환됩니다. false 로 설정하면 루트 키가 검색됩니다. 생략할 경우, 루트 키와 표준 키가 모두 검색됩니다. 예를 들어, Key Protect 인스턴스에서 추출 가능한 소재가
포함된 키만 나열하려면 ../keys?extractable=true 를 사용하세요. 사용 가능한 리소스를 통해 offset, limit 및 state와 추출 가능도 쌍으로 연결할 수 있습니다. |
사용법 참고사항은 extractable 조회 매개변수 설정에 대한 다음 예제를 확인하십시오.
| URL | 설명 |
|---|---|
../keys |
처음 200개의 키까지 사용 가능한 모든 리소스를 나열합니다. |
../keys?extractable=true |
표준 키를 나열합니다. |
../keys?extractable=false |
루트 키를 나열합니다. |
키 목록 정렬하기
하나 이상의 키 특성을 기반으로 리턴된 조회 문자열 키 목록을 정렬합니다. 에서 sort 매개변수를 사용합니다. 속성을 내림차순으로 정렬하려면 용어 앞에 "-"를 붙입니다. 여러 개의 주요 속성을 정렬하려면 쉼표를 사용하여 각 속성을 구분합니다. 쉼표로 구분된
목록의 첫 번째 속성이 다음 속성보다 먼저 평가됩니다.
$ curl -X GET \
"https://<region>.kms.cloud.ibm.com/api/v2/keys?sort=<sort-value>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
| 가변 | 설명 |
|---|---|
| 정렬 값 | 정렬을 위한 특성 목록입니다. 현재 정렬할 수 있는 주요 속성은 다음과 같습니다: id, state, extractable, imported, creationDate, lastUpdateDate, lastRotateDate, deletionDate,
expirationDate 입니다. |