AWS の責任共有モデル
データを保護するため、AWS アカウント 認証情報を保護し、AWS IAM Identity Center または AWS Identity and Access Management (IAM) を使用して個々のユーザーをセットアップすることをお勧めします。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:
-
各アカウントで多要素認証 (MFA) を使用します。
-
SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 は必須であり TLS 1.3 がお勧めです。
-
AWS CloudTrail で API とユーザーアクティビティロギングをセットアップします。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「AWS CloudTrail ユーザーガイド」の「Working with CloudTrail trails」を参照してください。
-
AWS のサービス 内のすべてのデフォルトセキュリティ管理に加え、AWS 暗号化ソリューションを使用します。
-
Amazon Macie などの高度なマネージドセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。
-
コマンドラインインターフェイスまたは API を使用して AWS にアクセスする際に FIPS 140-3 検証済みの暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「連邦情報処理規格 (FIPS) 140-3
」を参照してください。
お客様のメールアドレスなどの極秘または機密情報は、タグ、または [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 でワークグループを使用して、保存されたクエリを表示する権限を持つユーザーのみにそれらへのアクセスを制限します。