암호화 모범 사례 AWS Key Management Service - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

암호화 모범 사례 AWS Key Management Service

AWS Key Management Service (AWS KMS) 를 사용하면 데이터를 보호하는 데 도움이 되는 암호화 키를 만들고 제어할 수 있습니다. AWS KMS 데이터를 암호화할 수 AWS 서비스 있는 대부분의 다른 장치와 통합됩니다. 전체 목록은 AWS 서비스 통합을 참조하십시오. AWS KMS AWS KMS 또한 와 AWS CloudTrail 통합되어 감사, 규제 및 규정 준수 요구 사항을 위한 KMS 키 사용을 기록할 수 있습니다.

KMS키는 의 주요 AWS KMS리소스이며 암호화 키를 논리적으로 표현한 것입니다. 키에는 세 가지 기본 유형이 있습니다. KMS

  • 고객 관리 KMS 키는 직접 생성하는 키입니다.

  • AWS 관리 KMS 키는 사용자를 대신하여 계정에 AWS 서비스 생성하는 키입니다.

  • AWS 소유 KMS 키는 한 사람이 AWS 서비스 소유하고 관리하여 여러 AWS 계정곳에 사용할 수 있는 키입니다.

이러한 키 유형에 대한 자세한 내용은 고객 키 및 AWS 키를 참조하세요.

AWS 클라우드에서는 정책을 사용하여 리소스와 서비스에 액세스할 수 있는 사용자를 제어합니다. 예를 들어 AWS Identity and Access Management (IAM) 에서 ID 기반 정책은 사용자, 사용자 그룹 또는 역할에 대한 권한을 정의하고 리소스 기반 정책은 S3 버킷과 같은 리소스에 연결되며 액세스가 허용된 보안 주체, 지원되는 작업 및 충족해야 하는 기타 조건을 정의합니다. 정책과 마찬가지로 AWS KMS 는 키 IAM 정책을 사용하여 키에 대한 액세스를 제어합니다. KMS 각 KMS 키에는 키 정책이 있어야 하며 각 키에는 키 정책이 하나만 있을 수 있습니다. KMS키에 대한 액세스를 허용하거나 거부하는 정책을 정의할 때는 다음 사항에 유의하십시오.

  • 고객 관리 키의 키 정책은 제어할 수 있지만 관리 키 또는 AWS 소유 키의 키 정책을 직접 제어할 수는 없습니다. AWS

  • 키 정책을 사용하면 특정 기간 내 AWS KMS API 통화에 세분화된 액세스 권한을 부여할 수 있습니다. AWS 계정키 정책에서 명시적으로 허용하지 않는 한 IAM 정책을 사용하여 키에 대한 액세스를 허용할 수 없습니다. KMS 키 정책의 권한 없이는 권한을 허용하는 IAM 정책이 적용되지 않습니다. 자세한 내용은 KMS키 액세스를 허용하는 IAM 정책 허용을 참조하십시오.

  • 정책을 사용하여 키 IAM 정책의 해당 권한 없이 고객 관리 키에 대한 액세스를 거부할 수 있습니다.

  • 다중 지역 키에 대한 키 IAM 정책 및 정책을 설계할 때는 다음 사항을 고려하십시오.

    • 키 정책은 다중 리전 키의 공유 속성이 아니며 관련된 다중 리전 키 간에 복사되거나 동기화되지 않습니다.

    • CreateKeyReplicateKey 작업을 사용하여 다중 리전 키를 생성하면 요청에 키 정책이 지정되지 않는 한 기본 키 정책이 적용됩니다.

    • RequestedRegionaws:와 같은 조건 키를 구현하여 권한을 특정 AWS 리전권한으로 제한할 수 있습니다.

    • 권한 부여를 사용하여 다중 리전 기본 키 또는 복제본 키에 대한 권한을 허용할 수 있습니다. 그러나 다중 지역 KMS 키와 관련된 경우에도 단일 권한 부여를 사용하여 여러 키에 대한 권한을 허용할 수는 없습니다.

키 정책을 사용하고 AWS KMS 만들 때는 다음 암호화 모범 사례와 기타 보안 모범 사례를 고려하십시오.

  • 다음 리소스의 권장사항을 준수하여 AWS KMS 모범 사례를 확인하십시오.

  • 업무 분리 모범 사례에 따라 키를 관리하는 사람과 키를 사용하는 사람에 대해 별도의 ID를 유지합니다.

    • 키를 생성하고 삭제하는 관리자 역할은 키를 사용할 수 없어야 합니다.

    • 일부 서비스는 데이터를 암호화하기만 하면 되며 키를 사용하여 데이터를 복호화하는 기능을 부여해서는 안 됩니다.

  • 키 정책은 항상 최소 권한 모델을 따라야 합니다. 키 정책에서의 IAM 작업이나 키 정책에는 사용하지 kms:* 마십시오. 이렇게 하면 보안 주체에게 키를 관리하고 사용할 수 있는 권한이 부여되기 때문입니다.

  • 키 정책 내에서 kms: ViaService 조건 키를 사용하여 고객 관리형 키의 사용을 특정 AWS 서비스 키로만 제한하십시오.

  • 키 유형 중에서 선택할 수 있는 경우 고객 관리형 키는 다음을 포함하여 가장 세부적인 제어 옵션을 제공하기 때문에 선호됩니다.

  • AWS KMS 승인되지 않은 주체에게는 관리 및 수정 권한을 명시적으로 거부해야 하며, 승인되지 않은 주체에 대한 허용 문에는 AWS KMS 수정 권한이 없어야 합니다. 자세한 내용은 AWS Key Management Service를 위한 작업, 리소스 및 조건 키를 참조하세요.

  • KMS키의 무단 사용을 탐지하려면 에서 -kms-actions 및 -kms-actions 규칙을 AWS Config구현하십시오. iam-customer-policy-blocked iam-inline-policy-blocked 이렇게 하면 보안 주체가 모든 리소스에서 암호 해독 작업을 사용할 수 없게 됩니다. AWS KMS

  • 권한이 없는 사용자나 역할이 명령으로 직접 또는 콘솔을 통해 KMS 키를 삭제하지 AWS Organizations 못하도록 서비스 제어 정책 (SCPs) 을 구현하십시오. 자세한 내용은 예방적 SCPs 제어로 사용 (AWS 블로그 게시물) 을 참조하십시오.

  • AWS KMS API통화를 CloudTrail 로그에 기록하세요. 요청한 내용, 요청한 소스 IP 주소, 요청한 사람 등의 관련 이벤트 속성이 기록됩니다. 자세한 내용은 AWS KMS API통화 로깅을 참조하십시오 AWS CloudTrail.

  • 암호화 컨텍스트를 사용하는 경우 민감한 정보가 포함되어서는 안 됩니다. CloudTrail 암호화 컨텍스트를 일반 텍스트 JSON 파일로 저장하며, 이 파일은 정보가 포함된 S3 버킷에 액세스할 수 있는 모든 사람이 볼 수 있습니다.

  • 고객 관리형 키 사용을 모니터링할 때는 키 생성, 고객 관리형 키 정책 업데이트 또는 키 자료 가져오기와 같은 특정 작업이 탐지되면 알림을 받도록 이벤트를 구성합니다. 또한 조직 정책에 따라 키를 비활성화하거나 기타 인시던트 대응 작업을 수행하는 AWS Lambda 함수와 같은 자동 응답을 구현하는 것이 좋습니다.

  • 다중 리전 키는 규정 준수, 재해 복구, 백업 등의 특정 시나리오에 권장됩니다. 다중 리전 키의 보안 속성은 단일 리전 키와 크게 다릅니다. 다중 리전 키의 생성, 관리 및 사용을 승인할 때는 다음 권장 사항이 적용됩니다.

    • 보안 주체가 다중 리전 키를 필요로 하는 AWS 리전 에만 복제하도록 허용합니다.

    • 다중 리전 키에 대한 권한을 필요로 하는 보안 주체와 해당 키가 필요한 작업에 대해서만 부여합니다.