でのデータ保護 AWS AppFabric - AWS AppFabric

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

でのデータ保護 AWS AppFabric

責任 AWS 共有モデル、 でのデータ保護に適用されます AWS AppFabric。このモデルで説明されているように、 AWS はすべての を実行するグローバルインフラストラクチャを保護する責任があります AWS クラウド。お客様は、このインフラストラクチャでホストされているコンテンツに対する管理を維持する責任があります。また、使用する AWS サービス のセキュリティ設定と管理タスクもユーザーの責任となります。データプライバシーの詳細については、「データプライバシーFAQ」を参照してください。欧州におけるデータ保護の詳細については、AWS 「 セキュリティブログ」のAWS 「責任共有モデル」とGDPRブログ記事を参照してください。

データ保護の目的で、認証情報を保護し AWS アカウント 、 AWS IAM Identity Center または AWS Identity and Access Management () を使用して個々のユーザーを設定することをお勧めしますIAM。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:

  • 各アカウントで多要素認証 (MFA) を使用します。

  • SSL/TLS を使用して AWS リソースと通信します。1TLS.2 が必要で、1.3 TLS をお勧めします。

  • を使用して APIとユーザーアクティビティのログ記録を設定します AWS CloudTrail。

  • AWS 暗号化ソリューションと、 内のすべてのデフォルトのセキュリティコントロールを使用します AWS サービス。

  • Amazon Macie などの高度なマネージドセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。

  • コマンドラインインターフェイスまたは AWS を介して にアクセスするときに FIPS 140-3 検証済みの暗号化モジュールが必要な場合はAPI、FIPSエンドポイントを使用します。利用可能なFIPSエンドポイントの詳細については、「連邦情報処理規格 (FIPS) 140-3」を参照してください。

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

注記

セキュリティ上の に適用されるデータ保護の詳細については、 AppFabric 「」を参照してくださいデータ処理

保管中の暗号化

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

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

転送中の暗号化

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

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

キー管理

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

カスタマーマネージドキー

カスタマーマネージドキーを作成するには、「 AWS KMS デベロッパーガイド」の「対称暗号化KMSキーの作成」の手順に従います。

キーポリシー

キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマーマネージドキーを作成する際に、キーポリシーを指定することができます。キーポリシーの作成について詳細については、[AWS KMS デベロッパーガイド][キーの作成] のポリシー を参照してください。

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

  • kms:DescribeKey

  • kms:CreateGrant

  • kms:GenerateDataKey

  • kms:Decrypt

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

以下は、それを許可するキーポリシーの例です。

  • キーの完全な AWS アカウントのルートユーザー 制御。

  • でカスタマーマネージドキー AppFabric の使用を許可されたユーザー AppFabric。

  • アプリバンドルのキーポリシーは、でセットアップされます。us-east-1

{ "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow access for key administrators", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": ["kms:*"], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key_ID" }, { "Sid": "Allow read-only access to key metadata to the account", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": [ "kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant" ], "Resource": "*" }, { "Sid": "Allow access to principals authorized to use AWS AppFabric", "Effect": "Allow", "Principal": {"AWS": "IAM-role/user-creating-appfabric-resources"}, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant", "kms:ListAliases" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "appfabric.us-east-1.amazonaws.com", "kms:CallerAccount": "111122223333" } } } ] }

で 許可 AppFabric を使用する方法 AWS KMS

AppFabric には、カスタマーマネージドキーを使用するための許可が必要です。詳細については、「AWS KMS デベロッパーガイド」の「AWS KMSでの許可」を参照してください。

アプリケーションバンドルを作成すると、 は にCreateGrantリクエストを送信して、ユーザーに代わってグラント AppFabric を作成します AWS KMS。の権限 AWS KMS は、カスタマーアカウントの AWS KMS キー AppFabric へのアクセスを許可するために使用されます。 AppFabric では、次の内部オペレーションでカスタマーマネージドキーを使用する権限が必要です。

  • カスタマーマネージドキーで暗号化されたデータキーを生成する AWS KMS には、 にGenerateDataKeyリクエストを送信します。

  • Decryptリクエストを送信 AWS KMS して、暗号化されたデータキーを復号します。これにより、データの暗号化と転送中のアプリケーションアクセストークンの復号化に使用できます。

  • 転送中のアプリケーションアクセストークンを暗号化 AWS KMS するEncryptリクエストを に送信します。

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

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

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

以下は、 がカスタマーマネージドキーCreateGrantに AppFabric を使用する場合にログに記録される 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" } }