考慮事項と制限
Amazon EMR on EKS で Lake Formation を使用する場合は、次の考慮事項と制限事項を考慮してください:
Amazon EMR on EKS は、Apache Hive 、Apache Iceberg、Apache Hudi、Delta テーブルフォーマットに対してのみ Lake Formation を介したきめ細かなアクセスコントロールをサポートします。Apache Hive 形式には、Parquet、ORC、および xSV が含まれます。
DynamicResourceAllocationはデフォルトで有効になっており、DynamicResourceAllocationは Lake Formation ジョブではオフにできません。DRAspark.dynamicAllocation.maxExecutors設定のデフォルト値は無限であるので、ワークロードに基づいて適切な値を設定してください。Lake Formation 対応ジョブは、システムドライバーとシステムエグゼキュターでのカスタマイズされた EMR on EKS イメージの使用をサポートしていません。
Lake Formation は Spark ジョブでのみ使用できます。
Lake Formation を使用した EMR on EKS は、ジョブ全体で 1 つの Spark セッションのみをサポートします。
Lake Formation を使用した EMR on EKS は、リソースリンクを介して共有されるクロスアカウントテーブルクエリのみをサポートします。
次のサポートはありません。
耐障害性のある分散データセット (RDD)
Spark ストリーミング
Lake Formation に付与されたアクセス許可による書き込み
ネストされた列のアクセスコントロール
EMR on EKS は、以下を含むシステムドライバーの完全な分離を損なわせる可能性のある機能をブロックします。
UDT、HiveUDF およびカスタムクラスを含むユーザー定義関数
カスタムデータソース
Spark 拡張機能、コネクタ、メタストア
ANALYZE TABLEコマンド用の追加の jar の提供
アクセスコントロールを適用するために、
EXPLAIN PLANおよびDESCRIBE TABLEなどの DDL オペレーションは、限定された情報を公開しません。Amazon EMR on EKS は、Lake Formation 対応ジョブのシステムドライバー Spark ログへのアクセスを制限します。システムドライバーはより多くのアクセス権を使用して実行されるため、システムドライバーが生成するイベントとログには機密情報が含まれる可能性があります。許可されていないユーザーまたはコードがこの機密データにアクセスできないように、EMR on EKS はシステムドライバーログへのアクセスを無効にしました。トラブルシューティングについては、AWS のサポートにお問い合わせください。
テーブルの場所を Lake Formation に登録した場合、データアクセスパスは、 EMR on EKS ジョブの実行ロールの IAM アクセス許可に関係なく、Lake Formation に保存された認証情報を経由します。テーブルの場所に登録されたロールを誤って設定することにより、そのテーブルの場所に対して S3 IAM アクセス許可を持つロールを使用して送信されたジョブは失敗します。
Lake Formation テーブルへの書き込みでは、Lake Formation に付与されたアクセス許可ではなく、IAM アクセス許可が使用されます。ジョブ実行ロールに必要な S3 アクセス許可がある場合は、それを使用して書き込みオペレーションを実行できます。
Apache Iceberg を使用する場合の考慮事項と制限事項を次に示します。
Apache Iceberg はセッションカタログでのみ使用でき、任意の名前のカタログでは使用できません。
Lake Formation に登録されている Iceberg テーブルは、メタデータテーブル
history、metadata_log_entries、snapshots、files、manifests、およびrefsのみをサポートします。Amazon EMR はpartitions、path、summariesなどの機密データを持つ可能性のある列を非表示にします。この制限は、Lake Formation に登録されていない Iceberg テーブルには適用されません。Lake Formation に登録していないテーブルは、すべての Iceberg ストアドプロシージャをサポートしています。
register_tableプロシージャとmigrateプロシージャは、どのテーブルでもサポートされていません。V1 の代わりに Iceberg DataFrameWriterV2 を使用することをお勧めします。
詳細については、「Understanding Amazon EMR on EKS concepts and terminology」および「Enable cluster access for Amazon EMR on EKS」を参照してください。
データ管理者の免責事項
注記
EMR on EKS の IAM ロールに Lake Formation リソースへのアクセスを許可する場合は、EMR クラスター管理者またはオペレーターが信頼できる管理者であることを確認しなければなりません。これは、複数の組織や AWS アカウント間で共有される Lake Formation リソースに特に関連します。
EKS 管理者の責任
System名前空間は保護しなければなりません。ユーザー、リソース、エンティティ、またはツールが、System名前空間の Kubernetes リソースに対する Kubernetes RBAC アクセス許可を持つことは許可されません。EMR on EKS サービス以外のユーザー、リソース、エンティティは、
User名前空間の POD、CONFIG_MAP、SECRET のCREATEアクセス権を有していてはいけません。SystemドライバーとSystemエグゼキュターには機密データが含まれています。したがって、System名前空間の Spark イベント、Spark ドライバーログ、および Spark エグゼキュターログは、外部ログストレージシステムに転送しないでください。