IBM Cloud Docs
루트 키 작성

루트 키 작성

IBM® Key Protect for IBM Cloud® 콘솔을 사용하여 루트 키를 작성하려면 IBM Cloud을(를) 사용하십시오.

IBM® Key Protect for IBM Cloud® API를 사용하여 프로그래밍 방식으로 루트 키를 작성하려면 Key Protect을(를) 사용하십시오.

루트 키는 클라우드에서 암호화된 데이터의 보안을 보호하는 데 사용되는 대칭 키-랩핑 키입니다. 루트 키에 대한 자세한 정보는 엔벨로프 암호화로 데이터 보호를 참조하십시오.

한 지역에서 작성된 암호화 키를 사용하여 IBM Cloud 내의 임의의 지역에 있는 데이터 저장소를 암호화할 수 있습니다.

콘솔에서 루트 키 작성

서비스의 인스턴스를 작성한 후 다음 단계를 완료하여 루트 키를 IBM Cloud 콘솔에 작성하십시오.

Key Protect 인스턴스에 대한 이중 권한 부여 설정을 사용으로 설정하는 경우 서비스에 추가한 키를 삭제하려면 두 사용자의 권한이 필요함에 유의하십시오.

  1. IBM Cloud 콘솔에 로그인 합니다.

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

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

  4. 새 키를 작성하려면 추가를 클릭하십시오. 사이드 패널이 열립니다. 키 작성 옵션이 선택되었는지 확인하십시오. 이 키에 대해 키 별명, 키 링또는 회전 정책 을 설정하려면 고급 옵션 탭을 클릭하여 표시해야 합니다.

Manager 가 아닌 경우 (또는 동등한 레벨의 권한이 있는 경우) 순환 정책 옵션이 표시되지 않습니다.

Specify the key's details:
키 만들기 설정에 대해 설명합니다.
설정 설명
유형 Key Protect에서 관리할 키의 유형입니다. 루트 키는 기본적으로 선택됩니다.
키 이름 키를 쉽게 식별할 수 있도록 사람이 읽을 수 있는 표시 이름입니다. 길이는 2 - 90자(포함)여야 합니다. 개인정보를 보호하려면 키 이름에 사용자 이름 또는 위치와 같은 PII(Personally Identifiable Information)가 포함되지 않았는지 확인하십시오. 키 이름은 고유하지 않아도 됩니다.
키 설명 선택사항. 설명은 별명 또는 해당 이름을 사용하여 수행할 수 없는 방식으로 키에 대한 정보 (예: 해당 목적을 설명하는 구문) 를 추가하는 유용한 방법입니다. 이 설명은 2자 이상 240자이하여야 하며 나중에 변경할 수 없습니다. 개인정보를 보호하기 위해 이름이나 위치 등의 개인 데이터를 키 설명으로 사용하지 마세요.
키 별명 선택사항. 키 별명 은 키를 설명하는 방법이기도 합니다. 키의 별명은 최대 5개일 수 있습니다.
키 링 선택사항. 키 링은 필요한 대로 해당 그룹화를 개별적으로 관리하는 데 사용할 수 있는 키 그룹입니다. 모든 키는 키 링의 일부여야 합니다. 키 링이 선택되지 않으면 키가 default 키 링에 배치됩니다. 키 링에 작성 중인 키를 배치하려면 해당 키 링에 대한 관리자 역할이 있어야 합니다. 역할에 대한 자세한 정보는 사용자 액세스 관리를 확인하십시오.
순환 정책 선택사항. 관리자 역할 을 보유하는 경우 키 작성 시 키에 대한 순환 정책을 설정할 수 있습니다. 인스턴스 정책 이 기본적으로 키에 대한 순환 정책을 작성하기 위해 존재하는 경우, 키 작성 시 해당 정책을 다른 간격으로 겹쳐쓸 수도 있습니다. 인스턴스에 순환 정책이 사용으로 설정되어 있고 키 작성 시 순환 정책을 사용 안함으로 설정 하는 경우, 정책은 여전히 사용 안함 상태에서 키에 기록됩니다. 나중에 이 정책을 사용으로 설정하려는 경우 이를 수행할 수 있습니다. 자세한 정보는 키가 작성된 후 순환 정책 설정 을 참조하십시오.

키의 세부사항 채우기를 완료한 후 확인하려면 키 작성을 클릭하십시오.

키를 배치하려는 키 링을 알고 있고 해당 키 링의 _관리자_인 경우 키 링 패널로 이동하여 ⋯을 선택하고 키 링에 키 추가를 클릭하십시오. 그러면 키 링 변수가 키 링 이름으로 채워진 페이지에서 추가를 클릭하면 표시되는 패널과 같은 패널이 열립니다.

서비스에서 작성되는 키는 대칭 256비트 키이며, AES-CBC-PAD 알고리즘에 의해 지원됩니다. 보안 강화를 위해 키는 보안 IBM Cloud 데이터 센터에 있는 FIPS 140-2 레벨 3 공인 HSM(Hardware Security Module)에 의해 생성됩니다.

API로 루트 키 작성

다음 엔드포인트에 대한 POST 호출을 작성하여 루트 키를 작성하십시오.

https://<region>.kms.cloud.ibm.com/api/v2/keys
  1. 인증 정보를 검색하여 서비스에서 키에 대한 작업을 수행하십시오.

  2. 다음 curl 명령을 실행하여 루트 키를 작성하십시오.

    $ curl -X POST \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "content-type: application/vnd.ibm.kms.key+json" \
        -H "x-kms-key-ring: <key_ring_ID>" \
        -H "correlation-id: <correlation_ID>" \
        -d '{
                "metadata": {
                    "collectionType": "application/vnd.ibm.kms.key+json",
                    "collectionTotal": 1
                },
                "resources": [
                    {
                        "type": "application/vnd.ibm.kms.key+json",
                        "name": "<key_name>",
                        "aliases": [alias_list],
                        "description": "<key_description>",
                        "expirationDate": "<expiration_date>",
                        "extractable": <key_type>
                    }
                ]
            }'
    

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

Key Protect API로 루트 키를 추가하는 데 필요한 변수에 대해 설명합니다.
가변 설명
지역 필수. Key Protect 인스턴스가 있는 지리적 영역을 나타내는 us-south 또는 eu-gb와 같은 지역 약어입니다. 자세한 정보는 지역 서비스 엔드포인트를 참조하십시오.
IAM_token 필수. 사용자의 IBM Cloud 액세스 토큰입니다. curl 요청에 Bearer 값을 포함하여 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 정보는 액세스 토큰 검색을 참조하십시오.
instance_ID 필수. Key Protect 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 정보는 인스턴스 ID 검색을 참조하십시오.
key_ring_ID 선택사항. 새로 작성되는 키가 일부가 되게 할 대상 키 링의 고유 ID입니다. 지정되지 않으면 헤더가 자동으로 '기본값'으로 설정되고 키는 지정된 Key Protect 서비스 인스턴스의 기본 키 링에 있습니다. 자세한 정보는 키 그룹화를 참조하십시오.
correlation_ID 트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다.
key_name 필수. 키를 쉽게 식별할 수 있도록 사람이 읽을 수 있는 이름입니다. 중요사항: 개인정보를 보호하려면 개인 데이터를 키의 메타데이터로 저장하지 마십시오.
alias_list 키에 지정되었으며 사용자가 읽을 수 있는 하나 이상의 고유한 별명입니다. 중요사항: 개인정보를 보호하려면 개인 데이터를 키의 메타데이터로 저장하지 마십시오. 각 별명은 영숫자여야 하며, 대소문자를 구분하고, 대시(-) 또는 밑줄(_) 이외의 특수 문자나 공백을 포함할 수 없습니다. 별명은 버전 4 UUID가 될 수 없으며 Key Protect 예약 이름이 아니어야 합니다(allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions). 별명 크기는 2 - 90자(포함)일 수 있습니다.
key_description 키에 대한 자세한 설명입니다. 중요사항: 개인정보를 보호하려면 개인 데이터를 키의 메타데이터로 저장하지 마십시오.
expiration_date 선택사항. 시스템에서 키가 만료되는 날짜와 시간, RFC 3339 형식(YYYY-MM-DD HH:MM:SS.SS, 예: 2019-10-12T07:20:50.52Z )입니다. 만료 날짜로 생성된 키는 만료 후 1시간 이내에 자동으로 비활성화 상태로 전환되므로 만료 날짜를 설정할 때는 주의하세요. 이 상태에서 키에 허용되는 작업은 래핑 해제, 래핑 다시 하기, 회전, 삭제뿐입니다. 비활성화된 키는 비활성화된 상태에서 회전하더라도 새 데이터를 암호화(래핑)하는 데 사용할 수 없습니다. 로테이션은 만료일을 초기화하거나 연장하지 않으며 날짜 변경도 허용하지 않습니다. 만료되거나 만료된 키로 암호화된 모든 데이터는 서비스 중단을 방지하기 위해 원래 CRK가 만료되기 전에 새 고객 루트 키(CRK)를 사용하여 다시 암호화하는 것이 좋습니다. 비활성화된 키를 삭제했다가 복원해도 다시 활성 상태로 돌아가지 않습니다. Expiration_date 속성을 생략하면 키가 만료되지 않습니다.
key_type 키 자료 서비스를 중단할지 여부를 판별하는 부울 값입니다. extractable 속성을 false로 설정하면 서비스가 랩핑 또는 랩핑 해제 오퍼레이션에 사용할 수 있는 루트 키를 작성합니다.

만료 날짜로 생성된 키는 만료 후 1시간 이내에 자동으로 비활성화 상태로 전환되므로 만료 날짜를 설정할 때는 주의하세요. 이 상태에서 키에 허용되는 작업은 래핑 해제, 래핑 다시 하기, 회전, 삭제뿐입니다. 비활성화된 키는 비활성화된 상태에서 회전하더라도 새 데이터를 암호화(래핑)하는 데 사용할 수 없습니다. 로테이션은 만료일을 초기화하거나 연장하지 않으며 날짜 변경도 허용하지 않습니다. 만료되거나 만료된 키로 암호화된 모든 데이터는 서비스 중단을 방지하기 위해 원래 CRK가 만료되기 전에 새 고객 루트 키(CRK)를 사용하여 다시 암호화하는 것이 좋습니다. 비활성화된 키를 삭제했다가 복원해도 다시 활성 상태로 되돌리지는 않습니다. Expiration_date 속성을 생략하면 키가 만료되지 않습니다.

를 사용하여 만료일이 있는 키의 사용을 모니터링할 수 있습니다 IBM Cloud Logs. 로그는 만료일이 있는 키와 다음 action 값에 대해 responseData.expirationDateresponseData.daysToKeyExpire JSON 속성을 사용하여 만료일과 남은 일 수를 표시합니다: kms.secrets.wrap, kms.secrets.unwrap, kms.secrets.rewrap, kms.secrets.read, kms.secrets.readmetadata, kms.secrets.create, kms.secrets-with-policy-overrides.createkms.secrets.expire 입니다. 또한 GET /api/v2/keys 로의 REST 호출이 성공하면 만료 날짜가 있는 각 키에 대한 expirationDate 속성이 반환됩니다.

개인 데이터의 기밀성을 보호하려면 서비스에 키를 추가할 때 사용자 이름 또는 위치와 같은 PII(Personally Identifiable Information)를 입력하지 않도록 하십시오.

성공한 POST api/v2/keys 응답은 기타 메타데이터와 함께 키의 ID 값을 리턴합니다. ID는 키에 지정되어 있으며 Key Protect API에 대한 후속 호출에 사용되는 고유 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,
            "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
        }
    ]
}

응답 매개변수에 대한 자세한 설명은 Key Protect REST API 참조 문서를 참조 하세요.

다음에 수행할 작업