

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

# AWS AppFabric でのデータ保護
<a name="data-protection"></a>

責任 AWS [共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)、 AWS AppFabric でのデータ保護に適用されます。このモデルで説明されているように、 AWS はすべての を実行するグローバルインフラストラクチャを保護する責任があります AWS クラウド。ユーザーは、このインフラストラクチャでホストされるコンテンツに対する管理を維持する責任があります。また、使用する「 AWS のサービス 」のセキュリティ設定と管理タスクもユーザーの責任となります。データプライバシーの詳細については、[データプライバシーに関するよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)を参照してください。欧州でのデータ保護の詳細については、*AWS セキュリティブログ*に投稿された「[AWS 責任共有モデルおよび GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/)」のブログ記事を参照してください。

データ保護の目的で、認証情報を保護し AWS アカウント 、 AWS IAM アイデンティティセンター または AWS Identity and Access Management (IAM) を使用して個々のユーザーを設定することをお勧めします。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:
+ 各アカウントで多要素認証 (MFA) を使用します。
+ SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 は必須ですが、TLS 1.3 を推奨します。
+ で API とユーザーアクティビティのログ記録を設定します AWS CloudTrail。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「 *AWS CloudTrail ユーザーガイド*」の[CloudTrail 証跡の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)」を参照してください。
+  AWS 暗号化ソリューションと、その中のすべてのデフォルトのセキュリティコントロールを使用します AWS のサービス。
+ Amazon Macie などの高度な管理されたセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。
+ コマンドラインインターフェイスまたは API AWS を介して にアクセスするときに FIPS 140-3 検証済み暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「[連邦情報処理規格 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)」を参照してください。

お客様の E メールアドレスなどの極秘または機密情報を、タグ、または **[名前]** フィールドなどの自由形式のテキストフィールドに含めないことを強くお勧めします。これは、コンソール、API、または SDK を使用して AppFabric AWS CLIまたは他の AWS のサービス を使用する場合も同様です。 AWS SDKs タグ、または名前に使用される自由記述のテキストフィールドに入力したデータは、請求または診断ログに使用される場合があります。外部サーバーに URL を提供する場合、そのサーバーへのリクエストを検証できるように、認証情報を URL に含めないことを強くお勧めします。



**注記**  
AppFabric for security に適用されるデータ保護の詳細については、「[AppFabric でのデータ処理](productivity-data-processing.md)」を参照してください。

## 保管中の暗号化
<a name="encryption-rest"></a>

AWS AppFabric は、保管時の暗号化をサポートしています。これは、AppFabric がディスクに保持されているときにアプリケーションバンドルに関連するすべてのデータを透過的に暗号化し、データにアクセスするときに復号するサーバー側の暗号化機能です。デフォルトでは、AppFabric は AWS 所有のキー from AWS Key Management Service () を使用してデータを暗号化しますAWS KMS。独自のカスタマーマネージドキーを使用してデータを暗号化することもできます AWS KMS。

ユーザーを削除すると、そのユーザーのメタデータはすべて、完全に削除されます。

## 転送中の暗号化
<a name="encryption-transit"></a>

アプリバンドルを設定するときは、 AWS 所有のキー またはカスタマーマネージドキーのいずれかを選択できます。監査ログの取り込み用にデータを収集して正規化する際、AppFabric はデータを中間の Amazon Simple Storage Service (Amazon S3) バケットに一時的に保存し、このキーを使用して暗号化します。この中間バケットは、バケットライフサイクルポリシーを使用して 30 日後に削除されます。

AppFabric は、TLS 1.2 を使用して転送中のすべてのデータを保護し、 AWS 署名 V4 を使用して の AWS のサービス API リクエストに署名します。

## キー管理
<a name="key-management"></a>

AppFabric は、 AWS 所有のキー またはカスタマーマネージドキーによるデータの暗号化をサポートしています。暗号化されたデータを完全に管理できるので、カスタマーマネージドキーを使用することをお勧めします。カスタマーマネージドキーを選択すると、AppFabricは、カスタマーマネージドキーへのアクセスを許可するリソースポリシーをカスタマーマネージドキーにアタッチします。

### カスタマーマネージドキー
<a name="key-management-cust-key"></a>

カスタマーマネージドキーを作成するには、「AWS KMS デベロッパーガイド」の「[暗号化KMS キーを作成する](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」のステップに従います。

## キーポリシー
<a name="key-policy"></a>

キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。キーポリシーは、カスタマーマネージドキーの作成時に指定できます。キーポリシーの作成について詳細については、*[AWS KMS デベロッパーガイド]* の[[キーの作成]](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html) のポリシー を参照してください。

AppFabric でカスタマーマネージドキーを使用するには、AppFabric リソースを作成する AWS Identity and Access Management (IAM) ユーザーまたはロールに、カスタマーマネージドキーを使用するアクセス許可が必要です。AppFabric でのみ使用するキーを作成し、AppFabric ユーザーをそのキーのユーザーとして追加することをお勧めします。この方法では、データへのアクセス範囲が制限されます。ユーザーが必要とする権限は次のとおりです。
+ `kms:DescribeKey`
+ `kms:CreateGrant`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`

 AWS KMS コンソールでは、適切なキーポリシーを使用してキーを作成する手順を説明します。キーポリシーの詳細については、「AWS KMS デベロッパーガイド」の「 AWS KMSのキーポリシー」を参照してください。

以下は、それを許可するキーポリシーの例です。
+ キー AWS アカウントのルートユーザー の完全な制御。
+ カスタマーマネージドキーまたはカスタマーマネージドキーを使用することをお勧めします。
+ アプリバンドルのキーポリシーは、でセットアップされます。`us-east-1`

## AppFabric が で許可を使用する方法 AWS KMS
<a name="fabric-kms-grants"></a>

AppFabricでカスタマーマネージドキーを使用するには許可が必要です。詳細については、「AWS KMS デベロッパーガイド」の「[許可 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)」を参照してください。

App Bundle を作成すると、AppFabric は`[https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)`リクエストを送信してユーザーに代わって許可を作成します AWS KMS。の権限 AWS KMS は、AppFabric に顧客アカウントの AWS KMS キーへのアクセスを許可するために使用されます。AppFabricは、このグラントが、以下の内部オペレーションでカスタマー管理キーを使用することを求めます。
+ カスタマーマネージドキーによって暗号化されたデータキーを生成する AWS KMS リクエスト`[https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)`を に送信します。
+ に`[https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)`リクエストを送信 AWS KMS して暗号化されたデータキーを復号し、データの暗号化と転送中のアプリケーションアクセストークンの復号化に使用できます。
+ 転送中のアプリケーションアクセストークンを暗号化 AWS KMS する`[https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)`リクエストを に送信します。

グラントの例を以下に示します。

```
{
  "KeyId": "arn:aws:kms:us-east-1:111122223333:key/ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
  "GrantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
  "Name": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
  "CreationDate": "2022-10-11T20:35:39+00:00",
  "GranteePrincipal": "appfabric.us-east-1.amazonaws.com",
  "RetiringPrincipal": "appfabric.us-east-1.amazonaws.com",
  "IssuingAccount": "arn:aws:iam::111122223333:root",
  "Operations": [
    "Decrypt",
    "Encrypt",
    "GenerateDataKey"
  ],
  "Constraints": {
    "EncryptionContextSubset": {
      "appBundleArn": "arn:aws:fabric:us-east-1:111122223333:appbundle/ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE"
    }
  }
},
```

アプリバンドルを削除すると、AppFabric はカスタマー管理キーに対して発行されたグラントを廃止します。

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

AppFabric で AWS KMS カスタマーマネージドキーを使用すると、 AWS CloudTrail ログを使用して AppFabric が送信するリクエストを追跡できます AWS KMS。

以下は、AppFabric `CreateGrant`がカスタマーマネージドキー に使用したときに記録される CloudTrail イベントの例です。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser",
        "arn": "arn:aws:sts::111122223333:assumed-role/AssumedRole/SampleUser",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/AssumedRole",
                "accountId": "111122223333",
                "userName": "SampleUser"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-04-28T14:01:33Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2023-04-28T14:05:48Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "appfabric.amazonaws.com",
    "userAgent": "appfabric.amazonaws.com",
    "requestParameters": {
        "granteePrincipal": "appfabric.us-east-1.amazonaws.com",
        "constraints": {
            "encryptionContextSubset": {
                "appBundleArn": "arn:aws:appfabric:us-east-1:111122223333:appbundle/ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE"
            }
        },
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLEID",
        "retiringPrincipal": "appfabric.us-east-1.amazonaws.com",
        "operations": [
            "Encrypt",
            "Decrypt",
            "GenerateDataKey"
        ]
    },
    "responseElements": {
        "grantId": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/KEY_ID"
    },
    "additionalEventData": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/key_ID"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_256_GCM_SHA384",
        "clientProvidedHostHeader": "kms.us-east-1.amazonaws.com"
    }
}
```