Athena におけるデータ保護 - Amazon Athena

Athena におけるデータ保護

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

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

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

  • SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 は必須であり TLS 1.3 がお勧めです。

  • AWS CloudTrail で API とユーザーアクティビティロギングをセットアップします。

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

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

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

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

追加のセキュリティ手順として、aws:CalledVia グローバル条件コンテキストキーを使用して、リクエストを Athena から実行されるものだけに制限できます。詳細については、「Athena での CalledVia コンテキストキーの使用」を参照してください。

複数タイプのデータの保護

Athena を使用してデータベースとテーブルを作成するときは、複数のタイプのデータが関与します。これらのデータのタイプには、Amazon S3 に保存されているソースデータ、データを検出するためにクエリまたは AWS Glue クローラを実行するときに作成されるデータベースとテーブルのメタデータ、クエリ結果データ、およびクエリ履歴が含まれます。このセクションでは、各タイプのデータについて説明し、それらのデータを保護するためのガイダンスを提供します。

  • ソースデータ – データベースとテーブル用のデータは Amazon S3 に保存され、Athena はこのデータを変更しません。詳細については、「Amazon Simple Storage Service ユーザーガイド」の「Amazon S3 におけるデータ保護」を参照してください。ソースデータへのアクセスはユーザーが制御し、ソースデータは Amazon S3 で暗号化できます。Athena を使用して、Amazon S3 で暗号化されたデータセットに基づくテーブルを作成できます

  • データベースとテーブルのメタデータ (スキーマ) – Athena はスキーマオンリード (schema-on-read) テクノロジーを使用します。これは、Athena がクエリを実行するときに、テーブル定義が Amazon S3 のデータに適用されることを意味します。定義したスキーマは、明示的に削除しない限り、自動的に保存されます。Athena では、DDL ステートメントを使用してデータカタログメタデータを変更できます。テーブルの定義とスキーマは、Amazon S3 に保存されている基盤となるデータに影響を及ぼすことなく削除することもできます。Athena で使用するデータベースとテーブルのメタデータは AWS Glue Data Catalog に保存されます。

    AWS Identity and Access Management (IAM) を使用して、AWS Glue Data Catalog に登録されたデータベースとテーブルにきめ細かなアクセスポリシーを定義することができます。AWS Glue Data Catalog のメタデータを暗号化することもできます。メタデータを暗号化する場合、それらのデータにアクセスするためには、暗号化されたメタデータに対するアクセス許可を使用します。

  • 保存されたクエリを含むクエリ結果とクエリ履歴 – クエリ結果は Amazon S3 の場所に保存されます。この場所は、グローバルに指定することも、ワークグループごとに指定することも可能です。指定しない場合、Athena はその都度デフォルトの場所を使用します。クエリ結果と保存されたクエリを格納する Amazon S3 バケットへのアクセスは、ユーザーが制御します。さらに、Amazon S3 に保存するクエリ結果の暗号化を選択することもできます。ユーザーには、Amazon S3 の場所にアクセスして、ファイルを復号化するための適切な許可が必要です。詳細については、本書の「Amazon S3 に保存された Athena のクエリ結果の暗号化」を参照してください。

    Athena では、クエリ履歴が 45 日間保持されます。クエリ履歴を表示するには、Athena API、コンソール、および AWS CLI を使用できます。クエリを 45 日より長い期間保持するには、それらを保存してください。保存されたクエリへのアクセスを保護するには、Athena でワークグループを使用して、保存されたクエリを表示する権限を持つユーザーのみにそれらへのアクセスを制限します。