

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

# Lake Formation のタグベースのアクセスコントロールのベストプラクティスと考慮事項
<a name="lf-tag-considerations"></a>

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

Lake Formation のタグベースのアクセスコントロールを使用するときは、以下のベストプラクティスを検討してください。
+ すべての LF タグは、データカタログリソースに割り当てられたり、プリンシパルに付与される前に、あらかじめ定義しておく必要があります。

  データレイク管理者は、必要な IAM アクセス許可で *LF タグ作成者*を作成することによって、タグ管理タスクを委任できます。データエンジニアとアナリストは、LF タグの特性と関係を決定します。その後、LF タグ作成者は、Lake Formation で LF タグを作成して管理します。
+ 複数の LF タグをデータカタログリソースに割り当てることができます。特定のキーに対する 1 つの値だけを、特定のリソースに割り当てることができます。

  例えば、データベース、テーブル、および列には、`module=Orders`、`region=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=sales` と `division=commercial` それぞれに 1 回ずつ、合計で 2 回付与を行います。

  最もシンプルな LF タグ式は、`module=sales` など、1 つの LF タグだけで構成されます。
+ 複数の値を持つ LF タグに対する許可を付与されたプリンシパルは、それらの値のいずれかを持つデータカタログリソースにアクセスできます。例えば、キーが `module` で値が `orders,customers` の LF タグがユーザーに付与される場合、そのユーザーは、`module=orders` または `module=customers` が割り当てられたリソースにアクセスできます。
+ LF-TBAC 方法を使用してデータカタログリソースに対するデータアクセス許可を付与するには、`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
    ```

    この場合、`user1` は LF-TBAC 方法を使用して、ただし完全な LF タグ式 `module=customers, region=west,south` を使用して、テーブルに対する `SELECT` を他のプリンシパルに付与できます。
+ LF-TBAC 方式と名前付きリソース方式の両方を使用してリソースに対する許可がプリンシパルに付与される場合、そのプリンシパルがリソースに対して持っている許可は、両方の方式によって付与された許可を結合したものになります。
+ Lake Formation は、LF-TBAC 方法を使用した複数のアカウントでの LF タグに対する `DESCRIBE` および `ASSOCIATE` の付与と、複数のアカウントでのデータカタログに対するアクセス許可の付与をサポートしています。どちらの場合も、プリンシパルは AWS アカウント ID です。
**注記**  
Lake Formation は、LF-TBAC 方式を使用した組織および組織単位へのクロスアカウント付与はサポートします。この機能を使用するには、**[Cross account version settings]** (クロスアカウントのバージョン設定) を **[Version 3]** (バージョン 3) に更新する必要があります。

  詳細については、「[Lake Formation でのクロスアカウントデータ共有](cross-account-permissions.md)」を参照してください。
+ 1 つのアカウントで作成されたデータカタログリソースは、同じアカウントで作成された LF タグを使用してのみタグ付けできます。あるアカウントで作成された LF タグを別のアカウントの共有リソースに関連付けることはできません。
+ Lake Formation タグベースのアクセスコントロール (LF-TBAC) を使用して Data Catalog リソースへのクロスアカウントアクセスを許可するには、 AWS アカウントの Data Catalog リソースポリシーに追加する必要があります。詳細については、「[前提条件](cross-account-prereqs.md)」を参照してください。
+ LF タグのキーと LF タグの値の長さは 50 文字以下にする必要があります。
+ データカタログリソースに割り当てることができる LF タグの最大数は 50 個です。
+ 次の制限はソフト制限です。
  + 作成できる LF タグの最大数は 10,000 です。
  + LF タグに定義できる値の最大数は 1,000 個です。
+ タグのキーと値はすべて、保存されるときに小文字に変換されます。
+ LF タグの 1 つの値だけを、特定のリソースに割り当てることができます。
+ 単一の付与で複数の LF タグがプリンシパルに付与される場合、このプリンシパルはすべての LF タグを持つデータカタログリソースのみにアクセスできます。
+ LF タグ式の評価結果はテーブル列のサブセットのみへのアクセスであったが、一致があるときに付与される Lake Formation アクセス許可が、列全体へのアクセスを必要とするアクセス許可 (つまり、`Alter`、`Drop`、`Insert` または `Delete`) の 1 つである場合、これらのアクセス許可のいずれも付与されません。その代わり、`Describe` のみが付与されます。付与された許可が `All` (`Super`) である場合は、`Select` と `Describe` のみが付与されます。
+ ワイルドカードは LF タグには使用できません。LF タグをテーブルのすべての列に割り当てるには、テーブルに LF タグを割り当てます。これにより、テーブルのすべての列が LF タグを継承します。LF タグをデータベースのすべてのテーブルに割り当てるには、データベースに LF タグを割り当てます。これにより、データベース内のすべてのテーブルがその LF タグを継承します。
+  アカウントに最大 1000 個の LF タグ式を作成できます。
+  最大 50 個の LF タグ式を使用して、データカタログリソースのプリンシパルにアクセス許可を付与できます。
+  インライン LF タグ式に対するアクセス許可を付与または取り消す場合、LF タグ式のサイズは 900 バイトを超えることはできません。さらに大きな LF タグ式に対するアクセス許可を付与するには、保存された LF タグ式を使用します。詳細については、「[LF タグ式の作成](TBAC-creating-tag-expressions.md)」を参照してください。
+ フェデレーティッドカタログの LF タグサポートの一般提供リリース前に作成された既存の Redshift フェデレーティッドカタログに LF タグを追加するには、 AWS サポートチームに連絡してサポートを依頼する必要があります。