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

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

Amazon EMR でのセキュリティ

セキュリティとコンプライアンスは、 と共有する責任です AWS。この責任共有モデルは、ホストオペレーティングシステムや仮想化レイヤーから EMR クラスターが動作する施設の物理的なセキュリティまで、コンポーネントを AWS 運用、管理、制御する際の運用上の負担を軽減します。Amazon EMR クラスターの責任、管理、更新、およびアプリケーションソフトウェアの設定と AWS セキュリティコントロールの提供は、お客様が引き受けます。この責任の区別は、一般的にクラウドのセキュリティとクラウドのセキュリティと呼ばれます。

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

  • クラウド内のセキュリティ — また、Amazon EMR クラスターのセキュリティを保護するために必要なセキュリティ設定および管理タスクをすべて実行する責任もあります。Amazon EMR クラスターをデプロイするお客様は、インスタンスにインストールされたアプリケーションソフトウェアの管理、およびセキュリティグループ、要件に応じた暗号化とアクセス制御、適用される法律、規制などの AWSが提供する機能の設定に責任を負います。

このドキュメントは、Amazon EMR を使用する際の責任共有モデルの適用について理解するのに役立ちます。この章のトピックでは、セキュリティおよびコンプライアンスの目的を達成するために Amazon EMR を設定し AWS のサービス 、他の を使用する方法を示します。

ネットワークとインフラストラクチャのセキュリティ

マネージドサービスである Amazon EMR は、ホワイトペーパー「Amazon Web Services: セキュリティプロセスの概要」に記載されている AWS グローバルネットワークセキュリティの手順で保護されています。 AWS ネットワークおよびインフラストラクチャ保護サービスは、ホストレベルとネットワークレベルの境界の両方できめ細かな保護を提供します。Amazon EMR は AWS のサービス 、ネットワーク保護およびコンプライアンス要件に対応する およびアプリケーション機能をサポートしています。

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

  • Amazon EMR Block Public Access (BPA) では、クラスターにポート上のパブリック IP アドレスからのインバウンドトラフィックを許可するセキュリティ設定がある場合、パブリックサブネットでクラスターを起動できません。詳細については、「Amazon EMR のパブリックアクセスブロックの使用」を参照してください。

  • Secure Shell (SSH) は、ユーザーがクラスターインスタンスのコマンドラインに接続するための安全な方法を提供します。SSH を使用して、アプリケーションがクラスターのマスターノードでホストするウェブインターフェイスを表示することもできます。詳細については、「SSH 認証情報に EC2 キーペアを使用する」および「クラスターに接続する」を参照してください。

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

重要

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

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

AWS Identity and Access Management Amazon EMR での

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御するのに役立つ AWS のサービスです。IAM 管理者は、誰を認証 (サインイン) し、誰に Amazon EMR リソースの使用を承認する (アクセス許可を付与する) かを制御します。IAM アイデンティティには、ユーザー、グループ、およびロールが含まれます。IAM ロールは IAM ユーザーと似ていますが、特定のユーザーに関連付けられておらず、アクセス許可を必要とするすべてのユーザーが引き受けることを意図しています。詳細については、AWS Identity and Access Management Amazon EMR の「」を参照してください。Amazon EMR は、複数の IAM ロールを使用して、Amazon EMR クラスターのアクセスコントロールを実装するのに役立ちます。IAM は、追加料金なしで使用できる AWS のサービスです。

  • Amazon EMR の IAM ロール (EMR ロール) — Amazon EMR クラスターの起動時に Amazon EC2 インスタンスをプロビジョニングするなど、Amazon EMR サービスが AWS のサービス ユーザーに代わって他の にアクセスする方法を制御します。詳細については、「 AWS のサービス および リソースへの Amazon EMR アクセス許可の IAM サービスロールを設定する」を参照してください。

  • クラスター EC2 インスタンスの IAM ロール (EC2 インスタンスプロファイル) — インスタンスの起動時に Amazon EMR クラスター内のすべての EC2 インスタンスに割り当てられるロール。クラスターで実行されるアプリケーションプロセスは、このロールを使用して Amazon S3 AWS のサービスなどの他の とやり取りします。 Amazon S3 詳細については、「クラスターの EC2 インスタンスの IAM ロール」を参照してください。

  • アプリケーションの IAM ロール (ランタイムロール) — Amazon EMR クラスターにジョブまたはクエリを送信するときに指定できる IAM ロール。Amazon EMR クラスターに送信するジョブまたはクエリは、ランタイムロールを使用して Amazon S3 のオブジェクトなどの AWS リソースにアクセスします。Amazon EMR では、Spark ジョブと Hive ジョブ用のランタイムロールを指定できます。ランタイムロールを使用して Bu を実行すると、異なる IAM ロールを使用して、同じクラスターで実行されているジョブを分離できます。詳細については、「Amazon EMR でのランタイムロールとしての IAM ロールの使用」を参照してください。

ワークフォース ID とは、 でワークロードを構築または運用するユーザーを指します AWS。Amazon EMR は、以下を使用してワークフォース ID をサポートします。

  • AWS IAM アイデンティティセンター (Idc) は、 AWS リソースへのユーザーアクセスを管理する AWS のサービス ために推奨されます。これは、ワークフォース ID を割り当てて、複数の AWS アカウントやアプリケーションに一貫してアクセスできる単一の場所です。Amazon EMR は、信頼できる ID の伝播を通じてワークフォース ID をサポートします。信頼できる ID 伝達機能を使用すると、ユーザーはアプリケーションにサインインでき、そのアプリケーションはユーザーの ID AWS のサービス を他の に渡して、データまたはリソースへのアクセスを許可できます。詳細については、AWS 「Amazon EMR で IAM アイデンティティセンターのサポートを有効にする」を参照してください。

    Lightweight Directory Access Protocol (LDAP) は、ネットワーク経由でユーザー、システム、サービス、アプリケーションに関する情報にアクセスして維持するための、オープンでベンダーに依存しない業界標準のアプリケーションプロトコルです。LDAP は、Active Directory (AD) や OpenLDAP などの企業 ID サーバーに対するユーザー認証によく使用されます。EMR クラスターで LDAP を有効にすると、ユーザーは既存の認証情報を使用してクラスターを認証し、アクセスできるようになります。詳細については、「Amazon EMR で LDAP のサポートを有効にする」を参照してください。

    Kerberos は、シークレットキー暗号化を使用してクライアント/サーバーアプリケーションに強力な認証を提供するように設計されたネットワーク認証プロトコルです。Kerberos を使用すると、Amazon EMR はクラスターにインストールするアプリケーション、コンポーネント、サブシステムに対して Kerberos を設定し、相互に認証されるようにします。Kerberos が設定されたクラスターにアクセスするには、Kerberos ドメインコントローラー (KDC) に kerberos プリンシパルが存在する必要があります。詳細については、「Amazon EMR で Kerberos のサポートを有効にする」を参照してください。

シングルテナントクラスターとマルチテナントクラスター

デフォルトでは、クラスターは EC2 インスタンスプロファイルを IAM ID とする単一のテナンシーに設定されています。シングルテナントクラスターでは、すべてのジョブがクラスターへの完全かつ完全なアクセス権を持ち、すべての AWS のサービス およびリソースへのアクセスは EC2 インスタンスプロファイルに基づいて行われます。マルチテナントクラスターでは、テナントは互いに分離され、テナントはクラスターとクラスターの EC2 インスタンスへの完全かつ完全なアクセス権を持ちません。マルチテナントクラスターのアイデンティティは、ランタイムロールまたはワークフォースが識別します。マルチテナントクラスターでは、 AWS Lake Formation または Apache Ranger を介したきめ細かなアクセスコントロール (FGAC) のサポートを有効にすることもできます。ランタイムロールまたは FGAC が有効になっているクラスターでは、EC2 インスタンスプロファイルへのアクセスも iptables 経由で無効になります。

重要

シングルテナントクラスターにアクセスできるユーザーは、Linux オペレーティングシステム (OS) に任意のソフトウェアをインストールしたり、Amazon EMR によってインストールされたソフトウェアコンポーネントを変更または削除したりして、クラスターの一部である EC2 インスタンスに影響を与えることができます。ユーザーが Amazon EMR クラスターをインストールまたは変更できないようにするには、クラスターのマルチテナンシーを有効にすることをお勧めします。ランタイムロール、 AWS IAM アイデンティティセンター、Kerberos、または LDAP のサポートを有効にすることで、クラスターでマルチテナンシーを有効にできます。

データ保護

では AWS、 AWS のサービス および ツールを使用して、データがどのように保護され、誰がアクセスできるかを判断することで、データを制御できます。 AWS Identity and Access Management (IAM) などのサービスを使用すると、 AWS のサービス および リソースへのアクセスを安全に管理できます。 は検出と監査 AWS CloudTrail を有効にします。Amazon EMR では、 によって管理されているか、 AWS ユーザーが完全に管理しているキーを使用して、Amazon S3 に保管中のデータを簡単に暗号化できます。Amazon EMR は、転送中のデータの暗号化の有効化もサポートしています。詳細については、「保管中および転送中のデータの暗号化」を参照してください。

データアクセスコントロール

データアクセスコントロールを使用すると、IAM アイデンティティまたはワークフォースアイデンティティがアクセスできるデータを制御できます。Amazon EMR では、次のアクセスコントロールがサポートされています。

  • IAM アイデンティティベースのポリシー – Amazon EMR で使用する IAM ロールのアクセス許可を管理します。IAM ポリシーをタグ付けと組み合わせて、アクセスを cluster-by-cluster ベースで制御できます。詳細については、AWS Identity and Access Management Amazon EMR の「」を参照してください。

  • AWS Lake Formation は、データのアクセス許可管理を一元化し、組織全体および外部での共有を容易にします。Lake Formation を使用して、 AWS Glue Data Catalog のデータベースとテーブルへのきめ細かな列レベルのアクセスを有効にできます。詳細については、「Amazon EMR AWS Lake Formation での の使用」を参照してください。

  • Amazon S3 アクセス許可は、Active Directory や AWS Identity and Access Management (IAM) プリンシパルなどのディレクトリ内のアイデンティティを S3 のデータセットにマッピングします。さらに、S3 アクセスは、ログのエンドユーザー ID と、 の S3 データへのアクセスに使用されるアプリケーションを許可します AWS CloudTrail。詳細については、「Amazon EMR での Amazon S3 アクセス許可の使用」を参照してください。

  • Apache Ranger は、Hadoop プラットフォーム全体で包括的なデータセキュリティを有効化、監視、管理するフレームワークです。Amazon EMR は、Apache Hive メタストアと Amazon S3 の Apache Ranger ベースのきめ細かなアクセスコントロールをサポートしています。詳細については、「Apache Ranger と Amazon EMR の統合」を参照してください。