投稿日: Jul 21, 2022

EC2 クラスター (EMR クラスター) 上の Amazon EMR でアクセス制御を適用するのに役立つ 2 つの新機能がリリースされます。これらの機能は、EMR ステップ API を使用してクラスターに送信されるジョブでサポートされます。1 つ目は、EMR ステップを使用したランタイムロールです。ランタイムロールは、EMR ステップに関連付ける AWS Identity and Access Management (IAM) ロールです。EMR ステップはこのロールを使用して AWS のリソースにアクセスします。2 つ目は、AWS Lake Formation との統合です。EMR ステップを使用して、Apache Spark ジョブと Apache Hive ジョブにテーブルレベルおよび列レベルのアクセス制御を適用できるようになります。

以前は、EMR クラスターで実行されているジョブはすべて、EMR クラスターの EC2 インスタンスに関連付けられた IAM ロールを使用してリソースにアクセスしていました。このロールは、EMR EC2 インスタンスプロファイルと呼ばれます。たとえば、同じクラスターで実行されている Spark ジョブと Hive ジョブが異なる S3 バケットにアクセスする必要がある場合、インスタンスプロファイルでは両方のバケットへのアクセスを許可する必要があります。EMR ステップのランタイムロールを使用すると、Spark ジョブと Hive ジョブに異なる IAM ロールを指定して、ジョブレベルでのアクセス範囲を絞り込むことができます。これにより、複数のテナントで共有される単一の EMR クラスターでのアクセス制御を簡素化できます。その場合、各テナントは IAM ロールを使用して分離されます。

さらに、AWS Lake Formation を使用すると、EMR ステップとして送信された Apache Spark ジョブと Apache Hive ジョブで、テーブルレベルおよび列レベルのアクセス許可を適用できます。AWS Lake Formation は、データレイクの構築、セキュリティ保護、管理をサポートするフルマネージドサービスです。AWS Lake Formation を使用すると、リレーショナルデータベース管理システム (RDBMS) のように、付与または取り消しというシンプルなメカニズムで、データレイクに格納されているデータに対する詳細なアクセス制御を適用できます。この機能により、IAM ロール向けに AWS Lake Formation で定義されたテーブルレベルおよび列レベルのアクセス許可が、EMR ステップとして送信された Apache Hive ジョブと Apache Spark ジョブでシームレスに適用されます。これにより、アクセス制御をさらに簡素化し、各ジョブに対して特定のデータベース、テーブル、列へのアクセス件を付与できます。

 これらの機能はどちらも Amazon EMR リリース 6.7 で利用できます。詳細については、Amazon EMR のリージョンごとの利用可否リリースノートを参照してください。