

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

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

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

データ保護の目的で、 AWS アカウントの認証情報を保護し、 AWS Identity and Access Management (IAM) を使用して個々のユーザーアカウントを設定することをお勧めします。この方法により、それぞれのジョブを遂行するために必要なアクセス許可のみを各ユーザーに付与できます。また、次の方法でデータを保護することをお勧めします。
+ 各アカウントで多要素認証 (MFA) を使用します。
+ SSL/TLS を使用して AWS リソースと通信します。
+ で API とユーザーアクティビティのログ記録を設定します AWS CloudTrail。
+  AWS 暗号化ソリューションと、 サービス内のすべての AWS デフォルトのセキュリティコントロールを使用します。
+ Amazon Macie などの高度なマネージドセキュリティサービスを使用します。これにより、Amazon S3 に保存される個人データの検出と保護が支援されます。

顧客のアカウント番号などの機密の識別情報は、**[名前]** フィールドなどの自由形式のフィールドに配置しないことを強くお勧めします。これは、コンソール、API、または SDK を使用して Amazon Cognito AWS CLIまたは他の AWS サービスを使用する場合も同様です。 AWS SDKs Amazon Cognito、またはその他のサービスに入力されたデータは、いずれも診断ログへの包含のために取得される可能性があります。外部サーバーへの URL を指定するときは、そのサーバーへのリクエストを検証するための認証情報を URL に含めないでください。

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

データ暗号化は、通常、保管時の暗号化と転送中の暗号化の 2 つのカテゴリに分類されます。

**保管時の暗号化**

Amazon Cognito 内のデータは、業界標準に従って保管時に暗号化されます。

Amazon Cognito は、[検索可能な暗号化](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/searchable-encryption.html)を使用したユーザー属性検索で個人を特定できる情報の機密性、完全性、可用性をサポートしています。これらのハッシュベースのメッセージ認証コード (HMAC) 関数は、ユーザープールデータセット向けにパフォーマンスが最適化されており、ユーザー属性のプレーンテキスト値と暗号化された値の間でマッピングされます。Amazon Cognito は、ユーザープールを暗号化する KMS キーを使用して HMAC 値を計算します。この保護は、次の属性に適用されます。
+ sub
+ E メール
+ phone\$1number
+ given\$1name
+ family\$1name
+ 名前
+ username
+ preferred\$1username
+ cognito:user\$1status

**転送時の暗号化**

マネージドサービスである Amazon Cognito は、 AWS グローバルネットワークセキュリティで保護されています。 AWS セキュリティサービスと がインフラストラクチャ AWS を保護する方法については、[AWS 「 クラウドセキュリティ](https://aws.amazon.com/security/)」を参照してください。インフラストラクチャセキュリティのベストプラクティスを使用して環境を AWS 設計するには、*「Security Pillar AWS Well‐Architected Framework*」の[「Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)」を参照してください。

 AWS 公開された API コールを使用して、ネットワーク経由で Amazon Cognito にアクセスします。クライアントは次をサポートする必要があります。
+ Transport Layer Security (TLS)。TLS 1.2 が必須で、TLS 1.3 をお勧めします。
+ DHE (楕円ディフィー・ヘルマン鍵共有) や ECDHE (楕円曲線ディフィー・ヘルマン鍵共有) などの完全前方秘匿性 (PFS) による暗号スイート。これらのモードは Java 7 以降など、ほとんどの最新システムでサポートされています。

Amazon Cognito ユーザープールおよび ID プールには、IAM 認証、非認証、およびトークン認証による API オペレーションがあります。認証されていない API オペレーションやトークン認証された API オペレーションは、お客様 (アプリケーションのエンドユーザー) による使用を目的としています。認証されていない API オペレーションとトークン認証された API オペレーションは、保管中および転送中に暗号化されます。詳細については、「[認可モデル別にグループ化された API オペレーションのリスト](authentication-flows-public-server-side.md#user-pool-apis-auth-unauth)」を参照してください。

**注記**  
Amazon Cognito は、コンテンツを内部で暗号化します。お客様提供のキーはサポートしていません。