

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

# Amazon EMR でのセキュリティ
<a name="emr-security"></a>

セキュリティとコンプライアンスは、共有する責任です AWS。この責任共有モデルは、ホストオペレーティングシステムや仮想化レイヤーから EMR クラスターが動作する施設の物理的なセキュリティまで、コンポーネントを AWS 運用、管理、制御する際の運用上の負担を軽減するのに役立ちます。Amazon EMR クラスターの責任、管理、更新、およびアプリケーションソフトウェアと AWS 提供されたセキュリティコントロールの設定は、お客様が引き受けます。この責任分担は一般的に、クラウド「*の*」セキュリティと、クラウド「*内の*」セキュリティと呼ばれます。
+ クラウドのセキュリティ – AWS は、 で実行されるインフラストラクチャを保護する責任 AWS のサービス を担います AWS。 は、お客様が安全に使用できるサービス AWS も提供します。[「AWS 」 コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)の一環として、サードパーティーの監査が定期的にセキュリティの有効性をテストおよび検証しています。Amazon EMR に適用されるコンプライアンスプログラムについては、「[コンプライアンスプログラムによる対象範囲内のAWS のサービス](https://aws.amazon.com/compliance/services-in-scope/)」を参照してください。
+ クラウド内のセキュリティ – また、お客様は Amazon EMR クラスターを保護するために必要なセキュリティ設定および管理タスクをすべて実行する責任もあります。Amazon EMR クラスターをデプロイするお客様は、インスタンスにインストールされたアプリケーションソフトウェアの管理、およびお客様の要件、適用される法律、規制に従ったセキュリティグループ、暗号化、アクセス制御などの AWSが提供する機能の設定に責任を負います。

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

## ネットワークとインフラストラクチャのセキュリティ
<a name="w2aac30b9"></a>

マネージドサービスである Amazon EMR は、[「Amazon Web Services: セキュリティプロセスの概要](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf)」ホワイトペーパーに記載されている AWS グローバルネットワークセキュリティ手順で保護されています。 AWS ネットワークおよびインフラストラクチャ保護サービスは、ホストレベルとネットワークレベルの境界の両方できめ細かな保護を提供します。Amazon EMR は AWS のサービス 、ネットワーク保護とコンプライアンス要件に対応する および アプリケーション機能をサポートしています。
+ **Amazon EC2 セキュリティグループ**は、Amazon EMR クラスターインスタンスの仮想ファイアウォールとして機能し、インバウンドとアウトバウンドのネットワークトラフィックを制限します。詳細については、「[Control network traffic with security groups](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-groups.html)」を参照してください。
+ **Amazon EMR のブロックパブリックアクセス (BPA)** は、クラスターのセキュリティ設定でポートのパブリック IP アドレスからのインバウンドトラフィックが許可されている場合に、ユーザーがパブリックサブネットでクラスターを起動するのを防止します。詳細については、「[Using Amazon EMR block public access](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-block-public-access.html)」を参照してください。
+ **Secure Shell (SSH)** は、クラスターインスタンスのコマンドラインに安全に接続できるよう支援します。SSH を使用して、クラスターのプライマリノードでアプリケーションによってホストされるウェブインターフェイスを表示することもできます。詳細については、[「Use an EC2 key pair for SSH credentials](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-ssh.html)」および[「Connect to a cluster](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node.html)」を参照してください。

## Amazon EMR のデフォルトの Amazon Linux AMI の更新
<a name="w2aac30c11"></a>

**重要**  
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 をカスタマイズ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html)して、[最新の Amazon Linux AMI を使用](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)できるようにします。

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

## AWS Identity and Access Management Amazon EMR を使用した
<a name="w2aac30c13"></a>

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御するのに役立つ AWS サービスです。IAM 管理者は、誰を*認証* (サインイン) し、誰に Amazon EMR リソースの使用を*承認する* (アクセス許可を付与する) かを制御します。IAM アイデンティティには、ユーザー、グループ、およびロールが含まれます。IAM ロールは IAM ユーザーと似ていますが、特定のユーザーに関連付けられておらず、アクセス許可を必要とするすべてのユーザーが引き受けることを意図しています。詳細については、「[AWS Identity and Access Management for Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html)」を参照してください。Amazon EMR は、複数の IAM ロールを使用して、Amazon EMR クラスターのアクセスコントロールを実装するのに役立ちます。IAM は、追加料金なしで使用できる AWS サービスです。
+ **Amazon EMR の IAM ロール (EMR ロール)** – Amazon EMR クラスターの起動時の Amazon EC2 インスタンスのプロビジョニングなど、Amazon EMR サービスが AWS のサービス ユーザーに代わって他の にアクセスする方法を制御します。詳細については、「 [AWS のサービス および リソースへの Amazon EMR アクセス許可の IAM サービスロールを設定する](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html)」を参照してください。
+ **クラスター EC2 インスタンスの IAM ロール (EC2 インスタンスプロファイル)** は、インスタンスの起動時に Amazon EMR クラスター内のすべての EC2 インスタンスに割り当てられるロールです。クラスターで実行されるアプリケーションプロセスは AWS のサービス、このロールを使用して Amazon S3 などの他の とやり取りします。詳細については、「[IAM role for cluster’s EC2 instances](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role-for-ec2.html)」を参照してください。
+ **アプリケーション用 IAM ロール (ランタイムロール)** - Amazon EMR クラスターにジョブやクエリを送信するときに指定できる IAM ロールです。Amazon EMR クラスターに送信するジョブまたはクエリは、ランタイムロールを使用して Amazon S3 のオブジェクトなどの AWS リソースにアクセスします。Amazon EMR では、Spark ジョブと Hive ジョブ用のランタイムロールを指定できます。ランタイムロールを使用すると、異なる IAM ロールを使用して、同じクラスターで実行されているジョブを分離できます。詳細については、「[Using IAM role as runtime role with Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-steps-runtime-roles.html)」を参照してください。

ワークフォース ID とは、ワークロードを構築または運用するユーザーを指します AWS。Amazon EMR は、以下を使用してワークフォース ID をサポートします。
+ **AWS IAM アイデンティティセンター (Idc)** は、 AWS リソースへのユーザーアクセスを管理する AWS のサービス ために推奨されます。これは、ワークフォース ID を割り当てることができる単一の場所であり、複数の AWS アカウントやアプリケーションに一貫してアクセスできます。Amazon EMR は、信頼できる ID 伝達を通じてワークフォース ID をサポートします。信頼できる ID 伝達機能を使用すると、ユーザーはアプリケーションにサインインでき、そのアプリケーションはユーザーの ID AWS のサービス を他の に渡して、データまたはリソースへのアクセスを許可できます。詳細については、「[Amazon EMR によるAWS IAM アイデンティティセンター](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-idc.html)」の「サポートの有効化」を参照してください。

  **Lightweight Directory Access プロトコル (LDAP)** は、ネットワーク経由でユーザー、システム、サービス、アプリケーションに関する情報にアクセスして維持するための、ベンダーに依存しないオープンな業界標準アプリケーションプロトコルです。LDAP は一般的に、Active Directory (AD) や OpenLDAP などの企業 ID サーバーに対するユーザー認証に使用されます。EMR クラスターで LDAP を有効にすると、ユーザーは既存の認証情報を使用してクラスターを認証し、アクセスできるようになります。詳細については、「[enabling support for LDAP with Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/ldap.html)」を参照してください。

  **Kerberos** は、シークレットキー暗号化を使用してクライアント/サーバーアプリケーションに強力な認証を提供するように設計されたネットワーク認証プロトコルです。Kerberos を使用する場合、Amazon EMR はクラスターにインストールされているアプリケーションやコンポーネント、サブシステムに Kerberos を設定し、相互に認証できるようにします。Kerberos が設定されたクラスターにアクセスするには、Kerberos ドメインコントローラー (KDC) に kerberos プリンシパルが存在する必要があります。詳細については、「[enabling support for Kerberos with Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html)」を参照してください。

### シングルテナントクラスターとマルチテナントクラスター
<a name="w2aac30c13c11"></a>

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

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

## データ保護
<a name="w2aac30c15"></a>

を使用すると AWS、 AWS のサービス および ツールを使用して、データがどのように保護され、誰がアクセスできるかを判断することで、データを制御できます。 AWS Identity and Access Management (IAM) などのサービスを使用すると、 AWS のサービス および resources. AWS CloudTrail enables detection and auditing へのアクセスを安全に管理できます。Amazon EMR では、 によって管理されているか、 AWS ユーザーが完全に管理しているキーを使用して、Amazon S3 に保存されているデータを簡単に暗号化できます。Amazon EMR は、転送中のデータの暗号化の有効化もサポートしています。詳細については、「[encrypt data at rest and in transit](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption.html)」を参照してください。

### データアクセスコントロール
<a name="w2aac30c15b5"></a>

データアクセスコントロールを使用すると、IAM ID またはワークフォース ID がアクセスできるデータを制御できます。Amazon EMR は、次のアクセスコントロールをサポートしています。
+ **IAM アイデンティティベースのポリシー** – Amazon EMR で使用する IAM ロールのアクセス許可を管理します。IAM ポリシーをタグ付けと組み合わせて、クラスター単位でアクセスをコントロールすることができます。詳細については、「[AWS Identity and Access Management for Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html)」を参照してください。
+ **AWS Lake Formation** は、データのアクセス許可管理を一元化し、組織全体および外部での共有を容易にします。Lake Formation を使用して、 AWS Glue データカタログ内のデータベースとテーブルへの列レベルのきめ細かなアクセスを有効にできます。詳細については、「[Using AWS Lake Formation with Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-lake-formation.html)」を参照してください。
+ **Amazon S3 アクセス許可**は、Active Directory や AWS Identity and Access Management (IAM) プリンシパルなどのディレクトリの ID を S3 のデータセットにマッピングします。さらに、S3 Access Grants は、エンドユーザーアイデンティティと、 AWS CloudTrailでの S3 データへのアクセスに使用されるアプリケーションをログに記録します。詳細については、「[Using Amazon S3 access grants with Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-access-grants.html)」を参照してください。
+ **Apache Ranger** は、Hadoop プラットフォーム全体で包括的なデータセキュリティを有効化、監視、管理するためのフレームワークです。Amazon EMR は、Apache Hive Metastore と Amazon S3 の Apache Ranger ベースのきめ細かなアクセスコントロールをサポートしています。詳細については、「[Integrate Apache Ranger with Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ranger.html)」を参照してください。