Amazon OpenSearch Service 사용자 지정 패키지 AWS KMS 통합 - Amazon OpenSearch Service

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

Amazon OpenSearch Service 사용자 지정 패키지 AWS KMS 통합

Amazon OpenSearch Service 사용자 지정 패키지는 기본적으로 암호화를 제공하여를 사용하여 저장된 ZIP-PLUGIN 패키지를 보호합니다 AWS 관리형 키.

  • AWS 소유 키 - Amazon OpenSearch Service 사용자 지정 패키지는 기본적으로 이러한 키를 사용하여 ZIP-PLUGIN 패키지를 자동으로 암호화합니다. 사용을 확인, 관리 또는 사용하거나 AWS 소유 키 감사할 수 없습니다. 하지만 데이터를 암호화하는 키를 보호하기 위해 어떤 작업을 수행하거나 어떤 프로그램을 변경할 필요가 없습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서AWS 소유 키 섹션을 참조하세요.

  • 고객 관리형 키 - 사용자 ZIP-PLUGIN 지정 패키지를 생성할 때 고객 관리형 키를 AWS 소유 키 선택하여 기존에 두 번째 암호화 계층을 추가할 수 있습니다.

    Amazon OpenSearch Service 사용자 지정 패키지는 사용자가 생성, 소유 및 관리하는 대칭 고객 관리형 키를 사용하여 기존 AWS 소유 암호화에 두 번째 암호화 계층을 추가할 수 있도록 지원합니다. 이 암호화 계층을 완전히 제어할 수 있으므로 다음 작업을 수행할 수 있습니다.

    • 키 정책 수립 및 관리

    • AWS Identity and Access Management (IAM) 정책 및 권한 부여 설정 및 유지

    • 키 정책 활성화 및 비활성화

    • 키 암호화 자료 교체

    • 태그 추가

    • 키 별칭 생성

    • 키 삭제 예약

자세한 내용은 AWS Key Management Service 개발자 안내서고객 관리형 키를 참조하세요.

참고

Amazon OpenSearch Service 사용자 지정 패키지는 무료로 AWS 소유 키 를 사용하여 저장 시 암호화를 자동으로 활성화합니다. 그러나 고객 관리형 키를 사용하는 경우 AWS KMS 요금이 적용됩니다. 요금에 대한 자세한 내용은 AWS Key Management Service 요금을 참조하세요.

Amazon OpenSearch Service 사용자 지정 패키지 서비스가에서 권한 부여를 사용하는 방법 AWS KMS

OpenSearch Service 사용자 지정 패키지는 고객 관리형 키를 사용하려면 권한 부여가 필요합니다.

고객 관리형 키로 암호화된 ZIP-PLUGIN 패키지를 생성하면 Amazon OpenSearch Service 사용자 지정 패키지 서비스는 CreateGrant 요청을에 전송하여 사용자를 대신하여 권한을 생성합니다 AWS KMS. 의 권한 부여는 OpenSearch Service에 계정의 AWS KMS 키에 대한 액세스 권한을 AWS KMS 부여합니다. OpenSearch Service 사용자 지정 패키지에서 생성된 권한 부여에는 요청에 사용자 지정 패키지 ID가 있는 암호화 컨텍스트가 포함된 경우에만 작업을 허용하는 제약이 있습니다.

Amazon OpenSearch Service 사용자 지정 패키지는 다음 내부 작업에 고객 관리형 키를 사용하려면 권한 부여가 필요합니다.

Operation 설명
DescribeKey 플러그인 패키지를 생성할 때 입력한 대칭 고객 관리형 키 ID가 유효한지 AWS KMS 확인하는 DescribeKey 요청을에 보냅니다.
GenerateDataKeyWithoutPlaintext 고객 관리형 키로 암호화된 데이터 키를 생성하기 AWS KMS 위해에 GenerateDataKeyWithoutPlaintext 요청을 보냅니다.
GenerateDataKey 내부적으로 패키지를 복사할 때 패키지를 암호화하는 데이터 키를 생성 AWS KMS 하라는 GenerateDataKey 요청을에 보냅니다.
Decrypt 암호화된 데이터 키를 복호화 AWS KMS 하는 데 사용할 수 있도록에 Decrypt 요청을 보냅니다.

언제든지 권한 부여에 대한 액세스를 취소하거나 고객 관리형 키에 대한 서비스의 액세스를 제거할 수 있습니다. 이 경우 OpenSearch Service는 고객 관리형 키로 암호화된 데이터에 액세스할 수 없으며, 이는 해당 데이터에 의존하는 작업에 영향을 미칩니다. 예를 들어 OpenSearch Service가 액세스할 수 없는 플러그인 패키지를 연결하려고 하면 작업이 AccessDeniedException 오류를 반환합니다.

고객 관리형 키 생성

AWS Management Console 또는 AWS KMS APIs.

대칭 고객 관리형 키를 만들려면
  • AWS Key Management Service 개발자 안내서KMS 키 생성 단계를 따릅니다.

키 정책

키 정책에서는 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 만들 때 키 정책을 지정할 수 있습니다. 자세한 내용은AWS Key Management Service 개발자 안내서AWS KMS의 키 정책을 참조하세요.

고객 관리형 키를 플러그인 리소스와 함께 사용하려면 키 정책에서 다음 API 작업을 허용해야 합니다.

  • kms:CreateGrant - 고객 관리형 키에 권한 부여를 추가합니다. 지정된 AWS KMS 키에 대한 제어 액세스 권한을 부여하여 OpenSearch Service 사용자 지정 패키지에 필요한 권한 부여 작업에 대한 액세스를 허용합니다. 권한 부여 사용에 대한 자세한 내용은 AWS KMS 개발자 안내서를 참조하세요.

    이를 통해 OpenSearch Service는 다음을 수행할 수 있습니다.

    • 를 호출GenerateDataKeyWithoutPlainText하여 암호화된 데이터 키를 생성하고 추가 검증을 위해 저장합니다.

    • 를 호출GenerateDataKey하여 플러그인 패키지를 내부적으로 복사합니다.

    • 를 호출Decrypt하여 플러그인 패키지에 내부적으로 액세스합니다.

    • 서비스가 RetireGrant를 사용할 수 있도록 은퇴하는 보안 주체를 설정하세요.

  • kms:DescribeKey - OpenSearch Service가 키를 검증할 수 있도록 고객 관리형 키 세부 정보를 제공합니다.

  • kms:GenerateDataKey, kms:GenerateDataKeyWithoutPlaintext, kms:Decrypt- OpenSearch Service 사용자 지정 패키지에 권한 부여에서 이러한 작업을 사용할 수 있는 액세스 권한을 부여합니다.

다음은 OpenSearch Service 사용자 지정 패키지에 추가할 수 있는 정책 설명 예제입니다.

"Statement" : [ { "Sid" : "Allow access to principals authorized to use OpenSearch Service custom packages", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:CreateGrant", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:Decrypt" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "custom-packages.region.amazonaws.com" }, "StringEquals" : { "kms:EncryptionContext:packageId": "Id of the package" } } }, { "Sid" : "Allow access to principals authorized to use Amazon OpenSearch Service custom packages", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:DescribeKey" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "custom-packages.region.amazonaws.com" } } } ]

정책에서 권한을 지정하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 정책을 AWS KMS 참조하세요.

키 액세스 문제 해결에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서AWS KMS 권한 문제 해결을 참조하세요.

Amazon OpenSearch Service 사용자 지정 패키지에 대한 고객 관리형 키 지정

고객 관리형 키를 ZIP-PLUGIN 패키지의 두 번째 암호화 계층으로 지정할 수 있습니다.

플러그인 패키지를 생성할 때 OpenSearch Service 사용자 지정 패키지가 플러그인 패키지를 암호화하는 데 사용하는 AWS KMS 키 ID를 입력하여 데이터 키를 지정할 수 있습니다.

AWS KMS 키 ID - AWS KMS 고객 관리형 키의 키 식별자입니다. 키 ID, 키 ARN, 별칭 이름 또는 별칭 ARN을 입력합니다.

Amazon OpenSearch Service 사용자 지정 패키지 암호화 컨텍스트

암호화 컨텍스트는 데이터에 대한 추가 컨텍스트 정보를 포함하는 선택적 키-값 페어 세트입니다.

AWS KMS 는 암호화 컨텍스트를 추가 인증 데이터로 사용하여 인증된 암호화를 지원합니다. 데이터 암호화 요청에 암호화 컨텍스트를 포함하면는 암호화 컨텍스트를 암호화된 데이터에 AWS KMS 바인딩합니다. 요청에 동일한 암호화 컨텍스트를 포함해야 이 데이터를 해독할 수 있습니다.

Amazon OpenSearch Service 사용자 지정 패키지 암호화 컨텍스트

Amazon OpenSearch Service 사용자 지정 패키지는 모든 암호화 작업에서 동일한 암호화 컨텍스트를 사용합니다. 여기서 키는 AWS KMS packageId이고 값은 플러그인 패키지package-id의 입니다.

모니터링을 위한 암호화 컨텍스트 사용

대칭 고객 관리형 키를 사용하여 플러그인 패키지를 암호화하는 경우 감사 레코드 및 로그의 암호화 컨텍스트를 사용하여 고객 관리형 키가 사용되는 방식을 식별할 수 있습니다. 암호화 컨텍스트는 AWS CloudTrail 또는 Amazon CloudWatch Logs에서 생성된 로그에도 표시됩니다.

암호화 컨텍스트를 사용하여 고객 관리형 키에 대한 액세스 제어

그러나 키 정책 및 IAM 정책에서 암호화 컨텍스트를 조건으로 사용하여 대칭형 고객 관리형 키에 대한 액세스를 제어할 수도 있습니다. 또한 권한 부여에서 암호화 컨텍스트 제약 조건을 사용할 수 있습니다.

OpenSearch Service 사용자 지정 패키지는 권한 부여에 암호화 컨텍스트 제약 조건을 사용하여 계정 또는 리전의 고객 관리형 키에 대한 액세스를 제어합니다. 권한 부여 제약 조건에 따라 권한 부여가 허용하는 작업은 지정된 암호화 컨텍스트를 사용해야 합니다.

다음은 특정 암호화 컨텍스트에서 고객 관리형 키에 대한 액세스 권한을 부여하는 키 정책 설명의 예입니다. 이 정책 설명의 조건에 따라 권한 부여에는 암호화 컨텍스트를 지정하는 암호화 컨텍스트 제약 조건이 있어야 합니다.

{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable OpenSearch Service custom packages to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action" : [ "kms:CreateGrant", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals" : { "kms:EncryptionContext:packageId": "ID of the package" } } }

OpenSearch 사용자 지정 패키지 서비스에 대한 암호화 키 모니터링

OpenSearch Service 사용자 지정 패키지 서비스 리소스와 함께 AWS KMS 고객 관리형 키를 사용하는 경우 CloudTrail 또는 CloudWatch Logs를 사용하여 OpenSearch 사용자 지정 패키지가 로 보내는 요청을 추적할 수 있습니다 AWS KMS.

자세히 알아보기

다음 리소스에서 키에 대한 추가 정보를 확인할 수 있습니다.

  • AWS KMS 기본 개념에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서AWS KMS keys의 섹션을 참조하세요.

  • 의 보안 모범 사례에 대한 자세한 내용은 AWS Key Management Service 모범 사례에 대한 AWS 권장 가이드 가이드를 AWS KMS참조하세요.