

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

# 데이터 암호화
<a name="data-encryption"></a>

AWS HealthImaging을 사묭하면 확장성과 효율적인 암호화 기능을 제공하는 보안 계층을 클라우드의 저장 데이터에 추가하는 기능을 제공합니다. 다음이 포함됩니다.
+ 대부분의 AWS 서비스에서 사용 가능한 저장 데이터 암호화 기능
+ 암호화 키를 관리할지 아니면 자체 키를 완전히 제어할지 선택할 수 AWS Key Management Service있는 유연한 키 AWS 관리 옵션입니다.
+ AWS 소유 AWS KMS 암호화 키
+ Amazon SQS의 서버 측 암호화(SSE)를 사용하여 민감한 데이터를 전송하는 암호화된 메시지 대기열.

또한는 암호화 및 데이터 보호를 AWS 환경에서 개발하거나 배포하는 모든 서비스와 통합할 수 있는 APIs를 AWS 제공합니다.

# 저장 시 암호화
<a name="encryption-rest"></a>

기본적으로 HealthImaging은 서비스 소유 AWS Key Management Service 키를 사용하여 저장된 고객 데이터를 암호화합니다. 선택적으로 생성, 소유 및 관리하는 대칭 고객 관리형 AWS KMS 키를 사용하여 저장 데이터를 암호화하도록 HealthImaging을 구성할 수 있습니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [대칭 암호화 KMS 키 생성을](https://docs.aws.amazon.com/kms/latest/developerguide/create-symmetric-cmk.html) 참조하세요.

# 전송 중 암호화
<a name="encryption-transit"></a>

HealthImaging은 TLS 1.2를 사용하여 퍼블릭 엔드포인트와 백엔드 서비스를 통해 전송 중 데이터를 암호화합니다.

# 키 관리
<a name="key-management"></a>

AWS KMS 키(KMS 키)는의 기본 리소스입니다 AWS Key Management Service. 외부에서 사용할 데이터 키를 생성할 수도 있습니다 AWS KMS.

## AWS 소유 KMS 키
<a name="AWS-owned-cmk"></a>

HealthImaging은 기본적으로 이러한 키를 사용하여 개인 식별 또는 개인 건강 정보(PHI) 저장 데이터와 같은 잠재적으로 민감한 정보를 자동으로 암호화합니다. AWS 소유 KMS 키는 계정에 저장되지 않습니다. 여러 AWS 계정에서 사용하기 위해를 AWS 소유하고 관리하는 KMS 키 모음의 일부입니다. AWS 서비스는 AWS 소유 KMS 키를 사용하여 데이터를 보호할 수 있습니다. AWS 소유 KMS 키를 보거나 관리하거나 사용하거나 사용을 감사할 수 없습니다. 하지만 사용자는 데이터를 암호화하는 키를 보호하기 위해 어떤 작업을 수행하거나 어떤 프로그램을 변경할 필요가 없습니다.

 AWS 소유 KMS 키를 사용하는 경우 월별 요금 또는 사용 요금이 부과되지 않으며 계정의 AWS KMS 할당량에 포함되지 않습니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*에서 [AWS 소유 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)를 참조하세요.

## 고객 관리형 KMS 키
<a name="customer-owned-cmk"></a>

 AWS KMS 수명 주기 및 사용량을 완전히 제어하려는 경우 HealthImaging은 사용자가 생성, 소유 및 관리하는 대칭 고객 관리형 KMS 키 사용을 지원합니다. 사용자가 이 암호화 계층을 완전히 제어할 수 있으므로 다음과 같은 작업을 수행할 수 있습니다.
+ 키 정책, IAM 정책 및 권한 부여 설정 및 유지 관리
+ 키 암호화 자료 교체
+ 키 정책 활성화 및 비활성화
+  태그 추가
+ 키 별칭 만들기
+ 삭제를 위한 스케줄 키

CloudTrail을 사용하여 HealthImaging이 사용자를 대신하여에 보내는 요청을 추적할 수도 AWS KMS 있습니다. 추가 AWS KMS 요금이 적용됩니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [ 고객 관리형 키를](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) 참조하세요.

## 고객 관리형 키 생성하기
<a name="creating-co-cmk"></a>

 AWS Management Console 또는 AWS KMS APIs. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [대칭 암호화 KMS 키 생성](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)을 참조하세요.

키 정책에서는 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 만들 때 키 정책을 지정할 수 있습니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [고객 관리형 키 액세스 관리](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access)를 참조하세요.

고객 관리형 키를 HealthImaging 리소스에서 사용하려면 키 정책에서 [kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 작업을 허용해야 합니다. 이렇게 하면 지정된 KMS 키에 대한 액세스를 제어하는 고객 관리형 키에 권한 부여가 추가되어 사용자에게 HealthImaging에 필요한 [권한 부여 작업](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations)에 대한 액세스 권한이 부여됩니다. 자세한 내용은 *AWS Key Management Service 개발자 가이드*에서 [AWS KMS권한 부여](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)를 참조하세요.

고객 관리형 KMS 키를 HealthImaging 리소스에서 사용하려면 키 정책에서 다음 API 작업을 허용해야 합니다.
+ `kms:DescribeKey`은 키를 검증하는 데 필요한 고객 관리형 키 세부 정보를 제공하는 합니다. 이것은 모든 작업에 필요합니다.
+ `kms:GenerateDataKey`는 모든 쓰기 작업에 대해 저장된 리소스를 암호화할 수 있는 액세스를 제공합니다.
+ `kms:Decrypt`는 암호화된 리소스의 읽기 또는 검색 작업에 대한 액세스를 제공합니다.
+ `kms:ReEncrypt*`는 리소스를 재암호화할 수 있는 액세스를 제공합니다.

다음은 사용자가 해당 키로 암호화된 HealthImaging에서 데이터 스토어를 생성하고 상호 작용할 수 있도록 하는 정책 설명 예제입니다.

```
{
    "Sid": "Allow access to create data stores and perform CRUD and search in HealthImaging",
    "Effect": "Allow",
    "Principal": {
        "Service": [
            "medical-imaging.amazonaws.com"
        ]
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "kms:EncryptionContext:kms-arn": "arn:aws:kms:us-east-1:123456789012:key/bec71d48-3462-4cdd-9514-77a7226e001f",
            "kms:EncryptionContext:aws:medical-imaging:datastoreId": "datastoreId"
        }
    }
}
```

## 고객 관리형 KMS 키를 사용할 때 필요한 IAM 권한
<a name="required-iam-cmk"></a>

 고객 관리형 KMS 키를 사용하여 AWS KMS 암호화가 활성화된 데이터 스토어를 생성하는 경우 HealthImaging 데이터 스토어를 생성하는 사용자 또는 역할에 대한 키 정책과 IAM 정책 모두에 필요한 권한이 있습니다.

 키 정책에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [IAM 정책 활성화](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam)를 참조하세요.

리포지토리를 생성하는 IAM 사용자, IAM 역할 또는 AWS 계정에는 아래 정책에 대한 권한과 AWS HealthImaging에 필요한 권한이 있어야 합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:CreateGrant",
        "kms:GenerateDataKey",
        "kms:RetireGrant",
        "kms:Decrypt",
        "kms:ReEncrypt*"
      ],
      "Resource": "arn:aws:kms:us-east-1:123456789012:key/bec71d48-3462-4cdd-9514-77a7226e001f"
    }
  ]
}
```

------

### HealthImaging이에서 권한 부여를 사용하는 방법 AWS KMS
<a name="grants-kms"></a>

고객 관리형 KMS 키를 사용하려면 HealthImaging은 [권한 부여](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)가 필요합니다. 고객 관리형 KMS 키로 암호화된 데이터 스토어를 생성하면 HealthImaging은 [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 요청을에 전송하여 사용자를 대신하여 권한 부여를 생성합니다 AWS KMS. 의 권한 부여 AWS KMS 는 HealthImaging에 고객 계정의 KMS 키에 대한 액세스 권한을 부여하는 데 사용됩니다.

사용자를 대신하여 HealthImaging이 생성하는 권한 부여는 취소되거나 사용 중지 되지 않아야 합니다. 사용자 계정의 AWS KMS 키를 사용할 권한을 HealthImaging에 부여한 권한 부여를 취소하거나 사용 중지하면 HealthImaging은 이 데이터에 액세스하거나 데이터 스토어에 푸시된 새 이미지를 암호화하거나 보낼 때 복호화 할 수 없습니다. HealthImaging에 대한 권한 부여를 취소하거나 사용 중지하면 변경 사항이 즉시 발생합니다. 액세스 권한을 취소하려면 권한 부여 취소 대신 데이터 스토어를 삭제합니다. 데이터 스토어가 삭제되면 HealthImaging은 사용자를 대신하여 부여 권한의 사용을 중지시킵니다.

### HealthImaging을 위한 암호화 키 모니터링
<a name="monitoring-kms"></a>

CloudTrail을 사용하여 고객 관리형 KMS 키를 사용할 때 HealthImaging이 사용자를 대신하여 AWS KMS 에 보내는 요청을 추적할 수 있습니다. CloudTrail 로그의 로그 항목은 `userAgent` 필드의 `medical-imaging.amazonaws.com`에 나타나므로 HealthImaging에서 수행한 요청을 명확하게 구분할 수 있습니다.

다음 예제는 고객 관리형 키로 암호화된 데이터에 액세스`DescribeKey`하기 위해 HealthImaging에서 호출한 AWS KMS 작업을 모니터링하기 위한 , `Decrypt`, 및 `CreateGrant` `GenerateDataKey`에 대한 CloudTrail 이벤트입니다.

다음은 `CreateGrant`를 이용해 HealthImaging이 고객이 제공한 KMS 키에 액세스하여, HealthImaging이 해당 KMS 키를 사용하여 저장된 모든 고객 데이터를 암호화할 수 있는 방법을 보여줍니다.

사용자가 자신의 권한 부여를 만들 필요는 없습니다. HealthImaging은 `CreateGrant` 요청을 전송하여 사용자를 대신하여 권한 부여를 생성합니다 AWS KMS. 의 권한 부여 AWS KMS 는 HealthImaging에 고객 계정의 AWS KMS 키에 대한 액세스 권한을 부여하는 데 사용됩니다.

```
{
            "KeyId": "arn:aws:kms:us-east-1:147997158357:key/8e1c34df-5fd2-49fa-8986-4618c9829a8c",
            "GrantId": "44e88bc45b769499ce5ec4abd5ecb27eeb3b178a4782452aae65fe885ee5ba20",
            "Name": "MedicalImagingGrantForQIDO_ebff634a-2d16-4046-9238-e3dc4ab54d29",
            "CreationDate": "2025-04-17T20:12:49+00:00",
            "GranteePrincipal": "AWS Internal",
            "RetiringPrincipal": "medical-imaging.us-east-1.amazonaws.com",
            "IssuingAccount": "medical-imaging.us-east-1.amazonaws.com",
            "Operations": [
                "Decrypt",
                "Encrypt",
                "GenerateDataKey",
                "GenerateDataKeyWithoutPlaintext",
                "ReEncryptFrom",
                "ReEncryptTo",
                "CreateGrant",
                "RetireGrant",
                "DescribeKey"
            ]
        },
        {
            "KeyId": "arn:aws:kms:us-east-1:147997158357:key/8e1c34df-5fd2-49fa-8986-4618c9829a8c",
            "GrantId": "9e5fd5ba7812daf75be4a86efb2b1920d6c0c9c0b19781549556bf2ff98953a1",
            "Name": "2025-04-17T20:12:38",
            "CreationDate": "2025-04-17T20:12:38+00:00",
            "GranteePrincipal": "medical-imaging.us-east-1.amazonaws.com",
            "RetiringPrincipal": "medical-imaging.us-east-1.amazonaws.com",
            "IssuingAccount": "AWS Internal",
            "Operations": [
                "Decrypt",
                "Encrypt",
                "GenerateDataKey",
                "GenerateDataKeyWithoutPlaintext",
                "ReEncryptFrom",
                "ReEncryptTo",
                "CreateGrant",
                "RetireGrant",
                "DescribeKey"
            ]
        },
        {
            "KeyId": "arn:aws:kms:us-east-1:147997158357:key/8e1c34df-5fd2-49fa-8986-4618c9829a8c",
            "GrantId": "ab4a9b919f6ca8eb2bd08ee72475658ee76cfc639f721c9caaa3a148941bcd16",
            "Name": "9d060e5b5d4144a895e9b24901088ca5",
            "CreationDate": "2025-04-17T20:12:39+00:00",
            "GranteePrincipal": "AWS Internal",
            "RetiringPrincipal": "medical-imaging.us-east-1.amazonaws.com",
            "IssuingAccount": "medical-imaging.us-east-1.amazonaws.com",
            "Operations": [
                "Decrypt",
                "Encrypt",
                "GenerateDataKey",
                "GenerateDataKeyWithoutPlaintext",
                "ReEncryptFrom",
                "ReEncryptTo",
                "DescribeKey"
            ],
            "Constraints": {
                "EncryptionContextSubset": {
                    "kms-arn": "arn:aws:kms:us-east-1:147997158357:key/8e1c34df-5fd2-49fa-8986-4618c9829a8c"
                }
            }
        }
```

다음 예는 `GenerateDataKey`를 사용하여 데이터를 저장하기 전에 사용자에게 암호화하는 데 필요한 권한이 있는지 확인하는 방법을 보여줍니다.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "EXAMPLEUSER",
        "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLEKEYID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "EXAMPLEROLE",
                "arn": "arn:aws:iam::111122223333:role/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2021-06-30T21:17:06Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "medical-imaging.amazonaws.com"
    },
    "eventTime": "2021-06-30T21:17:37Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "medical-imaging.amazonaws.com",
    "userAgent": "medical-imaging.amazonaws.com",
    "requestParameters": {
        "keySpec": "AES_256",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN"
    },
    "responseElements": null,
    "requestID": "EXAMPLE_ID_01",
    "eventID": "EXAMPLE_ID_02",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

다음 예는 HealthImaging이 저장된 암호화된 데이터 키를 사용하여 암호화된 데이터에 액세스하는 `Decrypt` 작업을 호출하는 방법을 보여줍니다.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "EXAMPLEUSER",
        "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLEKEYID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "EXAMPLEROLE",
                "arn": "arn:aws:iam::111122223333:role/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2021-06-30T21:17:06Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "medical-imaging.amazonaws.com"
    },
    "eventTime": "2021-06-30T21:21:59Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "medical-imaging.amazonaws.com",
    "userAgent": "medical-imaging.amazonaws.com",
    "requestParameters": {
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN"
    },
    "responseElements": null,
    "requestID": "EXAMPLE_ID_01",
    "eventID": "EXAMPLE_ID_02",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

다음 예제는 HealthImaging이 `DescribeKey` 작업을 사용하여 AWS KMS 고객 소유 AWS KMS 키가 사용 가능한 상태인지 확인하고 작동하지 않는 경우 사용자가 문제를 해결하는 데 도움이 되는 방법을 보여줍니다.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "EXAMPLEUSER",
        "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLEKEYID",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "EXAMPLEROLE",
                "arn": "arn:aws:iam::111122223333:role/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2021-07-01T18:36:14Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "medical-imaging.amazonaws.com"
    },
    "eventTime": "2021-07-01T18:36:36Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "DescribeKey",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "medical-imaging.amazonaws.com",
    "userAgent": "medical-imaging.amazonaws.com",
    "requestParameters": {
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN"
    },
    "responseElements": null,
    "requestID": "EXAMPLE_ID_01",
    "eventID": "EXAMPLE_ID_02",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

### 자세히 알아보기
<a name="more-info-kms"></a>

다음 리소스는 저장된 데이터 암호화에 대한 자세한 정보를 제공하며 *AWS Key Management Service 개발자 안내서*에 있습니다.
+ [AWS KMS 개념](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)
+ [에 대한 보안 모범 사례 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html)