Amazon EMR での Kerberos の設定 - Amazon EMR

Amazon EMR での Kerberos の設定

このセクションでは、一般的なアーキテクチャを使用して Kerberos を設定する詳細と例を示します。選択するアーキテクチャに関係なく設定の基本は同じであり、3 つのステップで行います。外部の KDC を使用する、あるいはクロス領域信頼を設定する場合には、クラスターのすべてのノードに外部の KDC へのネットワークルートがあること (インバウンドおよびアウトバウンドの Kerberos トラフィックを許可する適用されるセキュリティグループの設定など) を確認する必要があります。

ステップ 1: Kerberos プロパティでセキュリティ設定を作成する

このセキュリティ設定は Kerberos KDC についての詳細を指定し、クラスターを作成するたびにこの Kerberos 設定を再利用できるようにします。セキュリティ設定は、Amazon EMR コンソール、AWS CLI、あるいは EMR API を使用して作成できます。セキュリティ設定には、他にも暗号化などのセキュリティオプションがあります。セキュリティ設定の作成およびクラスターを作成する際のセキュリティ設定の指定に関する詳細については、「セキュリティ設定を使用してクラスターセキュリティをセットアップする」を参照してください。セキュリティ設定の Kerberos プロパティに関する詳細は、「セキュリティ設定における Kerberos セキュリティ」を参照してください。

ステップ 2: クラスターを作成し、クラスター固有の Kerberos 属性を指定する

クラスター作成時に、クラスター固有の Kerberos オプションと Kerberos セキュリティ設定を指定します。Amazon EMR コンソールを使用する場合、指定するセキュリティ設定と互換性がある Kerberos オプションのみを使用できます。AWS CLI あるいは Amazon EMR API を使用する場合、指定するセキュリティ設定と互換性がある Kerberos オプションを指定していることを確認します。たとえば、CLI を使用してクラスターを作成する際にクロス領域信頼にプリンシパルのパスワードを指定するとき、指定したセキュリティ設定がクロス領域信頼で設定されていない場合、エラーが生じます。詳細については、「クラスターの Kerberos 設定」を参照してください。

ステップ 3: クラスターのプライマリノードを設定する

アーキテクチャと実装の要件に応じて、クラスターで追加の設定が必要になることがあります。これは、クラスターの作成後、あるいは作成プロセス中にステップまたはブートストラップを使用して行うことができます。

SSH を使用してクラスターに接続した Kerberos 認証済みの各ユーザーについて、Kerberos ユーザーに対応する Linux アカウントが作成されていることを確認する必要があります。ユーザープリンシパルが外部 KDC として、あるいはクロス領域信頼を介して Active Directory ドメインコントローラーによって提供されている場合、Amazon EMR は Linux アカウントを自動的に作成します。Active Directory が使用されていない場合は、各ユーザーに Linux ユーザーに対応するプリンシパルを作成する必要があります。詳細については、「Kerberos 認証済み HDFS ユーザーと SSH 接続向けクラスターの設定」を参照してください。

また、各ユーザーには所有する HDFS ユーザーディレクトリ (要作成) がある必要があります。さらに、Kerberos 認証済みのユーザーからの接続を許可するように、SSH は GSSAPI を有効にして設定する必要があります。GSSAPI がプライマリノードで有効にされている必要があり、クライアントの SSH アプリケーションが GSSAPI を使用するように設定されている必要があります。詳細については、「Kerberos 認証済み HDFS ユーザーと SSH 接続向けクラスターの設定」を参照してください。