翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
でのデータ保護 AWS AppFabric
責任 AWS 共有モデル
データ保護の目的で、認証情報を保護し 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" } }