E-MapReduce (EMR) V3.43.0、V5.9.0、またはそれらのバージョンより後のマイナーバージョンでは、オープンソースコンポーネントが Kerberos セキュリティモードで起動される高セキュリティクラスターを作成できます。これにより、認証されたクライアントのみが Hadoop 分散ファイルシステム (HDFS) などのクラスターサービスにアクセスできるようになります。
背景情報
クラスターで Kerberos 認証を有効にすると、次のメリットが得られます。
クライアント:信頼されたクライアントが認証され、正しくジョブを送信できます。悪意のあるユーザーが他のユーザーになりすましてクラスターにアクセスすることはできません。これにより、悪意のあるユーザーがクライアントとしてジョブを送信することを効果的に防止できます。
サーバー:クラスター内のすべてのサービスが信頼され、キーを使用して相互に通信できます。これにより、サービス偽装攻撃を防止できます。
Kerberos 認証はクラスターのセキュリティ向上に役立ちますが、クラスターの使用がより複雑になります。
Kerberos 認証を有効にした後は、送信するジョブに Kerberos 認証に関連する内容を追加する必要があります。
Kerberos 認証を有効にする前に、Kerberos の動作原理と効率的な使用方法を理解する必要があります。
クラスターで Kerberos 認証を有効にすると、クラスター内のサービス間の通信に Kerberos 認証が必要になります。Kerberos 認証には時間がかかります。クラスター内のジョブは、Kerberos 認証が無効になっている同じ仕様のクラスター内のジョブよりも処理時間が長くなります。
Kerberos 認証
Kerberos は、対称鍵暗号に基づく ID 認証プロトコルであり、シングルサインオン (SSO) をサポートしています。クライアントが認証されると、クライアントは HBase や HDFS などの複数のサービスにアクセスできます。
Kerberos 認証には、次のオブジェクトが含まれます。
キー配布センター (KDC) :Kerberos サーバー。
クライアント:サービスにアクセスする必要があるクライアント (プリンシパル) 。KDC とサービスがクライアントの ID を認証します。
サービス:HDFS、YARN、HBase といった、Kerberos と統合されたクラスターのサービス。
次の図は、Kerberos 認証プロセスを示しています。
Kerberos 認証プロセスは、2 つのステージに分かれています。
ステージ 1 :KDC ベースの ID 認証
クライアントが Kerberos と統合されたクラスター内のサービスにアクセスする前に、クライアントは KDC による認証を受ける必要があります。
クライアントが認証されると、クライアントはチケット発行チケット (TGT) を取得します。その後、クライアントは TGT を使用してクラスター内のサービスにアクセスできます。
ステージ 2 :サービスベースの ID 認証
クライアントが TGT を取得すると、クライアントは TGT を使用してクラスター内のサービスにアクセスできます。
クライアントは、TGT とアクセスするサービスの名前を使用して、KDC からサービスチケット (SGT) を取得し、SGT を使用してサービスにアクセスします。たとえば、サービスとして HDFS があります。その後、サービスは関連情報を使用してクライアントを認証します。クライアントが認証されると、クライアントはサービスにアクセスできます。
Kerberos 認証の有効化
クラスターの作成時に、Software Configuration ページの Advanced Settings セクションで、Kerberos ID 認証 スイッチをオンにします。
Kerberos は、クラスター作成時にのみ有効にできます。実行中のクラスターで有効化または無効化することはできません。各ノードに Linux ユーザーを手動で追加する必要があります。そうしないと、YARN ジョブが失敗します。このタスクには、ブートストラップスクリプトの使用を推奨します。
EMR V3.43.1、EMR V5.9.1、およびそれらのバージョンより後のマイナーバージョンでは、KDC ソースを指定できます。
次の KDC ソースがサポートされています。
[セルフマネージド KDC]:クラスターによって作成された KDC です。これがデフォルト値です。
[外部 KDC]: 外部の KDC です。この場合、外部 KDC に関連するパラメーターを設定する必要があります。詳細については、「EMR クラスターを外部 KDC に接続する」をご参照ください。
関連資料
詳細については、「Kerberos の基本的な操作」をご参照ください。
詳細については、「EMR クラスターを外部 KDC に接続する」をご参照ください。