

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# データ暗号化
<a name="data-encryption"></a>

AWS HealthImaging では、クラウドに保管中のデータにセキュリティレイヤーを追加でき、スケーラブルで効率的な暗号化機能を提供しています。具体的には次のとおりです。
+ ほとんどの AWS サービスで利用可能な保管時のデータ暗号化機能
+ 暗号化キー AWS を管理するか AWS Key Management Service、独自のキーを完全に制御するかを選択できる、柔軟なキー管理オプション。
+ AWS 所有の AWS KMS 暗号化キー
+ Amazon SQS に対するサーバー側の暗号化 (SSE) を使用した、機密データを送信するための暗号化メッセージキュー

さらに、 は、暗号化とデータ保護を、 AWS 環境で開発またはデプロイするサービスに統合するための APIs AWS を提供します。

## カスタマーマネージドキーの作成
<a name="creating-co-cmk"></a>

対称カスタマーマネージドキーは、 AWS マネジメントコンソール または AWS KMS APIs を使用して作成できます。詳細については、「AWS Key Management Service デベロッパーガイド」の「[対称暗号化 KMS キーを作成する](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」を参照してください。

キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマーマネージドキーを作成する際に、キーポリシーを指定することができます。詳細については、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)」を参照してください。

HealthImaging リソースでカスタマーマネージド KMS キーを使用するには、キーポリシーで次の 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>

HealthImaging で、カスタマーマネージド KMS キーを使用するには[許可](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 は、顧客アカウントの KMS キーへのアクセス権を HealthImaging に付与するために使用されます。

お客様の代わりに HealthImaging が作成する許可を廃止したり取り消したりしないでください。アカウントで AWS KMS キーを使用する許可を HealthImaging に付与する許可を取り消した、または廃止した場合、HealthImaging は、このデータへのアクセス、データストアにプッシュされた新しい画像リソースの暗号化、およびプルされた画像の復号化を行うことができなくなります。HealthImaging の許可を廃止または取り消すと、変更がすぐに適用されます。アクセス権限を取り消すには、許可を取り消すのではなく、データストアを削除します。データストアを削除すると、HealthImation がユーザーに代わって許可を廃止します。

### HealthImaging の暗号化キーのモニタリング
<a name="monitoring-kms"></a>

CloudTrail を使用して、カスタマーマネージド KMS キーを使用するときに HealthImaging が AWS KMS ユーザーに代わって に送信するリクエストを追跡できます。CloudTrail ログのログエントリは、HealthImaging からのリクエストを明確に区別するため `userAgent` フィールドに `medical-imaging.amazonaws.com` を表示します。

次の例は`CreateGrant`、カスタマーマネージドキーによって暗号化されたデータにアクセス`DescribeKey`するために HealthImaging によって呼び出される AWS KMS オペレーションをモニタリングするための、`Decrypt`、、`GenerateDataKey`、および の CloudTrail イベントです。

以下は、`CreateGrant` を使用して HealthImaging に顧客提供の KMS キーへのアクセスを許可し、HealthImaging がその KMS キーを使用して保管中のすべての顧客データを暗号化できるようにする方法を示しています。

ユーザーは自分で許可を作成する必要はありません。HealthImaging は、`CreateGrant`リクエストを送信することで、ユーザーに代わって許可を作成します AWS KMS。の許可 AWS KMS は、顧客アカウントの AWS KMS キーへのアクセスを HealthImaging に付与するために使用されます。

```
{
            "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)