Lake Formation のタグベースのアクセスコントロールのベストプラクティスと考慮事項 - AWS Lake Formation

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

Lake Formation のタグベースのアクセスコントロールのベストプラクティスと考慮事項

データカタログデータベース、テーブル、および列へのアクセスを制御するための LF タグは、作成、維持、および割り当てを行うことができます。

Lake Formation のタグベースのアクセスコントロールを使用するときは、以下のベストプラクティスを検討してください。

  • すべての LF タグは、データカタログリソースに割り当てられたり、プリンシパルに付与される前に、あらかじめ定義しておく必要があります。

    データレイク管理者は、必要なIAMアクセス許可を持つ LF タグ作成者を作成することで、タグ管理タスクを委任できます。データエンジニアとアナリストは、LF タグの特性と関係を決定します。その後、LF タグ作成者は、Lake Formation で LF タグを作成して管理します。

  • 複数の LF タグをデータカタログリソースに割り当てることができます。特定のキーに対する 1 つの値だけを、特定のリソースに割り当てることができます。

    例えば、データベース、テーブル、および列には、module=Ordersregion=West、および division=Consumer などを割り当てることができます。module=Orders,Customers を割り当てることはできません。

  • リソースの作成時に LF タグをリソースに割り当てることはできません。LF タグを追加できるのは、既存のリソースのみです。

  • 単一の LF タグだけではなく、LF タグ式をプリンシパルに付与できます。

    LF タグ式は、以下のようになります (擬似コードを使用)。

    module=sales AND division=(consumer OR commercial)

    この LF タグ式を付与されたプリンシパルは、module=sales division=consumer または division=commercial のいずれかが割り当てられたデータカタログリソース (データベース、テーブル、および列) 二のみアクセスできます。プリンシパルが module=sales または division=commercial を持つリソースにアクセスできるようにする場合は、同じ付与に両方を含めないでください。module=salesdivision=commercial それぞれに 1 回ずつ、合計で 2 回付与を行います。

    最もシンプルな LF タグ式は、module=sales など、1 つの LF タグだけで構成されます。

  • 複数の値を持つ LF タグに対する許可を付与されたプリンシパルは、それらの値のいずれかを持つデータカタログリソースにアクセスできます。例えば、キーが module で値が orders,customers の LF タグがユーザーに付与される場合、そのユーザーは、module=orders または module=customers が割り当てられたリソースにアクセスできます。

  • LF-TBAC メソッドを使用して Data Catalog リソースに対するデータ許可を付与するGrant with LF-Tag expressions許可が必要です。データレイク管理者と LF タグ作成者は、このアクセス許可を暗黙的に受け取ります。Grant with LFTag expressions アクセス許可を持つプリンシパルは、次の方法でリソースに対するデータアクセス許可を付与できます。

    • 名前付きリソースメソッド

    • LF タグTBAC式のみを使用する LF タグメソッド

      例えば、データレイク管理者が以下の付与を行うとします (擬似コードを使用)。

      GRANT (SELECT ON TABLES) ON TAGS module=customers, region=west,south TO user1 WITH GRANT OPTION

      この場合、 は、完全な LF タグ式 でのみ、LF タグTBACメソッド を使用して、テーブルの をSELECT他のプリンシパルに付与user1できますmodule=customers, region=west,south

  • LFTBAC メソッドと名前付きリソースメソッドの両方を持つリソースに対するアクセス許可がプリンシパルに付与されている場合、プリンシパルがリソースに対して持つアクセス許可は、両方のメソッドによって付与されるアクセス許可の和集合です。

  • Lake Formation は、アカウント間での LF タグASSOCIATEに対する DESCRIBEおよび の付与、および LFTBAC- メソッドを使用したアカウント間での Data Catalog リソースに対するアクセス許可の付与をサポートしています。いずれの場合も、プリンシパルは AWS アカウント ID です。

    注記

    Lake Formation は、LFTBAC- メソッドを使用した組織および組織単位へのクロスアカウント付与をサポートしています。この機能を使用するには、[Cross account version settings] (クロスアカウントのバージョン設定) を [Version 3] (バージョン 3) に更新する必要があります。

    詳細については、「Lake Formation でのクロスアカウントデータ共有」を参照してください。

  • 1 つのアカウントで作成されたデータカタログリソースは、同じアカウントで作成された LF タグを使用してのみタグ付けできます。あるアカウントで作成された LF タグを別のアカウントの共有リソースに関連付けることはできません。

  • Lake Formation のタグベースのアクセスコントロール (LF-TBAC) を使用して Data Catalog リソースへのクロスアカウントアクセスを許可するには、 AWS アカウントの Data Catalog リソースポリシーに追加する必要があります。詳細については、「前提条件」を参照してください。

  • LF タグのキーと LF タグの値の長さは 50 文字以下にする必要があります。

  • データカタログリソースに割り当てることができる LF タグの最大数は 50 個です。

  • 次の制限はソフト制限です。

    • 作成できる LF タグの最大数は 1,000 個です。

    • LF タグに定義できる値の最大数は 1,000 個です。

  • タグのキーと値はすべて、保存されるときに小文字に変換されます。

  • LF タグの 1 つの値だけを、特定のリソースに割り当てることができます。

  • 単一の付与で複数の LF タグがプリンシパルに付与される場合、このプリンシパルはすべての LF タグを持つデータカタログリソースのみにアクセスできます。

  • AWS Glue ETL ジョブには完全なテーブルアクセスが必要です。ETL ロールがテーブル内のすべての列にアクセスできない場合、ジョブは失敗 AWS Glue します。LF タグを列レベルで適用することはできますが、ロールがテーブルへのフルアクセスを失い、ジョブが失敗する可能性があります AWS Glue ETL。列や行のフィルタリングにデータフィルターを使用しても、この制限の影響を受けません。

  • LF タグ式の評価結果はテーブル列のサブセットのみへのアクセスであったが、一致があるときに付与される Lake Formation アクセス許可が、列全体へのアクセスを必要とするアクセス許可 (つまり、AlterDropInsert または Delete) の 1 つである場合、これらのアクセス許可のいずれも付与されません。その代わり、Describe のみが付与されます。付与された許可が All (Super) である場合は、SelectDescribe のみが付与されます。

  • ワイルドカードは LF タグと一緒には使用されません。LF タグをテーブルのすべての列に割り当てるには、テーブルに LF タグを割り当てます。これにより、テーブルのすべての列が LF タグを継承します。LF タグをデータベースのすべてのテーブルに割り当てるには、データベースに LF タグを割り当てます。これにより、データベース内のすべてのテーブルがその LF タグを継承します。