Amazon EMR でのセキュリティ - Amazon EMR

Amazon EMR でのセキュリティ

AWS では、クラウドのセキュリティが最優先事項です。AWS の顧客は、セキュリティを最も重視する組織の要件を満たすように構築されたデータセンターとネットワークアーキテクチャから利点を得られます。

セキュリティは、AWS と顧客の間の責任共有です。責任共有モデルでは、これをクラウドのセキュリティおよびクラウド内のセキュリティとして説明しています。

  • クラウドのセキュリティ - AWS は、AWS クラウドで AWS のサービスを実行するインフラストラクチャを保護する責任を負います。また、AWS は、使用するサービスを安全に提供します。AWS コンプライアンスプログラムの一環として、サードパーティーの監査が定期的にセキュリティの有効性をテストおよび検証しています。Amazon EMR に適用されるコンプライアンスプログラムについては、「コンプライアンスプログラムによる AWS 対象範囲内のサービス」を参照してください。

  • クラウド内のセキュリティ – お客様の責任は使用する AWS のサービスによって決まります。また、お客様は、お客様のデータの機密性、企業の要件、および適用可能な法律および規制などの他の要因についても責任を担います。

このドキュメントは、Amazon EMR を使用する際の責任共有モデルの適用について理解するのに役立ちます。Amazon EMR でソリューションを開発するときは、次のテクノロジーを使用して、ビジネス要件に応じてクラスターリソースとデータを保護します。この章のトピックでは、Amazon EMR を設定し、また他の AWS サービスを使用して、セキュリティおよびコンプライアンスの目的を達成する方法を説明します。

セキュリティ設定

Amazon EMR のセキュリティ設定は、さまざまなセキュリティセットアップのテンプレートです。セキュリティ設定を作成して、クラスターを作成するたびにセキュリティセットアップを簡単に再利用できます。詳細については、「セキュリティ設定を使用してクラスターセキュリティをセットアップする」を参照してください。

データ保護

データの暗号化を実装して、Amazon S3 での保管時のデータ、クラスターのインスタンスストレージでの保管時のデータ、伝送中のデータを保護できます。詳細については、「保管中と転送中のデータの暗号化」を参照してください。

Amazon EMR を使用した AWS Identity and Access Management

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全にコントロールするために役立つ AWS のサービスです。IAM 管理者は、誰を認証 (サインイン) し、誰に Amazon EMR リソースの使用を承認する (アクセス許可を付与する) かを制御します。IAM は、AWS のサービスで追加料金は発生しません。

  • IAM ID ベースのポリシー - IAM ポリシーは、ユーザーおよびグループがアクションを実行するためのアクセス許可を許可または拒否します。ポリシーはタグ付けと組み合わせて、クラスター単位でアクセスをコントロールすることができます。詳細については、「Amazon EMR の AWS Identity and Access Management」を参照してください。

  • IAM ロール - Amazon EMR サービスロール、インスタンスプロファイル、サービスにリンクされたロールは、Amazon EMR が他の AWS のサービスにアクセスする方法を制御します。詳細については、「AWS のサービスおよびリソースへのアクセス許可を Amazon EMR に付与する IAM サービスロールの設定」を参照してください。

  • Amazon S3 への EMRFS リクエストの IAM ロール - Amazon EMR が Amazon S3 にアクセスする場合、ユーザー、グループ、または Amazon S3 での EMRFS データの場所に基づいて、使用する IAM ロールを指定できます。これにより、クラスターユーザーが Amazon EMR 内からファイルにアクセスできるかどうかを適確に制御できます。詳細については、「Amazon S3 への EMRFS リクエストの IAM ロールを設定する」を参照してください。

Kerberos

Kerberos を設定して、シークレットキーの暗号化を使用して、強力な認証を行うことができます。詳細については、「Amazon EMR での認証に Kerberos を使用する」を参照してください。

Lake Formation

Lake Formation のアクセス許可を AWS Glue Data Catalog とともに使用して、AWS Glue Data Catalog のデータベースとテーブルへのきめ細かな列レベルのアクセスを提供できます。Lake Formation により、企業の ID システムから EMR Notebooks または Apache Zeppelin へのフェデレーションシングルサインオンが可能になります。詳細については、「Amazon EMR と AWS Lake Formation の統合」を参照してください。

Secure Socket Shell (SSH)

SSH は、クラスターインスタンスのコマンドラインにユーザーが安全に接続できるようにする上で役立ちます。また、トンネリングを使用して、アプリケーションがマスターノードでホストしているウェブインターフェイスを表示することもできます。クライアント認証には、Kerberos または Amazon EC2 キーペアを使用します。詳細については、SSH 認証情報に EC2 キーペアを使用する および クラスターに接続する を参照してください。

Amazon EC2 セキュリティグループ

セキュリティグループは、EMR クラスターインスタンスの仮想ファイアウォールとして機能し、インバウンドとアウトバウンドのネットワークトラフィックを制限します。詳細については、「セキュリティグループを使用してネットワークトラフィックを制御する」を参照してください。

Amazon EMR のデフォルトの Amazon Linux AMI の更新

重要

Amazon Linux AMI または Amazon Linux 2 AMI (Amazon Linux マシンイメージ) を実行している Amazon EMR クラスターは、デフォルトの Amazon Linux 動作を使用します。再起動が必要な重要なカーネル更新が自動的にダウンロードされてインストールされることはありません。これは、デフォルトの Amazon Linux AMI を実行している他の Amazon EC2 インスタンスと同じ動作です。Amazon EMR バージョンのリリース後に、再起動が必要な新しい Amazon Linux ソフトウェア更新 (カーネル、NVIDIA、CUDA の更新など) が使用可能になった場合、デフォルトの AMI を実行する Amazon EMR クラスターインスタンスで、それらの更新が自動的にダウンロードされてインストールされることはありません。カーネルの更新を取得するために、Amazon EMR AMI をカスタマイズして、最新の Amazon Linux AMI を使用できます。

アプリケーションのセキュリティ体制やクラスターが実行される時間に応じて、クラスターを定期的に再起動してセキュリティ更新を適用したり、ブートストラップアクションを作成してパッケージのインストールと更新をカスタマイズすることもできます。実行中のクラスターインスタンスで、選択したセキュリティ更新をテストしてインストールすることもできます。詳細については、「Amazon EMR にデフォルトの Amazon Linux AMI を使用する」を参照してください。ネットワーク設定では、Amazon S3 の Amazon Linux リポジトリへの HTTP および HTTPS の出力が許可されている必要があります。そうしないと、セキュリティ更新は成功しません。