App ID의 데이터 보안
IBM Cloud® App ID 사용 시 데이터를 안전하게 관리할 수 있도록 하려면 저장되고 암호화되는 데이터와 저장된 개인 데이터를 삭제할 수 있는 방법을 정확하게 파악하는 것이 중요합니다.
App ID에서 데이터가 저장되고 암호화되는 방법
App ID는 사용자 프로파일 속성을 저장하고 암호화합니다. 멀티 테넌트 서비스로서 모든 테넌트에는 지정된 암호화 키가 있으며 각 테넌트의 사용자 데이터는 테넌트의 키만으로 암호화됩니다. App ID은(는) 개인 정보가 저장되기 전에 암호화되는지 확인합니다.
KMS(키 관리 서비스)와의 통합을 활성화하여 저장 중인 데이터에 더 높은 수준의 암호화 제어 기능을 추가할 수 있습니다. IBM Cloud에 저장하는 데이터는 엔벨로프 암호화를 사용하여 저장 시 암호화됩니다. 암호화 키를 제어해야 하는 경우, Key Protect 또는 Hyper Protect Crypto Services를 통합할 수 있습니다. 이 프로세스를 일반적으로 BYOK(Bring Your Own Key)라고 합니다. Key Protect 및 Hyper Protect Crypto Services를 사용하여 암호화 키를 작성하고 가져오고 관리합니다. 키에 액세스 정책을 지정하거나 사용자 또는 서비스 ID를 키에 지정하거나 특정 서비스에만 키 액세스 권한을 부여할 수 있습니다.
고유 키 관리
App ID에서는 엔벨로프 암호화를 사용하여 제공자 관리 키와 고객 관리 키를 둘 다 구현합니다. 엔벨로프 암호화는 하나의 암호화 키로 다른 암호화 키를 암호화하는 것을 나타냅니다. 실제 데이터를 암호화하는 데 사용되는 키를 DEK(Data Encryption Key)라고 합니다. DEK 자체는 저장되지 않지만 랩핑된 DEK를 작성하도록 키 암호화 키(KEK)라고 하는 두 번째 키로 랩핑됩니다. 데이터를 복호화하기 위해 랩핑된 DEK를 랩핑 해제하여 DEK를 확보합니다. 이 프로세스에서는 KEK에 대한 액세스만 가능합니다. 이 경우에는 KMS에 저장된 루트 키가 있습니다. Key Protect 키는 FIPS 140-2 레벨 3 인증 클라우드 기반 하드웨어 보안 모듈(HSM)로 보안 설정되며, Hyper Protect Crypto Services 키는 FIPS 140-2 레벨 4 인증 클라우드 기반 HSM으로 보안 설정됩니다.
App ID를 사용하여 Key Protect에 고객 관리 키 사용
사용자가 관리하는 키를 사용하는 경우 유효한 IAM 권한이 App ID 서비스에 지정되어 있는지 확인해야 합니다.
- Key Protect의 인스턴스를 작성하십시오.
- Key Protect의 인스턴스로 고유 루트 키를 생성하거나 가져오십시오. Key Protect를 사용하여 루트 키를 작성하는 경우, 서비스에서 클라우드 기반 HSM을 기반으로 암호화 키 자료를 생성합니다. 키 이름에 사용자 이름 또는 위치와 같은 개인 정보가 포함되어 있지 않은지 확인하십시오.
- Key Protect에 대한 서비스 액세스 권한을 부여하십시오. 사용자가 사용 중인 Key Protect 인스턴스의 관리자 또는 계정 소유자여야 합니다. 또한 App ID 서비스에 대해 적어도 뷰어 액세스 권한을 갖고 있어야 합니다.
- 관리 > 액세스 IAM > 권한으로 이동하십시오.
- Key Protect에 대한 액세스를 허용하는 권한을 작성하십시오.
- 소스 계정을 선택하십시오.
- App ID 을 소스 서비스로 선택합니다.
- 대상 서비스로 Key Protect을(를) 선택하십시오.
- 액세스 범위를 지정하십시오.
- 독자 역할을 지정하십시오.
- 권한 부여를 클릭하십시오.
- App ID 서비스의 인스턴스를 작성하십시오.
- Key Protect 인스턴스를 선택하십시오.
- 이전에 권한을 부여한 루트 키를 선택하십시오.
- 작성을 클릭하십시오.
Key Protect 와의 통합은 public-and-private 서비스 엔드포인트로 구성된 인스턴스에 대해서만 지원됩니다. 비공개 전용 서비스 엔드포인트로 구성된 인스턴스는 지원되지 않습니다.
App ID에서는 키 상태 변경을 지원합니다.
키 회전
KEK를 회전하면 App ID에서 회전된 키에 연결된 DEK를 다시 랩핑하여 사용자 데이터가 항상 최신 암호화 키로 보호되도록 합니다.
키 삭제
KEK를 삭제하면 삭제한 후 4시간 안에는 사용자 데이터에 액세스할 수 없습니다. 키를 삭제해도 사용자 데이터가 폐기되지 않지만 App ID에서 사용자 데이터를 더 이상 복호화할 수 없으므로 액세스할 수 없게 됩니다.
App ID를 사용하여 Hyper Protect Crypto Services에 고객 관리 키 사용
사용자가 관리하는 키를 사용하는 경우 유효한 IAM 권한이 App ID 서비스에 지정되어 있는지 확인해야 합니다.
- Hyper Protect Crypto Services의 인스턴스를 작성하십시오.
- 스마트 카드 또는 워크스테이션에서 마스터 키를 로드하여 인스턴스를 초기화하십시오.
- 고유 루트 키를 생성하거나 Hyper Protect Crypto Services 인스턴스로 가져오십시오. Hyper Protect Crypto Services를 사용하여 루트 키를 작성하는 경우, 서비스에서 클라우드 기반 HSM을 기반으로 암호화 키 자료를 생성합니다. 키 이름에 사용자 이름 또는 위치와 같은 개인 정보가 포함되어 있지 않은지 확인하십시오.
- 서비스에 Hyper Protect Crypto Services 액세스 권한을 부여하십시오. 사용자가 사용 중인 Hyper Protect Crypto Services 인스턴스의 관리자 또는 계정 소유자여야 합니다. 또한 App ID 서비스에 대해 적어도 뷰어 액세스 권한을 갖고 있어야 합니다.
- 관리 > 액세스 IAM > 권한으로 이동하십시오.
- Key Protect에 대한 액세스를 허용하는 권한을 작성하십시오.
- 소스 계정을 선택하십시오.
- App ID 을 소스 서비스로 선택합니다.
- 대상 서비스로 Hyper Protect Crypto Services을(를) 선택하십시오.
- 액세스 범위를 지정하십시오.
- 독자 역할을 지정하십시오.
- 권한 부여를 클릭하십시오.
- App ID 서비스의 인스턴스를 작성하십시오.
- Hyper Protect Crypto Services 인스턴스를 선택하십시오.
- 이전에 권한을 부여한 루트 키를 선택하십시오.
- 작성을 클릭하십시오.
Hyper Protect Crypto Services 와의 통합은 public-and-private 서비스 엔드포인트로 구성된 인스턴스에 대해서만 지원됩니다. 비공개 전용 서비스 엔드포인트로 구성된 인스턴스는 지원되지 않습니다.
App ID에서는 키 상태 변경을 지원합니다.
키 회전
KEK를 회전하면 App ID은(는) 회전된 키와 연관된 DEK를 랩핑하여 사용자 데이터가 항상 최신 암호화 키로 보호되도록 합니다.
키 삭제
KEK를 삭제하면 삭제한 후 4시간 안에는 사용자 데이터에 액세스할 수 없습니다. 키를 삭제해도 사용자 데이터가 폐기되지 않지만 App ID에서 사용자 데이터를 더 이상 복호화할 수 없으므로 액세스할 수 없게 됩니다.
App ID의 데이터 삭제
App ID의 인스턴스를 삭제하면 모든 사용자 연관 데이터도 삭제됩니다. 서비스 인스턴스가 삭제되면 7일의 재확보 기간이 시작됩니다. 해당 시간 동안 인스턴스 및 모든 사용자 연관 데이터를 복원할 수 있습니다. 그러나 인스턴스 및 데이터가 영구적으로 삭제되면 복원할 수 없습니다. App ID은(는) 영구적으로 삭제된 인스턴스의 데이터를 저장하지 않습니다.
App ID 데이터 보존 정책은 서비스를 삭제한 후 데이터가 저장되는 기간을 설명합니다. 데이터 보존 정책은 App ID 서비스 설명에 포함되어 있으며, 이는 IBM Cloud 이용 약관 및 주의사항에서 찾을 수 있습니다.
인스턴스 삭제
App ID의 인스턴스가 더 이상 필요하지 않은 경우 서비스 인스턴스와 저장된 모든 데이터를 삭제할 수 있습니다. 콘솔을 사용하여 서비스 인스턴스를 삭제하도록 선택할 수도 있습니다.
-
서비스를 삭제하고 7일의 재확보 기간에 배치하십시오.
ibmcloud resource service-instance-delete <serviceName> -
선택사항: 인스턴스를 영구적으로 삭제하려면 재확보 ID를 가져오십시오.
ibmcloud resource reclamations --resource-instance-id <tenantID>인스턴스를 영구적으로 삭제하지 않도록 선택한 경우 7일 재확보 기간 종료 시 인스턴스와 데이터가 삭제됩니다.
-
선택사항: 재확보 인스턴스를 영구적으로 삭제하십시오.
ibmcloud resource reclamation-delete <reclamationId>인스턴스를 영구적으로 삭제하면 데이터를 복원할 수 없습니다.
삭제된 인스턴스 복원
인스턴스를 영구적으로 삭제하지 않은 경우 교정 기간 중에 복원할 수 있습니다.
-
재확보 ID를 가져오십시오.
ibmcloud resource reclamations --resource-instance-id <tenantID> -
재확보를 복원하십시오.
ibmcloud resource reclamation-restore <reclamationID>