TLE 및 OEM 에페메리스 데이터에 대한 저장 데이터 암호화 - AWS Ground Station

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

TLE 및 OEM 에페메리스 데이터에 대한 저장 데이터 암호화

TLE 및 OEM 에페메리스에 대한 주요 정책 요구 사항

고객 관리형 키를 에페메리스 데이터와 함께 사용하려면 키 정책이 AWS Ground Station 서비스에 다음 권한을 부여해야 합니다.

  • kms:CreateGrant - 고객 관리형 키에 대한 액세스 권한을 생성합니다. 암호화된 데이터를 읽고 저장하기 위해 고객 관리형 키에 대한 권한 부여 작업을 수행할 수 있는 AWS Ground Station 액세스 권한을 부여합니다.

  • kms:DescribeKey - 제공된 키를 사용하기 전에가 키를 AWS Ground Station 검증할 수 있도록 고객 관리형 키 세부 정보를 제공합니다.

권한 부여 사용에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서를 참조하세요.

고객 관리형 키를 사용하여 에페메리스를 생성하기 위한 IAM 사용자 권한

가 암호화 작업에 고객 관리형 키를 AWS Ground Station 사용하는 경우 에페메리스 리소스를 생성하는 사용자를 대신합니다.

고객 관리형 키를 사용하여 에페메리스 리소스를 생성하려면 사용자에게 고객 관리형 키에서 다음 작업을 호출할 수 있는 권한이 있어야 합니다.

  • kms:CreateGrant - 사용자가 대신 고객 관리형 키에 대한 권한 부여를 생성할 수 있습니다 AWS Ground Station.

  • kms:DescribeKey - 사용자가 고객 관리형 키 세부 정보를 보고 키를 검증할 수 있도록 허용합니다.

키 정책에서 허용하는 경우 키 정책 또는 IAM 정책에서 이러한 필수 권한을 지정할 수 있습니다. 이러한 권한을 통해 사용자는 대신 암호화 작업에 고객 관리형 키를 사용하도록 권한을 부여 AWS Ground Station 할 수 있습니다.

가 에페메리스에 AWS KMS 대해에서 권한 부여를 AWS Ground Station 사용하는 방법

AWS Ground Station 고객 관리형 키를 사용하려면에 키 권한이 필요합니다.

고객 관리형 키로 암호화된 에페메리스를 업로드하면는 CreateGrant 요청을에 전송하여 사용자를 대신하여 키 부여를 AWS Ground Station 생성합니다 AWS KMS. 의 권한 부여 AWS KMS 는 계정의 AWS KMS 키에 대한 액세스 권한을 부여하는 AWS Ground Station 데 사용됩니다.

이렇게 하면 AWS Ground Station 가 다음을 수행할 수 있습니다.

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

  • Decrypt를 호출하여 저장된 암호화된 데이터 키를 사용하여 암호화된 데이터에 액세스합니다.

  • 데이터 키를 사용하여 데이터를 암호화하려면 Encrypt를 호출합니다.

  • 서비스에서 RetireGrant를 허용하도록 사용 중지 보안 주체를 설정합니다.

언제든지 권한 부여에 대한 액세스를 취소할 수 있습니다. 이렇게 하면 고객 관리형 키로 암호화된 데이터에 액세스할 수 AWS Ground Station 없으며, 이는 해당 데이터에 의존하는 작업에 영향을 미칩니다. 예를 들어 현재 고객 응대에 사용 중인 에페메리스에서 키 부여를 제거하면 AWS Ground Station 는 제공된 에페메리스 데이터를 사용하여 고객 응대 중에 안테나를 가리킬 수 없습니다. 이렇게 하면 연락이 실패 상태로 종료됩니다.

에페메리스 암호화 컨텍스트

에페메리스 리소스를 암호화하기 위한 키 부여는 특정 위성 ARN에 바인딩됩니다.

"encryptionContext": { "aws:groundstation:arn": "arn:aws:groundstation::111122223333:satellite/00a770b0-082d-45a4-80ed-SAMPLE", "aws:s3:arn": "arn:aws:s3:::customerephemerisbucket/0034abcd-12ab-34cd-56ef-123456SAMPLE" }
참고

키 부여는 동일한 키-위성 쌍에 재사용됩니다.

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

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

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

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

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

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

다음 예제에서는 위성에 바인딩된 에페메리스 데이터에 대한 키 정책을 보여줍니다.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow AWS Ground Station to Describe key", "Effect": "Allow", "Principal": { "Service": "groundstation.us-east-1.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Allow AWS Ground Station to Create Grant on key", "Effect": "Allow", "Principal": { "Service": "groundstation.us-east-1.amazonaws.com" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:groundstation:arn": "arn:aws:groundstation::123456789012:satellite/satellite-id" } } } ] }

암호화 키의 에페메리스 모니터링

AWS Key Management Service 고객 관리형 키를 에페메리스 리소스와 함께 사용하는 경우 AWS CloudTrail 또는 Amazon CloudWatch logs를 사용하여가에 AWS Ground Station 보내는 요청을 추적할 수 있습니다 AWS KMS. 다음 예제는 CreateGrant, GenerateDataKeyGenerateDataKey, DecryptDescribeKey에 대한 CloudTrail 이벤트로, 고객 관리형 키로 암호화된 데이터에 액세스하기 AWS Ground Station 위해에서 호출한 작업을 모니터링합니다 AWS KMS .

CreateGrant

AWS KMS 고객 관리형 키를 사용하여 에페메리스 리소스를 암호화하는 경우는 AWS 계정의 AWS KMS 키에 액세스하기 위해 사용자를 대신하여 CreateGrant 요청을 AWS Ground Station 보냅니다. 에서 생성하는 AWS Ground Station 권한 부여는 AWS KMS 고객 관리형 키와 연결된 리소스에 따라 다릅니다. 또한 AWS Ground Station 는 리소스를 삭제할 때 RetireGrant 작업을 사용하여 권한 부여를 제거합니다.

다음 예제 이벤트는 에페메리스에 대한 CreateGrant 작업을 기록합니다.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "ASIAIOSFODNN7EXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/SampleUser01", "accountId": "111122223333", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "ASIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-02-22T22:22:22Z", "mfaAuthenticated": "false" } }, "invokedBy": "AWS Internal" }, "eventTime": "2022-02-22T22:22:22Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "AWS Internal", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "operations": [ "GenerateDataKeyWithoutPlaintext", "Decrypt", "Encrypt" ], "constraints": { "encryptionContextSubset": { "aws:groundstation:arn": "arn:aws:groundstation::111122223333:satellite/00a770b0-082d-45a4-80ed-SAMPLE" } }, "granteePrincipal": "groundstation.us-west-2.amazonaws.com", "retiringPrincipal": "groundstation.us-west-2.amazonaws.com", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "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, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey

AWS KMS 고객 관리형 키를 사용하여 에페메리스 리소스를 암호화하는 경우는 요청된 키가 계정에 존재하는지 확인하기 위해 사용자를 대신하여 DescribeKey 요청을 AWS Ground Station 보냅니다.

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

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "ASIAIOSFODNN7EXAMPLE", "arn": "arn:aws:sts::111122223333:assumed-role/User/Role", "accountId": "111122223333", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "ASIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Role", "accountId": "111122223333", "userName": "User" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-02-22T22:22:22Z", "mfaAuthenticated": "false" } }, "invokedBy": "AWS Internal" }, "eventTime": "2022-02-22T22:22:22Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "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, "recipientAccountId": "111122223333", "eventCategory": "Management" }
GenerateDataKey

AWS KMS 고객 관리형 키를 사용하여 임시 리소스를 암호화하는 경우는 데이터를 암호화할 데이터 키를 생성하기 위해 GenerateDataKey 요청을에 AWS Ground Station 보냅니다.

다음 예제 이벤트는 에페메리스에 대한 GenerateDataKey 작업을 기록합니다.

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "AWS Internal" }, "eventTime": "2022-02-22T22:22:22Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "keySpec": "AES_256", "encryptionContext": { "aws:groundstation:arn": "arn:aws:groundstation::111122223333:satellite/00a770b0-082d-45a4-80ed-SAMPLE", "aws:s3:arn": "arn:aws:s3:::customerephemerisbucket/0034abcd-12ab-34cd-56ef-123456SAMPLE" }, "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, "recipientAccountId": "111122223333", "sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventCategory": "Management" }
Decrypt

AWS KMS 고객 관리형 키를 사용하여 에페메리스 리소스를 암호화하는 경우는 Decrypt 작업을 AWS Ground Station 사용하여 이미 동일한 고객 관리형 키로 암호화된 경우 제공된 에페메리스를 복호화합니다. 예를 들어 S3 버킷에서 epemeris를 업로드하고 해당 버킷에서 지정된 키를 사용하여 암호화하는 경우를 예로 들 수 있습니다.

다음 예제 이벤트는 에페메리스에 대한 복호화 작업을 기록합니다.

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "AWS Internal" }, "eventTime": "2022-02-22T22:22:22Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "encryptionContext": { "aws:groundstation:arn": "arn:aws:groundstation::111122223333:satellite/00a770b0-082d-45a4-80ed-SAMPLE", "aws:s3:arn": "arn:aws:s3:::customerephemerisbucket/0034abcd-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, "recipientAccountId": "111122223333", "sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventCategory": "Management" }