Amazon EMR での Lake Formation の使用に関する考慮事項 - Amazon EMR

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

Amazon EMR での Lake Formation の使用に関する考慮事項

で Amazon EMR を使用する場合は、次の点を考慮してください AWS Lake Formation。

Amazon EMR with Lake Formation は、利用可能なすべてのリージョンで利用できます。

  • Amazon EMR は、Apache Hive テーブルと Apache Iceberg テーブルに対してのみ、Lake Formation を介したきめ細かなアクセスコントロールをサポートしています。Apache Hive 形式には、Parquet、ORC、および xSV が含まれます。

  • Lake Formation ジョブの DynamicResourceAllocation をオフにすることはできません。

  • Lake Formation は Spark ジョブでのみ使用できます。

  • Lake Formation を使用する Amazon EMR は、ジョブ全体で 1 つの Spark セッションのみをサポートします。

  • Amazon EMR with Lake Formation は、リソースリンクを介して共有されるクロスアカウントテーブルクエリのみをサポートします。

  • 次のサポートはありません。

    • 耐障害性のある分散データセット (RDD)

    • Spark ストリーミング

    • Lake Formation に付与されたアクセス許可による書き込み

    • ネストされた列のアクセスコントロール

  • Amazon EMR は、以下を含むシステムドライバーの完全な分離を損なう可能性のある機能をブロックします。

    • UDT、HiveUDF およびカスタムクラスを含むユーザー定義関数

    • カスタムデータソース

    • Spark 拡張機能、コネクタ、メタストア用の追加の jar の提供

    • ANALYZE TABLE コマンド

  • アクセスコントロールを適用するために、EXPLAIN PLAN および DESCRIBE TABLE などの DDL オペレーションは、限定された情報を公開しません。

  • Amazon EMR は、Lake Formation 対応アプリケーションのシステムドライバー Spark ログへのアクセスを制限します。システムドライバーは昇格されたアクセス許可で実行されるため、システムドライバーが生成するイベントとログには機密情報が含まれる可能性があります。権限のないユーザーまたはコードがこの機密データにアクセスできないように、Amazon EMR はシステムドライバーログへのアクセスを無効にします。

    システムプロファイルログは常にマネージドストレージに保持されます。これは無効にできない必須の設定です。これらのログは、カスタマーマネージド KMS キーまたは AWS マネージド KMS キーを使用して安全に保存され、暗号化されます。

    Amazon EMR アプリケーションが Amazon S3 の VPC エンドポイントを持つプライベートサブネットにあり、アクセスを制御するエンドポイントポリシーをアタッチしている場合、ジョブが AWS Managed Amazon S3 にログデータを送信する前に、VPC ポリシーの Managed Storage に詳述されているアクセス許可を S3 ゲートウェイエンドポイントに含める必要があります。リクエストのトラブルシューティングについては、 AWS サポートにお問い合わせください。

  • Lake Formation にテーブルの場所を登録した場合、データアクセスパスは、Amazon EMR ジョブランタイムロールの IAM アクセス許可に関係なく、Lake Formation に保存されている認証情報を経由します。テーブルの場所に登録されたロールを誤って設定すると、テーブルの場所に対して S3 IAM アクセス許可を持つロールを使用して送信されたジョブは失敗します。

  • Lake Formation テーブルへの書き込みでは、Lake Formation に付与されたアクセス許可ではなく、IAM アクセス許可が使用されます。ジョブランタイムロールに必要な S3 アクセス許可がある場合は、それを使用して書き込みオペレーションを実行できます。

Apache Iceberg を使用する場合の考慮事項と制限事項を次に示します。

  • Apache Iceberg はセッションカタログでのみ使用でき、任意の名前のカタログでは使用できません。

  • Lake Formation に登録されている Iceberg テーブルは、メタデータテーブル historymetadata_log_entriessnapshotsfilesmanifests、および refs のみをサポートします。Amazon EMR は partitionspathsummaries などの機密データを持つ可能性のある列を非表示にします。この制限は、Lake Formation に登録されていない Iceberg テーブルには適用されません。

  • Lake Formation に登録していないテーブルは、すべての Iceberg ストアドプロシージャをサポートしています。register_table プロシージャと migrate プロシージャは、どのテーブルでもサポートされていません。

  • V1 の代わりに Iceberg DataFrameWriterV2 を使用することをお勧めします。

  • EMR 7.10 では、RecordServer でサポートされているが、Lake Formation 登録済みテーブルへの書き込みバックなど、ネイティブ FGAC でまだサポートされていない機能を使用する場合は、RecordServer に切り替えることができます。元に戻すには、クラスターの起動時に次の設定を指定します。

    { "Classification": "spark-defaults", "Properties": { "spark.emr.lakeformation.legacy.enabled": "true" } }, { "Classification": "yarn-site", "Properties": { "spark.emr.lakeformation.legacy.enabled": "true" } }