Secrets Manager의 데이터 보안
IBM Cloud® Secrets Manager을 사용할 때 데이터를 안전하게 관리하려면 저장되고 암호화되는 데이터와 해당 데이터를 삭제하는 방법을 정확하게 파악하는 것이 중요합니다. 고객 관리 키를 사용한 데이터 암호화는 Key Protect 또는 Hyper Protect Crypto Services와의 통합을 통해 지원됩니다.
Secrets Manager에서 데이터를 저장하고 암호화하는 방법
Secrets Manager로 작업할 때 서비스는 다른 유형의 시크릿에 대한 조작을 처리하기 위해 HashiCorp Vault와 통신합니다. 백엔드에 작성된 모든 요청에 대해 Vault는 보안 배리어를 사용하도록 설계되어 있습니다. Vault에서 이동해 나가는 데이터는 96비트 난스(nonces)가 있는 GCM(Galois Counter Mode)에서 256비트 AES(Advanced Encryption Standard) 암호를 사용하여 자동으로 암호화됩니다.
Secrets Manager 는 봉투 암호화로데이터 암호화 키로 데이터를 암호화한 다음 완전히 관리 가능한 루트 키로 키를 암호화하는 프로세스입니다. 저장된 모든 비밀을 암호화합니다. 암호화된 시크릿은 사용자의 인스턴스에 고유한 전용 Cloud Object Storage 버킷에 저장됩니다. 미사용 시 비밀을 보호하기 위해 Secrets Manager 은 Key Protect 과 같은 키 관리 서비스와 통합됩니다. 모든 비밀의 각 버전은 루트 키로데이터 서비스에 저장된 다른 키를 암호화 및 복호화하는 데 사용되는 대칭 랩핑 키입니다. 보호되는 데이터 암호화 키(DEK)로 암호화되며, Secrets Manager 에서 Vault에 대한 액세스를 봉인하고 봉인을 해제하는 데 사용됩니다. 이 통합 기능은 FIPS 인증 하드웨어 보안 모듈에온디맨드 암호화, 키 관리 및 키 저장소를 관리 서비스로 제공하는 물리적 어플라이언스입니다. 기반한 암호화 키를 사용하여 사용자의 비밀을 보호합니다. 인증 정보는 서비스를 통해 저장될 때 일반 텍스트로 제공되지 않습니다.
Secrets Manager에서는 다음과 같은 보안 메커니즘을 사용하여 전송 중인 데이터도 보호합니다.
- 엔드 투 엔드 통신을 위한 TLS 1.2+
- 내부 통신을 위한 mTLS
- WAF(Web App Firewall) 및 DDoS 보호
- 전용 인스턴스를 격리하기 위한 Inress 및 Egress 네트워크 규칙
Secrets Manager에서 중요한 데이터 보호
키 관리 서비스와의 통합을 사용하여 저장 데이터에 대한 상위 레벨의 암호화 제어를 추가할 수 있습니다.
IBM Cloud에 저장하는 데이터는 엔벨로프 암호화를 사용하여 저장 시 암호화됩니다. 암호화 키를 제어해야 하는 경우 키 관리 서비스를 통합할 수 있습니다. 이러한 프로세스를 일반적으로 BYOK(Bring Your Own Key) 또는 KYOK(Keep Your Own Key)라고 합니다. 키 관리 서비스를 사용하면 암호화 키를 작성하고 가져오고 관리할 수 있습니다. 키에 액세스 정책을 지정하거나 사용자 또는 서비스 ID를 키에 지정하거나 특정 서비스에만 키 액세스 권한을 부여할 수 있습니다.
다음 표에서는 Secrets Manager 데이터의 암호화를 관리하기 위한 옵션에 대해 설명합니다.
| 암호화 | 설명 |
|---|---|
| 제공자 관리 암호화 | Secrets Manager에 저장하는 데이터는 IBM 관리 키를 사용하여 저장 시 암호화됩니다. 암호화 키는 Key Protect. 이 설정은 기본값입니다. |
| 고객 관리 암호화 | Secrets Manager에 저장된 데이터는 사용자가 소유하고 관리하는 암호화 키를 사용하여 저장 시 암호화됩니다. 에서 관리하는 루트 키를 사용할 수 있습니다 Key Protect. |
고객 관리 키 정보
Secrets Manager에서는 엔벨로프 암호화를 사용하여 고객 관리 키를 구현합니다. 엔벨로프 암호화는 하나의 암호화 키로 다른 암호화 키를 암호화하는 것을 나타냅니다. 실제 데이터를 암호화하는 데 사용되는 키를 데이터 암호화 키(DEK)애플리케이션에 저장된 데이터를 암호화하는 데 사용되는 암호화 키입니다. 라고 합니다. DEK 자체는 저장되지 않지만 랩핑된 DEK를 작성하도록 키 암호화 키(KEK)라고 하는 두 번째 키로 랩핑됩니다. 데이터를 복호화하기 위해 랩핑된 DEK를 랩핑 해제하여 DEK를 확보합니다. 이 프로세스는 KEK에 액세스하는 경우에만 가능합니다. 이 때 KEK는 키 관리 서비스에 저장된 루트 키입니다.
Secrets Manager 에 저장하는 데이터는 Key Protect 에서 지원하는 BYOK(Bring Your Own Key) 프로세스를 사용하여 암호화할 수 있습니다. 이 멀티테넌트 서비스를 사용하면 온프레미스 하드웨어 보안 모듈(HSM)에서 암호화 키를 가져온 다음 키를 관리할 수 있습니다. 마스터 키를 포함한 전체 키 계층구조를 독점적으로 제어하려면 Key Protect 에서 지원하는 KYOK(Keep Your Own Key) 프로세스를 사용할 수 있습니다. KYOK를 사용하면 BYOK 기능에 더해 IBM 에서도 키에 액세스할 수 없도록 기술적으로 보장합니다. 자세히 보기
Secrets Manager에 대해 고객 관리 키 사용
관리하는 키에 대해 작업하도록 선택하는 경우 유효한 IAM 권한이 작업 중인 Secrets Manager의 인스턴스에 지정되었는지 확인해야 합니다. 이 권한을 작성하기 위해 다음 단계를 사용할 수 있습니다.
-
Key Protect의 인스턴스를 작성하십시오.
-
키 관리 서비스 인스턴스로 루트 키를 가져오거나 루트 키를 생성하십시오.
Key Protect를 사용하여 루트 키를 작성하는 경우, 서비스에서 클라우드 기반 HSM을 기반으로 암호화 키 자료를 생성합니다. 키 이름에 사용자 이름 또는 위치와 같은 개인 정보가 포함되어 있지 않은지 확인하십시오.
-
Key Protect 또는 Hyper Protect Crypto Services에 대한 서비스 액세스 권한을 부여하십시오.
작업 중인 키 관리 서비스의 인스턴스에 대해 계정 소유자 또는 관리자여야 합니다. 또한 Secrets Manager 서비스에 대한 뷰어 액세스 권한이 이상이 있어야 합니다.
- 관리 > 액세스 IAM > 권한으로 이동하십시오.
- 소스 계정을 선택합니다
- Secrets Manager 를 이 계정에 프로비저닝할 계획이라면 이 계정을 선택하십시오.
- Secrets Manager 인스턴스를 프로비저닝할 소스 계정의 ID를 입력하고, 특정 계정을 선택합니다.
- 루트 키가 포함된 Key Protect 의 특정 인스턴스를 대상 서비스로 선택합니다.
- 권한 범위를 지정하려면:
- 키링의 모든 키: 조건 추가를 클릭하고 키링 ID를 선택한 다음 키링의 ID를 입력합니다.
- 특정 암호화 키: 조건 추가를 클릭하고 리소스 유형을 선택한 다음 값 키를 입력합니다. 다음으로 조건 추가를 클릭하고 리소스 ID를 선택한 다음 암호화 키의 ID를 입력합니다.
- 리더 역할을 할당합니다.
- 권한 부여를 클릭하여 권한을 확인하십시오.
나중에 Secrets Manager 인스턴스를 삭제하도록 선택하면 IAM에서 이 권한도 삭제합니다.
-
이전에 승인한 루트 키를 사용하여 Secrets Manager 를 생성하십시오.
Secrets Manager에서 데이터 삭제
Secrets Manager 의 인스턴스를 삭제하면 해당 인스턴스와 연결된 모든 사용자 데이터도 삭제됩니다. 서비스 인스턴스가 삭제되면 7일의 재확보 기간이 시작됩니다. 이 기간 동안 인스턴스와 관련된 모든 사용자 데이터를 복원할 수 있습니다. 그러나 인스턴스와 데이터가 영구적으로 삭제되면 더 이상 복원할 수 없습니다. Secrets Manager에서는 영구적으로 삭제된 인스턴스의 데이터를 저장하지 않습니다.
새 가격 책정 플랜 릴리스의 일부로 인스턴스가 자동으로 삭제된 경우 재확보 프로세스를 사용하여 이를 복원할 수 있습니다. 복원된 후에는 플랜을 1시간 내에 업그레이드해야 합니다. 그렇지 않으면 다시 삭제됩니다.
Secrets Manager 데이터 보존 정책은 서비스를 삭제한 후 데이터가 저장되는 기간을 설명합니다. 데이터 보존 정책은 IBM Cloud 용어 및 주의사항에서 찾을 수 있는 Secrets Manager 서비스 설명에 포함되어 있습니다.
Secrets Manager 인스턴스 삭제
Secrets Manager의 인스턴스가 더 이상 필요하지 않으면 서비스 인스턴스 및 저장된 데이터를 삭제할 수 있습니다. 인스턴스가 비활성화된 상태가 되고 7일 후에 데이터가 영구적으로 삭제됩니다. 콘솔을 사용하여 서비스 인스턴스를 삭제하도록 선택할 수도 있습니다.
7일간의 교정 기간 동안 Secrets Manager와 다른 통합 서비스(예: Key Protect) 간 권한을 삭제하지 마십시오. Secrets Manager에서는 권한을 사용하여 해당 서비스의 연관된 리소스에서 인스턴스를 등록 해제합니다. 인스턴스가 영구적으로 삭제되면 IAM에서 권한도 삭제합니다.
-
서비스를 삭제하고 7일의 재확보 기간에 배치하십시오.
ibmcloud resource service-instance-delete "<instance_name>"<instance_name>을(를) 삭제하려는 Secrets Manager 인스턴스의 이름으로 바꾸십시오. -
선택사항: 인스턴스를 영구적으로 삭제하려면 재확보 ID를 가져오십시오.
ibmcloud resource reclamations --resource-instance-id <instance_ID><instance_ID>을(를) Secrets Manager 인스턴스 ID로 바꾸십시오.재확보를 삭제하여 인스턴스를 영구적으로 삭제하기로 한 경우 데이터를 복원할 수 없습니다.
-
선택사항: 재확보 인스턴스를 영구적으로 삭제하십시오.
ibmcloud resource reclamation-delete <reclamation_ID><reclamation_ID>을(를) 이전 단계에서 검색한 값으로 바꾸십시오.
삭제된 서비스 인스턴스 복원
인스턴스를 영구적으로 삭제하지 않은 경우 7일 재확보 기간 동안 이를 복원할 수 있습니다.
-
복원 대상이 되는 서비스 인스턴스를 확인하십시오.
ibmcloud resource reclamations사용 가능한 인스턴스 목록에서 복원하려는 Secrets Manager 인스턴스의 교정 ID를 복사하십시오.
-
재확보를 복원하십시오.
ibmcloud resource reclamation-restore <reclamation_ID><reclamation_ID>을(를) 이전 단계에서 검색한 값으로 바꾸십시오.