저장 중 암호화 - Amazon Managed Service for Prometheus

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

저장 중 암호화

Prometheus용 Amazon Managed Service는 기본적으로 저장된 암호화를 자동으로 제공하며, 이 작업은 자체 암호화 키를 사용하여 수행합니다. AWS

  • AWS 소유 키 — Prometheus용 Amazon 관리 서비스는 이러한 키를 사용하여 작업 공간에 업로드된 데이터를 자동으로 암호화합니다. AWS 소유한 키를 확인, 관리 또는 사용하거나 사용 여부를 감사할 수 없습니다. 하지만 데이터를 암호화하는 키를 보호하기 위해 어떤 작업을 수행하거나 어떤 프로그램을 변경할 필요가 없습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서AWS 소유 키를 참조하세요.

저장 데이터 암호화는 개인 식별 정보와 같은 민감한 고객 데이터를 보호하는 데 필요한 운영 오버헤드와 복잡성을 줄이는 데 도움이 됩니다. 또한 이 기능을 통해 엄격한 암호화 규정 준수 및 규제 요구 사항을 충족하는 안전한 애플리케이션을 구축할 수 있습니다.

또는 WorkSpace를 생성할 때 고객 관리형 키를 사용하도록 선택할 수도 있습니다.

  • 고객 관리형 키 - Amazon Managed Service for Prometheus는 사용자가 생성하고 소유하고 관리하는 대칭형 고객 관리형 키를 사용하여 WorkSpace의 데이터를 암호화할 수 있도록 지원합니다. 이 암호화를 완전히 제어할 수 있으므로 다음과 같은 작업을 수행할 수 있습니다.

    • 키 정책 수립 및 유지

    • IAM 정책 및 권한 수립 및 유지

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

    • 키 암호화 자료 교체

    • 태그 추가

    • 키 별칭 생성

    • 삭제를 위한 스케줄 키

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

고객 관리 키를 사용할지 아니면 AWS 소유 키를 사용할지 신중하게 선택하세요. 고객 관리 키로 생성한 작업 영역은 나중에 AWS 소유 키를 사용하도록 전환할 수 없으며 그 반대의 경우도 마찬가지입니다.

참고

Prometheus용 Amazon Managed Service에서는 소유 키를 AWS 사용하여 저장된 데이터를 자동으로 암호화하여 데이터를 무료로 보호합니다.

하지만 고객 관리 키 사용에는 AWS KMS 요금이 부과됩니다. 요금에 대한 자세한 내용은 AWS Key Management Service 요금을 참조하세요.

에 대한 자세한 내용은 AWS KMSWhat is AWS Key Management Service? 를 참조하십시오.

참고

고객 관리형 키로 생성된 WorkSpace에서는 수집에 AWS 관리형 수집기를 사용할 수 없습니다.

Prometheus용 Amazon 매니지드 서비스에서 보조금을 사용하는 방법 AWS KMS

Amazon Managed Service for Prometheus에서 고객 관리형 키를 사용하려면 세 가지 권한 부여가 필요합니다.

고객 관리 키로 암호화된 Prometheus용 Amazon 관리 서비스 작업 공간을 생성하면 Prometheus용 Amazon Managed Service에서 요청을 보내 사용자를 대신하여 세 가지 권한 부여를 생성합니다. CreateGrant AWS KMS권한 부여는 Prometheus용 Amazon Managed Service가 사용자 계정의 KMS 키에 대한 액세스 권한을 부여하는 데 AWS KMS 사용되며, 이는 사용자를 대신하여 직접 호출하지 않는 경우에도 마찬가지입니다 (예: Amazon EKS 클러스터에서 스크랩한 지표 데이터를 저장하는 경우).

Amazon Managed Service for Prometheus는 다음 내부 작업에 대해 고객 관리형 키를 사용하기 위한 권한 부여가 필요합니다.

  • DescribeKey요청을 보내 작업 공간을 생성할 AWS KMS 때 제공한 대칭형 고객 관리형 KMS 키가 유효한지 확인하십시오.

  • 고객 관리 키로 암호화된 데이터 키를 AWS KMS 생성해 GenerateDataKey달라는 요청을 보내세요.

  • 암호화된 데이터 키를 해독하여 AWS KMS 데이터를 암호화하는 데 사용할 수 있도록 암호 해독 요청을 보내십시오.

Prometheus용 Amazon 관리 서비스는 Prometheus용 Amazon 관리 서비스가 사용자를 대신하여 AWS KMS 키를 사용할 수 있도록 키에 세 가지 권한을 부여합니다. 키 정책을 변경하거나, 키를 비활성화하거나, 권한 부여를 취소하여 키에 대한 액세스 권한을 제거할 수 있습니다. 이러한 작업을 수행하기 전에 이러한 작업의 결과를 이해해야 합니다. 이로 인해 WorkSpace의 데이터가 손실될 수 있습니다.

어떤 방식으로든 권한 부여에 대한 액세스 권한을 제거하면 Amazon Managed Service for Prometheus는 고객 관리형 키로 암호화된 데이터에 액세스할 수 없고 WorkSpace로 전송된 새 데이터를 저장할 수도 없으며, 이는 해당 데이터에 의존하는 작업에 영향을 미칩니다. WorkSpace로 전송된 새 데이터는 액세스할 수 없으며 영구적으로 손실될 수 있습니다.

주의
  • 키 정책에서 키를 비활성화하거나 Amazon Managed Service for Prometheus 액세스를 제거하면 WorkSpace 데이터에 더 이상 액세스할 수 없습니다. WorkSpace로 전송되는 새 데이터는 액세스할 수 없으며 영구적으로 손실될 수 있습니다.

    Amazon Managed Service for Prometheus의 키 액세스를 복원하여 WorkSpace 데이터에 액세스하고 새 데이터를 다시 수신할 수 있습니다.

  • 권한을 취소하면 다시 생성할 수 없으며 WorkSpace의 데이터가 영구적으로 손실됩니다.

1단계: 고객 관리형 키 생성

또는 API를 사용하여 대칭 고객 관리 키를 생성할 수 있습니다. AWS Management Console AWS KMS 아래 설명과 같이 정책을 통해 올바른 액세스 권한을 제공하기만 하면 키는 Amazon Managed Service for Prometheus WorkSpace와 동일한 계정에 있지 않아도 됩니다.

대칭형 고객 관리형 키를 생성하려면

AWS Key Management Service 개발자 안내서대칭형 고객 관리형 키 생성 단계를 따르세요.

키 정책

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

Amazon Managed Service for Prometheus WorkSpace에서 고객 관리형 키를 사용하려면 키 정책에서 다음 API 작업을 허용해야 합니다.

  • kms:CreateGrant – 고객 관리형 키에 권한 부여를 추가합니다. 지정된 KMS 키에 대한 제어 액세스 권한을 부여합니다. 이를 통해 Amazon Managed Service for Prometheus에 필요한 권한 부여 작업에 대한 액세스가 허용됩니다. 자세한 내용은 AWS Key Management Service 개발자 안내서에서 권한 부여 사용을 참조하세요.

    Amazon Managed Service for Prometheus는 이를 통해 다음을 수행할 수 있습니다.

    • 데이터 키가 암호화에 즉시 사용되지 않으므로 암호화된 데이터 키를 생성하여 저장하려면 GenerateDataKey를 직접적으로 호출합니다.

    • 저장된 암호화된 데이터 키를 사용하여 암호화된 데이터에 액세스하려면 Decrypt를 직접적으로 호출합니다.

  • kms:DescribeKey - Amazon Managed Service for Prometheus에서 키를 검증할 수 있도록 고객 관리형 키 세부 정보를 제공합니다.

다음은 Amazon Managed Service for Prometheus에 추가할 수 있는 정책 설명 예시입니다.

"Statement" : [ { "Sid" : "Allow access to Amazon Managed Service for Prometheus principal within your account", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "aps.region.amazonaws.com", "kms:CallerAccount" : "111122223333" } }, { "Sid": "Allow access for key administrators - not required for Amazon Managed Service for Prometheus", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:*" ], "Resource": "arn:aws:kms:region:111122223333:key/key_ID" }, <other statements needed for other non-Amazon Managed Service for Prometheus scenarios> ]

2단계: Prometheus용 Amazon 관리 서비스의 고객 관리 키 지정

WorkSpace를 생성할 때 KMS Key ARN을 입력하여 고객 관리형 키를 지정할 수 있습니다. 이는 Amazon Managed Service for Prometheus에서 WorkSpace에 저장된 데이터를 암호화하는 데 사용합니다.

3단계: Amazon Managed Grafana와 같은 다른 서비스에서 데이터에 액세스

이 단계는 선택 사항이며, 다른 서비스에서 Prometheus용 Amazon 관리 서비스 데이터에 액세스해야 하는 경우에만 필요합니다.

다른 서비스에서 키를 사용할 수 있는 액세스 권한도 없는 한 암호화된 데이터에는 액세스할 수 없습니다. AWS KMS 예를 들어, Amazon Managed Grafana를 사용하여 데이터에 대한 대시보드 또는 알림을 생성하려면 Amazon Managed Grafana에 키에 대한 액세스 권한을 부여해야 합니다.

Amazon Managed Grafana에 고객 관리 키에 대한 액세스 권한을 부여하려면
  1. 아마존 관리형 Grafana 워크스페이스 목록에서 Prometheus용 아마존 매니지드 서비스에 액세스하려는 워크스페이스의 이름을 선택합니다. Amazon 관리형 Grafana 워크스페이스에 대한 요약 정보를 보여줍니다.

  2. 워크스페이스에서 사용하는 IAM 역할의 이름을 기록해 두십시오. 이름은 다음과 같은 AmazonGrafanaServiceRole-<unique-id> 형식입니다. 콘솔에는 해당 역할의 전체 ARN이 표시됩니다. 이후 단계에서 AWS KMS 콘솔에서 이 이름을 지정하게 됩니다.

  3. AWS KMS 고객 관리 키 목록에서 Prometheus용 Amazon 관리 서비스 작업 공간을 생성할 때 사용한 고객 관리 키를 선택합니다. 그러면 키 구성 세부 정보 페이지가 열립니다.

  4. 주요 사용자 옆의 추가 버튼을 선택합니다.

  5. 이름 목록에서 위에서 언급한 Amazon 관리형 Grafana IAM 역할을 선택합니다. 이름을 기준으로 검색할 수도 있습니다. 더 쉽게 찾을 수 있습니다.

  6. 추가를 선택하여 IAM 역할을 주요 사용자 목록에 추가합니다.

이제 아마존 매니지드 Grafana 워크스페이스에서 Prometheus용 아마존 매니지드 서비스 워크스페이스의 데이터에 액세스할 수 있습니다. 주요 사용자에게 다른 사용자 또는 역할을 추가하여 다른 서비스가 작업 공간에 액세스할 수 있도록 할 수 있습니다.

Amazon Managed Service for Prometheus 암호화 컨텍스트

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

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

Amazon Managed Service for Prometheus 암호화 컨텍스트

Prometheus용 Amazon Managed Service는 AWS KMS 모든 암호화 작업에서 동일한 암호화 컨텍스트를 사용합니다. 여기서 aws:amp:arn 키와 값은 작업 영역의 Amazon 리소스 이름 (ARN) 입니다.

"encryptionContext": { "aws:aps:arn": "arn:aws:aps:us-west-2:111122223333:workspace/ws-sample-1234-abcd-56ef-7890abcd12ef" }

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

대칭형 고객 관리형 키를 사용하여 WorkSpace 데이터를 암호화하는 경우 감사 레코드 및 로그의 암호화 컨텍스트를 사용하여 고객 관리형 키가 사용되는 방식을 식별할 수도 있습니다. 암호화 컨텍스트는 AWS CloudTrail 또는 Amazon Logs에서 생성한 CloudWatch 로그에도 나타납니다.

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

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

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

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

{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable CreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:aps:arn": "arn:aws:aps:us-west-2:111122223333:workspace/ws-sample-1234-abcd-56ef-7890abcd12ef" } } }

Amazon Managed Service for Prometheus에 사용되는 암호화 키 모니터링

Prometheus용 Amazon 관리 서비스 작업 영역에서 AWS KMS 고객 관리 키를 사용하는 경우 Amazon CloudWatch Logs를 사용하여 AWS CloudTrailPrometheus용 Amazon 관리 서비스가 보내는 요청을 추적할 수 있습니다. AWS KMS

다음은 Prometheus용 Amazon Managed Service에서 고객 관리 키로 암호화된 데이터에 DescribeKey 액세스하기 위해 호출한 CreateGrant GenerateDataKeyDecrypt,, 및 KMS 작업을 모니터링하기 위한 AWS CloudTrail 이벤트입니다.

CreateGrant

AWS KMS 고객 관리 키를 사용하여 작업 공간을 암호화하면 Prometheus용 Amazon Managed Service에서 사용자를 대신하여 사용자가 지정한 KMS 키에 액세스하기 위한 CreateGrant 세 가지 요청을 보냅니다. Amazon Managed Service for Prometheus에서 생성하는 권한 부여는 AWS KMS 고객 관리형 키와 연결된 리소스에만 적용됩니다.

다음 예제 이벤트는 CreateGrant 작업을 기록합니다.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE-KEY-ID1", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "aps.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "retiringPrincipal": "aps.region.amazonaws.com", "operations": [ "GenerateDataKey", "Decrypt", "DescribeKey" ], "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "granteePrincipal": "aps.region.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
GenerateDataKey

워크스페이스에 AWS KMS 고객 관리 키를 활성화하면 Prometheus용 Amazon 관리 서비스에서 고유한 키를 생성합니다. 리소스의 AWS KMS고객 관리 키를 AWS KMS 지정하는 GenerateDataKey 요청을 보냅니다.

다음 예제 이벤트는 GenerateDataKey 작업을 기록합니다.

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "aps.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "encryptionContext": { "aws:aps:arn": "arn:aws:aps:us-west-2:111122223333:workspace/ws-sample-1234-abcd-56ef-7890abcd12ef" }, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "57f5dbee-16da-413e-979f-2c4c6663475e" }
Decrypt

암호화된 WorkSpace에서 쿼리가 생성되면 Amazon Managed Service for Prometheus는 저장된 암호화된 데이터 키를 사용하여 암호화된 데이터에 액세스하는 Decrypt 작업을 호출합니다.

다음 예제 이벤트는 Decrypt 작업을 기록합니다.

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "aps.amazonaws.com" }, "eventTime": "2021-04-22T17:10:51Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "encryptionContext": { "aws:aps:arn": "arn:aws:aps:us-west-2:111122223333:workspace/ws-sample-1234-abcd-56ef-7890abcd12ef" }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "dc129381-1d94-49bd-b522-f56a3482d088" }
DescribeKey

Amazon Managed Service for Prometheus는 DescribeKey 작업을 사용하여 WorkSpace와 관련된 AWS KMS 고객 관리형 키가 계정 및 지역에 존재하는지 확인합니다.

다음 예제 이벤트는 DescribeKey 작업을 기록합니다.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE-KEY-ID1", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "TESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "aps.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "00dd0db0-0000-0000-ac00-b0c000SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }

자세히 알아보기

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