でのデータ保護 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 リソースと通信します。1.2 が必要でTLS、1.3 TLS をお勧めします。

  • で APIとユーザーアクティビティのログ記録を設定します AWS CloudTrail。証 CloudTrail 跡を使用して AWS アクティビティをキャプチャする方法については、AWS CloudTrail 「 ユーザーガイド」の 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 「」を参照してくださいでのデータ処理 AppFabric

保管中の暗号化

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

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

転送中の暗号化

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

AppFabric は 1.2 TLS を使用して転送中のすべてのデータを保護し、 AWS Signature V4 を使用して の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での許可」を参照してください。

App バンドルを作成すると、 は に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" } } },

App バンドルを削除すると、 はカスタマーマネージドキーに対して発行された許可を AppFabric 廃止します。

の暗号化キーのモニタリング AppFabric

で AWS KMS カスタマーマネージドキーを使用する場合 AppFabric、 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" } }