

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

# Lake Formation のタグベースのアクセス制御
<a name="tag-based-access-control"></a>

Lake Formation のタグベースのアクセス制御 (LF-TBAC) は、属性に基づいて許可を定義する認可戦略です。これらの属性は、Lake Formation で LF タグ**と呼ばれています。データカタログリソースに LF タグをアタッチし、それらの LF タグを使用して、リソースに対するアクセス許可を Lake Formation プリンシパルに付与できます。Lake Formation は、プリンシパルでリソースのタグ値と一致するタグ値にアクセス許可が付与されたときに、それらのリソースに対するオペレーションを許可します。

LF-TBAC は、急成長する環境や、ポリシー管理が煩雑になる状況で役に立ちます。

LF-TBAC は、データカタログオブジェクト (フェデレーティッドカタログ、データベース、テーブル、ビューなど) が多数ある場合に Lake Formation 許可を付与するために使用することが推奨される方式です。Lake Formation は、Amazon S3 テーブル、 Amazon Redshift データウェアハウス、SQL Server Amazon DynamoDB、Snowflake などのフェデレーティッドデータソースのフェデレーティッドカタログのタグベースのアクセスコントロールをサポートしています。

**注記**  
IAM タグと LF タグは同じではありません。これらのタグは置き換え可能ではありません。LF タグは Lake Formation アクセス許可を付与するために使用され、IAM タグは IAM ポリシーを定義するために使用されます。

## Lake Formation のタグベースのアクセス制御の仕組み
<a name="how-TBAC-works"></a>

各 LF タグは、`department=sales` や `classification=restricted` などのキーと値のペアです。キーは、`department=sales,marketing,engineering,finance` など複数の定義された値を持つことができます。

LF-TBAC 方式を使用するには、データレイク管理者とデータエンジニアが以下のタスクを実行します。


| タスク | タスクの詳細 | 
| --- | --- | 
|  1. LF タグのプロパティと関係を定義します。  | - | 
|  2. Lake Formation で LF タグ作成者を作成します。  | [LF タグ作成者の追加](TBAC-adding-tag-creator.md) | 
|  3. Lake Formation で LF タグを作成します。  | [LF タグの作成](TBAC-creating-tags.md) | 
|  4. LF タグを Data Catalog リソースに割り当てます。  | [Data Catalog リソースへの LF タグの割り当て](TBAC-assigning-tags.md) | 
|  5. LF タグをリソースに割り当てる許可 (オプションで付与オプションを使用) を他のプリンシパルに付与します。  | [LF タグ値のアクセス許可の管理](TBAC-granting-tags.md) | 
|  6. LF タグ式 (オプションで付与オプションを使用) をプリンシパルに付与します。  | [LF-TBAC 方式を使用したデータレイク許可の付与](granting-catalog-perms-TBAC.md) | 
|  7. (推奨) プリンシパルが LF-TBAC 方式を使用して正しいリソースにアクセスできることを確認した後、名前付きリソース方式を使用して付与された許可を取り消します。  | - | 

3 つのデータベースと 7 つのテーブルに対するアクセス許可を 3 人のプリンシパルに付与する必要がある場合を考えてみましょう。

![\[左側に 3 人のユーザーが垂直に配置されています。右側には、A、B、および C のラベルが付けられた 3 個のデータベースが垂直に配置されています。データベース A には A.1 および A.2 のラベルが付けられた 2 個のテーブルがあり、データベース B には B.1 および B.2 のラベルが付けられたテーブル、データベース C には C.1、C.2、および C.3 のラベルが付けられた 3 個のテーブルがあります。17 本の矢印は、ユーザーをデータベースとテーブルに結び付けており、データベースおよびテーブルに対する許可のユーザーへの付与を示しています。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/TBAC_example_discreet.png)


上の図に示されているアクセス許可を名前付きリソース方法を使用して実現するには、以下のように、17 の付与を行う必要があります (擬似コードを使用)。

```
GRANT CREATE_TABLE ON Database A TO PRINCIPAL 1
GRANT SELECT, INSERT ON Table A.1 TO PRINCIPAL 1
GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 1
GRANT SELECT, INSERT ON Table B.2 TO PRINCIPAL 1
...
GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 2
GRANT CREATE_TABLE ON Database B TO PRINCIPAL 2
...
GRANT SELECT, INSERT ON Table C.3 TO PRINCIPAL 3
```

今度は、LF-TBAC を使用してアクセス許可を付与する方法を考えてみます。次の図は、LF タグをデータベースとテーブルに割り当てて、LF タグに対するアクセス許可をプリンシパルに付与したことを示しています。

この例では、LF タグが、エンタープライズリソースプランニング (ERP) アプリケーションスイートの異なるモジュールの分析が含まれるデータレイクの領域を表しています。さまざまなモジュールの分析データへのアクセスを制御するために使用できます。すべての LF タグは、`module` というキーと、`Sales`、`Orders`、および `Customers` の可能な値を持っています。LF タグの例は以下のようになります。

```
module=Sales
```

この図は LF タグの値のみを示しています。

![\[前の図と同様に、左側に 3 人のユーザーが垂直に配置されており、右側には A、B、および C のラベルが付けられた 3 個のデータベースが垂直に配置されています。データベース A には A.1 および A.2 のラベルが付けられた 2 個のテーブルがあり、データベース B には B.1 および B.2 のラベルが付けられたテーブル、データベース C には C.1、C.2、および C.3 のラベルが付けられた 3 個のテーブルがあります。ユーザーと、データベースとテーブルの間に矢印はありません。その代わりに、ユーザーの横にあるラベル付けされた「フラグ」が、ユーザー 1 に Sales (売上) および Customers (顧客) の LF タグが付与され、ユーザー 2 には Orders (注文) の LF タグ、ユーザー 3 には Customers (顧客) の LF タグが付与されていることを示しています。データベースとテーブルの横にあるフラグは、データベースとテーブルへの次のような LF タグの割り当てを示しています。データベース A: Sales (売上)。テーブル A.1: 淡色表示のフラグによって、Sales (売上) がデータベース A から継承されたことが示されています。テーブル A.2: Orders (注文)。ただし、淡色表示のフラグによって、Sales (売上) がデータベース A から継承されたことが示されています。データベース B: Orders (注文)。テーブル B.1 と B.2 は Orders (注文) を継承しており、テーブル B.2 には Customers (顧客) があります。データベース C には Customers (顧客) があり、テーブル C.1、C.2、および C.3 は Customers (顧客) を継承しています。C のテーブルに他の割り当てはありません。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/TBAC_example_tags.png)


**Data Catalog リソースへのタグ割り当てと継承**  
テーブルはデータベースから LF タグを継承し、列はテーブルから LF タグを継承します。継承された値は上書きすることができます。上記の図では、淡色表示の LF タグが継承されています。

継承が行われるため、データレイク管理者は、リソースに対して以下の 5 つの LF タグの割り当てを行うだけで済みます (擬似コードを使用)。

```
ASSIGN TAGS module=Sales TO database A
ASSIGN TAGS module=Orders TO table A.2
ASSIGN TAGS module=Orders TO database B
ASSIGN TAGS module=Customers TO table B.2
ASSIGN TAGS module=Customers TO database C
```

**プリンシパルへのタグの付与**  
データベースとテーブルに LF タグを割り当てた後、データレイク管理者は、以下のようにプリンシパルに対して LF タグを 4 回付与するだけで済みます (擬似コードを使用)。

```
GRANT TAGS module=Sales TO Principal 1
GRANT TAGS module=Customers TO Principal 1
GRANT TAGS module=Orders TO Principal 2
GRANT TAGS module=Customers TO Principal 3
```

これで、LF タグ `module=Sales` を持つプリンシパルは LF タグ `module=Sales` を持つ Data Catalog リソース (例えば、データベース A) にアクセスでき、LF タグ `module=Customers` を持つプリンシパルは LF タグ `module=Customers` を持つリソースにアクセスできる、というようになります。

上記の grant コマンドは不完全です。これらは、プリンシパルが許可を持つ Data Catalog リソースを LF タグで示してはいるものの、プリンシパルがそれらのリソースに対してどの Lake Formation 許可 (`SELECT`、`ALTER` など) を持っているかを正確に示していないためです。したがって、以下の擬似コードのコマンドが、LF タグを使用して Data Catalog リソースに対する Lake Formation 許可を付与する方法のより正確な表現になります。

```
GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Sales TO Principal 1
GRANT (SELECT, INSERT ON TABLES)  ON TAGS module=Sales TO Principal 1
GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 1
GRANT (SELECT, INSERT ON TABLES)  ON TAGS module=Customers TO Principal 1
GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Orders TO Principal 2
GRANT (SELECT, INSERT ON TABLES)  ON TAGS module=Orders TO Principal 2
GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 3
GRANT (SELECT, INSERT ON TABLES)  ON TAGS module=Customers TO Principal 3
```

**まとめ – 結果として得られたリソースに対するアクセス許可**  
以下の表は、上記の図のデータベースとテーブルに割り当てられた LF タグと、図の中でプリンシパルに付与された LF タグを前提とした、プリンシパルが持つデータベースとテーブルに対する Lake Formation 許可のリストです。


| プリンシパル | LF タグを通じて付与された許可 | 
| --- | --- | 
| プリンシパル 1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/tag-based-access-control.html)  | 
| プリンシパル 2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/tag-based-access-control.html)  | 
| プリンシパル 3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/tag-based-access-control.html)  | 

**結論**  
このシンプルな例では、5 つの割り当て操作と 8 つの付与操作を使用することで、データレイク管理者が 17 個の許可を指定できました。何十個ものデータベースと、数百個ものテーブルがあるときは、名前付きリソース方式に勝る LF-TBAC 方式の利点が明白になります。すべてのプリンシパルにすべてのリソースへのアクセス権を付与する必要があり、`n(P)` をプリンシパルの数、`n(R)` をリソースの数とする仮定上のケースでは、以下のようになります。
+ 名前付きリソース方式では、必要な付与数が `n(P)` × `n(R)` 個になります。
+ 単一の LF タグを使用する LF-TBAC 方式では、プリンシパルへの付与とリソースへの割り当ての合計数が `n(P)` \$1 `n(R)` 個になります。

**関連情報**  
[メタデータアクセスコントロールのための LF タグの管理](managing-tags.md)
[LF-TBAC 方式を使用したデータレイク許可の付与](granting-catalog-perms-TBAC.md)

**Topics**
+ [Lake Formation のタグベースのアクセス制御の仕組み](#how-TBAC-works)
+ [メタデータアクセスコントロールのための LF タグの管理](managing-tags.md)
+ [メタデータアクセスコントロールのための LF タグ式の管理](managing-tag-expressions.md)
+ [LF タグ値のアクセス許可の管理](TBAC-granting-tags.md)

# メタデータアクセスコントロールのための LF タグの管理
<a name="managing-tags"></a>

Lake Formation のタグベースのアクセスコントロール (LF-TBAC) 方式を使用して、データカタログオブジェクト (カタログ、データベース、テーブル、および列) をセキュリティで保護するには、LF タグを作成し、それらをリソースに割り当てて、LF タグアクセス許可をプリンシパルに付与します。

LF タグをデータカタログオブジェクトに割り当てたり、アクセス許可をプリンシパルに付与したりする前に、LF タグを定義する必要があります。LF タグを作成できるのは、データレイク管理者または LF タグ作成者アクセス許可を持つプリンシパルのみです。

**LF タグ作成者**  
LF タグ作成者は、LF タグを作成および管理するアクセス許可を持つ非管理者プリンシパルです。データレイク管理者は、Lake Formation コンソールまたは CLI を使用して LF タグ作成者を追加できます。LF タグ作成者には、LF タグを更新および削除したり、LF タグをリソースに割り当てたり、他のプリンシパルに LF タグアクセス許可と LF タグ値アクセス許可を付与したりするための暗黙の Lake Formation アクセス許可があります。

LF タグ作成者のロールにより、データレイク管理者はタグキーや値の作成や更新などのタグ管理タスクを管理者以外のプリンシパルに委任できます。データレイク管理者は LF タグ作成者に付与可能な `Create LF-Tag` アクセス許可を付与することもできます。その後、LF タグ作成者は、LF タグを作成するアクセス許可を他のプリンシパルに付与できます。

 LF タグに対する次の 2 種類のアクセス許可を付与できます。
+ LF タグアクセス許可 - `Create LF-Tag`、`Alter`、および `Drop`。これらのアクセス許可は、LF タグの作成、更新、および削除に必要です。

  データレイク管理者と LF タグ作成者は、作成した LF タグに対するこれらのアクセス許可を暗黙的に持ち、これらのアクセス許可をプリンシパルに明示的に付与し、データレイク内のタグを管理できます。
+ LF タグのキーと値のペアのアクセス許可 - `Assign`、`Describe`、および `Grant with LF-Tag expressions`。これらのアクセス許可は、LF タグをデータカタログオブジェクトに割り当てたり、Lake Formation タグベースのアクセスコントロールを使用してリソースに対するアクセス許可をプリンシパルに付与したりするために必要です。LF タグ作成者は、LF タグを作成するときに、これらのアクセス許可を暗黙的に受け取ります。

`Create LF-Tag` アクセス許可を受け取り、LF タグの作成に成功すると、LF タグ作成者は、LF タグをリソースに割り当てて、LF タグアクセス許可 (`Create LF-Tag`、`Alter`、`Drop`) を管理者以外の他のプリンシパルに付与して、データレイク内のタグを管理できます。Lake Formation コンソール、API、または AWS Command Line Interface () を使用して LF タグを管理できますAWS CLI。

**注記**  
 データレイク管理者は、LF タグの作成、更新、削除、LF タグのリソースへの割り当て、および LF タグアクセス許可のプリンシパルへの付与を行う暗黙的な Lake Formation アクセス許可を持っています。

ベストプラクティスと考慮事項については、「[Lake Formation のタグベースのアクセスコントロールのベストプラクティスと考慮事項](lf-tag-considerations.md)」を参照してください。

**Topics**
+ [LF タグ作成者の追加](TBAC-adding-tag-creator.md)
+ [LF タグの作成](TBAC-creating-tags.md)
+ [LF タグの更新](TBAC-updating-tags.md)
+ [LF タグの削除](TBAC-deleting-tags.md)
+ [LF タグのリスト化](TBAC-listing-tags.md)
+ [Data Catalog リソースへの LF タグの割り当て](TBAC-assigning-tags.md)
+ [リソースに割り当てられた LF タグの表示](TBAC-view-resource-tags.md)
+ [LF タグが割り当てられているリソースの表示](TBAC-view-tag-resources.md)
+ [LF タグのライフサイクル](#lf-tag-life-cycle)
+ [Lake Formation のタグベースのアクセス制御と IAM の属性ベースのアクセス制御の比較](#TBAC-comparison-ABAC)

**関連情報**  
[LF タグ値のアクセス許可の管理](TBAC-granting-tags.md)
[LF-TBAC 方式を使用したデータレイク許可の付与](granting-catalog-perms-TBAC.md)
[Lake Formation のタグベースのアクセス制御](tag-based-access-control.md)

# LF タグ作成者の追加
<a name="TBAC-adding-tag-creator"></a>

 デフォルトでは、データレイク管理者は、LF タグの作成、更新、削除、データカタログオブジェクトへのタグの割り当て、プリンシパルへのタグアクセス許可の付与を行うことができます。タグの作成および管理操作を管理者以外のプリンシパルに委任する場合、データレイク管理者は LF タグ作成者ロールを作成して、Lake Formation `Create LF-Tag` アクセス許可をロールに付与することができます。付与可能な `Create LF-Tag` アクセス許可がある場合、LF タグ作成者は、タグの作成およびメンテナンスタスクを管理者以外の他のプリンシパルに委任できます。

データレイク管理者が LF タグをデータカタログリソースに割り当てるには、自身が作成したものではない LF タグに対する関連付けアクセス許可を、自身に付与することが必要になります。

**注記**  
クロスアカウントアクセス許可の付与には、`Describe` および `Associate` アクセス許可のみを含めることができます。`Create LF-Tag`、`Drop`、`Alter`、および `Grant with LFTag expressions` アクセス許可を別のアカウントのプリンシパルに付与することはできません。

**Topics**
+ [LF タグの作成に必要な IAM アクセス許可](#tag-creator-permissions)
+ [LF タグ作成者の追加](#add-lf-tag-creator)

**関連情報**  
[LF タグ値のアクセス許可の管理](TBAC-granting-tags.md)
[LF-TBAC 方式を使用したデータレイク許可の付与](granting-catalog-perms-TBAC.md)
[Lake Formation のタグベースのアクセス制御](tag-based-access-control.md)

## LF タグの作成に必要な IAM アクセス許可
<a name="tag-creator-permissions"></a>

 Lake Formation のプリンシパルが LF タグを作成できるようにアクセス許可を設定する必要があります。LF タグ作成者になる必要があるプリンシパルのアクセス許可ポリシーに、以下のステートメントを追加します。

**注記**  
データレイク管理者は、LF タグの作成、更新、削除、LF タグのリソースへの割り当て、および LF タグのプリンシパルへの付与を行う暗黙的な Lake Formation アクセス許可を持っていますが、データレイク管理者には以下の IAM アクセス許可も必要です。

詳細については、「[Lake Formation のペルソナと IAM 許可のリファレンス](permissions-reference.md)」を参照してください。

```
{
"Sid": "Transformational",
"Effect": "Allow",
    "Action": [
        "lakeformation:AddLFTagsToResource",
        "lakeformation:RemoveLFTagsFromResource",
        "lakeformation:GetResourceLFTags",
        "lakeformation:ListLFTags",
        "lakeformation:CreateLFTag",
        "lakeformation:GetLFTag",
        "lakeformation:UpdateLFTag",
        "lakeformation:DeleteLFTag",
        "lakeformation:SearchTablesByLFTags",
        "lakeformation:SearchDatabasesByLFTags"
     ]
 }
```

リソースに LF タグを付与し、プリンシパルに LF タグを付与するプリンシパルは、`CreateLFTag`、`UpdateLFTag`、および `DeleteLFTag` 許可を除き、同じ許可を持っている必要があります。

## LF タグ作成者の追加
<a name="add-lf-tag-creator"></a>

LF タグ作成者は、LF タグの作成、タグのキーと値の更新、タグの削除、データカタログリソースへのタグの関連付け、および LF-TBAC 方法を使用して、プリンシパルへのデータカタログリソースに対するアクセス許可の付与を行うことができます。LF タグ作成者は、これらのアクセス許可をプリンシパルに付与することもできます。

LF タグ作成者ロールは、 AWS Lake Formation コンソール、 API、または AWS Command Line Interface () を使用して作成できますAWS CLI。

------
#### [ console ]

**LF タグ作成者を追加するには**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬) を開きます。

   データレイク管理者としてサインインします。

1. ナビゲーションペインで、**[アクセス許可]** の **[LF タグとアクセス許可]** を選択します。

   **[LF タグとアクセス許可]** ページで、**[LF タグ作成者]** セクションを選択し、**[LF タグ作成者の追加]** を選択します。  
![\[LF-Tag creator details form with IAM ユーザー selection and permission options.\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/add-lf-tag-creator.png)

1. **[LF タグ作成者の追加]** ページで、LF タグの作成に必要なアクセス許可を持つ IAM ロールまたはユーザーを選択します。

1. [`Create LF-Tag` アクセス許可] チェックボックスをオンにします。

1. (オプション) 選択したプリンシパルが `Create LF-Tag` アクセス許可をプリンシパルに付与できるようにするには、[付与可能な `Create LF-Tag` アクセス許可] を選択します。

1. **[Add]** (追加) を選択します。

------
#### [ AWS CLI ]

```
aws lakeformation grant-permissions --cli-input-json file://grantCreate
{
    "Principal": {
        "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:user/tag-manager"
    },
    "Resource": {
        "Catalog": {}
    },
    "Permissions": [
        "CreateLFTag"
    ],
    "PermissionsWithGrantOption": [
        "CreateLFTag"
    ]
}
```

------

LF タグ作成者ロールで利用できるアクセス許可は次のとおりです。


| アクセス許可 | 説明 | 
| --- | --- | 
| Drop | LF タグに対するこのアクセス許可を持つプリンシパルは、データレイクから LF タグを削除できます。プリンシパルは、LF タグリソースのすべてのタグ値に対する暗黙的な Describe アクセス許可を取得します。 | 
| Alter | LF タグに対するこのアクセス許可を持つプリンシパルは、LF タグにタグ値を追加したり、LF タグからタグ値を削除したりできます。プリンシパルは、LF タグリソースのすべてのタグ値に対する暗黙的な Alter アクセス許可を取得します。 | 
| Describe | LF タグに対するこのアクセス許可を持つプリンシパルは、LF タグをリソースに割り当てるとき、または LF タグに対するアクセス許可を付与するときに、LF タグとその値を表示できます。すべてのキーの値、または特定のキーの値に対する Describe を付与することができます。 | 
| Associate | LF タグに対してこの許可を持つプリンシパルは、LF タグを Data Catalog リソースに割り当てることができます。Associate の付与は、Describe を黙示的に付与します。 | 
| Grant with LF-Tag expression | LF タグに対するこのアクセス許可を持つプリンシパルは、LF タグのキーと値を使用して、データカタログリソースに対するアクセス許可を付与できます。Grant with LF-Tag expression の付与は、Describe を黙示的に付与します。 | 

これらの許可は付与可能です。これらの許可を grant オプションと共に付与されたプリンシパルは、これらを他のプリンシパルに付与できます。

# LF タグの作成
<a name="TBAC-creating-tags"></a>

すべての LF タグは、使用前に Lake Formation で定義される必要があります。LF タグは、キーと、キーに対する 1 つ以上の可能な値で構成されます。

 データレイク管理者が LF タグ作成者ロールに必要な IAM アクセス許可と Lake Formation アクセス許可を設定したら、プリンシパルは LF タグを作成できます。LF タグ作成者は、LF タグの任意のタグ値を更新または削除したり、LF タグを削除したりする暗黙的なアクセス許可を取得します。

 AWS Lake Formation コンソール、API、または AWS Command Line Interface () を使用して LF タグを作成できますAWS CLI。

------
#### [ Console ]

**LF タグを作成するには**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   LF タグ作成者アクセス許可を持つプリンシパルまたはデータレイク管理者としてサインインします。

1. ナビゲーションペインの **[アクセス許可]** で、**[LF タグとアクセス許可]** の **[LF タグ]** を選択します。

   **[LF-Tags]** (LF タグ) ページが表示されます。  
![\[このページには、[キー]、[値]、[所有者アカウント ID]、[LF タグアクセス許可] という列見出しを持つ 4 列のテーブルがあります。テーブルには 2 つの行があります。テーブルの上には、[削除] (グレー表示)、[編集] (グレー表示)、[アクセス許可を付与] (グレー表示)、[タグを追加] という 4 つのボタンが水平に配置されています。このページには、「Find tag」(タグを検索) というプレースホルダーテキストが表示されている検索フィールドもあります。検索フィールドの右側には、左方向ボタンと右方向ボタンの間に値「1」が表示されたページセレクターと、設定アイコンがあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/policy-tags-page-2.png)

1. **[Add LF-Tag]** (LF タグを追加) を選択します。

1. **[Add LF-Tag]** (LF タグの追加) ダイアログボックスで、キーと、1 つまたは複数の値を入力します。

   各キーには、少なくとも 1 つの値が必要です。複数の値を入力するには、カンマ区切りのリストを入力してから **[Enter]** キーを押すか、一度に 1 つの値を入力し、入力するたびに **[Add]** (追加) を選択します。許可される値の最大数は 1000 です。

1. **[Add tag]** (タグを追加) を選択します。

------
#### [ AWS CLI ]

**LF タグを作成するには**
+ `create-lf-tag` コマンドを入力します。

  次の例は、キー `module` と値 `Customers` および `Orders` を持つ LF タグを作成します。

  ```
  aws lakeformation create-lf-tag --tag-key module --tag-values Customers Orders
  ```

------

 タグ作成者になると、プリンシパルは、この LF タグに対する `Alter` アクセス許可を取得し、この LF タグの任意のタグ値を更新または削除できます。LF タグ作成者プリンシパルは、この LF タグのタグ値を更新および削除する `Alter` アクセス許可を他のプリンシパルに付与することもできます。

# LF タグの更新
<a name="TBAC-updating-tags"></a>

`Alter` アクセス許可がある LF タグを更新するには、許可されたキー値を追加または削除します。LF タグのキーを変更することはできません。キーを変更するには、LF タグを削除して、必要なキーを持つ LF タグを追加します。値を更新するには、`Alter` アクセス許可のほかに、`lakeformation:UpdateLFTag` IAM アクセス許可も必要です。

LF タグの値を削除するときには、データカタログリソースにその LF タグの値が存在するかどうかのチェックは実行されません。削除された LF タグの値がリソースに関連付けられていた場合、この値はそのリソースで認識されなくなり、そのキーと値のペアに対するアクセス許可が付与されたプリンシパルはアクセス許可を失います。

LF タグの値を削除する前に、オプションで [`remove-lf-tags-from-resource` コマンド](TBAC-assigning-tags.md#remove-tag-command)を使用して、削除する値があるデータカタログリソースから LF タグを削除してから、保持したい値でリソースにタグを付け直すことができます。

データレイク管理者、LF タグ作成者、および LF タグに対する `Alter` アクセス許可を持つプリンシパルのみが、LF タグを更新できます。

 AWS Lake Formation コンソール、API、または AWS Command Line Interface () を使用して LF タグを更新できますAWS CLI。

------
#### [ Console ]

**LF タグを更新する (コンソール)**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   データレイク管理者、LF タグ作成者、または LF タグに対する `Alter` アクセス許可を持つプリンシパルとしてサインインします。

1. ナビゲーションペインの **[アクセス許可]** で、**[LF タグとアクセス許可]** の **[LF タグ]** を選択します。

1. **[LF タグ]** ページで、LF タグを選択し、**[編集]** を選択します。

1. **[LF タグの編集]** ダイアログボックスで、LF タグの値を追加または削除します。

   複数の値を追加するには、**[Values]** (値) フィールドで、カンマ区切りのリストを入力して **[Enter]** キーを押すか、一度に 1 つの値を入力して、入力するたびに **[Add]** (追加) を選択します。

1. **[Save]** (保存) を選択します。

------
#### [ AWS CLI ]

**LF タグを更新するには (AWS CLI)**
+ `update-lf-tag` コマンドを入力します。以下の引数の 1 つ、または両方を入力します。
  + `--tag-values-to-add`
  + `--tag-values-to-delete`

**Example**  
次の例は、LF タグのキー `level` の値 `vp` を値 `vice-president` に置き換えます。  

```
aws lakeformation update-lf-tag --tag-key level --tag-values-to-add vice-president 
--tag-values-to-delete vp
```

------

# LF タグの削除
<a name="TBAC-deleting-tags"></a>

使用されなくなった LF タグは、削除することができます。データカタログリソースに LF タグが存在するかどうかのチェックは実行されません。削除された LF タグがリソースに関連付けられていた場合、この値はそのリソースで認識されなくなり、その LF タグに対する許可が付与されていたプリンシパルはアクセス許可を失います。

LF タグを削除する前に、オプションで [`remove-lf-tags-from-resource`](TBAC-assigning-tags.md#remove-tag-command) コマンドを使用して、すべてのリソースからその LF タグを削除することができます。

データレイク管理者、LF タグ作成者、および LF タグに対する `Drop` アクセス許可を持つプリンシパルのみが、LF タグを削除できます。プリンシパルが LF タグを削除するには、`Drop` アクセス許可のほかに、`lakeformation:DeleteLFTag` IAM アクセス許可も必要です。

 AWS Lake Formation コンソール、API、または AWS Command Line Interface () を使用して LF タグを削除できますAWS CLI。

------
#### [ Console ]

**LF タグを削除するには (コンソール)**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   データレイク管理者としてサインインします。

1. ナビゲーションペインの **[アクセス許可]** で、**[LF タグとアクセス許可]** の **[LF タグ]** を選択します。

1. **[LF タグ]** ページで、LF タグを選択し、**[削除]** を選択します。

1. **[タグ環境を削除しますか?]** ダイアログボックスで、削除を確定するには、LF タグのキー値を指定フィールドに入力し、**[削除]** を選択します。

------
#### [ AWS CLI ]

**LF タグを削除するには (AWS CLI)**
+ `delete-lf-tag` コマンドを入力します。削除する LF タグのキーを指定します。  
**Example**  

  次の例は、キー `region` を持つ LF タグを削除します。

  ```
  aws lakeformation delete-lf-tag --tag-key region
  ```

------

# LF タグのリスト化
<a name="TBAC-listing-tags"></a>

`Describe` または `Associate` 許可を持っている LF タグをリストすることができます。LF タグの各キーと共にリストされる値は、アクセス許可を持っている値です。

LF タグ作成者には、作成した LF タグを表示する暗黙的なアクセス許可があります。

データレイク管理者は、ローカル AWS アカウントで定義されたすべての LF タグと、`Describe` および `Associate` 許可が外部アカウントからローカルアカウントに付与されたすべての LF タグを表示することができます。データレイク管理者は、すべての LF タグのすべての値を表示することができます。

 AWS Lake Formation コンソール、API、または () を使用して LF タグを AWS Command Line Interface 一覧表示できますAWS CLI。

------
#### [ Console ]

**LF タグをリストする (コンソール)**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   LF タグ作成者、データレイク管理者、または LF タグに対するアクセス許可を付与され、`lakeformation:ListLFTags` IAM 許可を持つプリンシパルとしてサインインします。

1. ナビゲーションペインの **[アクセス許可]** で、**[LF タグとアクセス許可]** の **[LF タグ]** を選択します。

   **[LF-Tags]** (LF タグ) ページが表示されます。  
![\[このページには、列の見出しが [Key] (キー)、[Values] (値)、および [Owner account ID] (所有者アカウント ID) になっている 3 列の表があります。テーブルには 2 つの行があります。表の上には、ページの再ロード、[Delete] (削除) (グレー表示)、[Edit] (編集) (灰色表示)、および [Add Tag] (タグを追加) の 4 つのボタンが水平に配置されています。このページには、「Find tag」(タグを検索) というプレースホルダーテキストが表示されている検索フィールドもあります。検索フィールドの右側には、左方向ボタンと右方向ボタンの間に値「1」が表示されたページセレクターと、設定アイコンがあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/policy-tags-page-2.png)

   **[所有者アカウント ID]** 列をチェックして、外部アカウントからアカウントと共有された LF タグを判別します。

------
#### [ AWS CLI ]

**LF タグをリストする (AWS CLI)**
+ 以下のコマンドを、データレイク管理者、または LF タグに対する許可を付与され、`lakeformation:ListLFTags` IAM 許可を持つプリンシパルとして実行します。

  ```
  aws lakeformation list-lf-tags
  ```

  出力は以下のようになります。

  ```
  {
      "LFTags": [
          {
              "CatalogId": "111122223333",
              "TagKey": "level",
              "TagValues": [
                  "director",
                  "vp",
                  "c-level"
              ]
          },
          {
              "CatalogId": "111122223333",
              "TagKey": "module",
              "TagValues": [
                  "Orders",
                  "Sales",
                  "Customers"
              ]
          }
      ]
  }
  ```

  外部アカウントから付与された LF タグも表示するには、コマンドオプション `--resource-share-type ALL` を含めます。

  ```
  aws lakeformation list-lf-tags --resource-share-type ALL
  ```

  出力は以下のようになります。リストする LF タグがまだあることを示す `NextToken` キーに注意してください。

  ```
  {
      "LFTags": [
          {
              "CatalogId": "111122223333",
              "TagKey": "level",
              "TagValues": [
                  "director",
                  "vp",
                  "c-level"
              ]
          },
          {
              "CatalogId": "111122223333",
              "TagKey": "module",
              "TagValues": [
                  "Orders",
                  "Sales",
                  "Customers"
              ]
          }
      ],
      "NextToken": "eyJleHBpcmF0aW...ZXh0Ijp0cnVlfQ=="
  }
  ```

  引数 `--next-token` を追加してコマンドを繰り返し、残りのローカル LF タグと、外部アカウントから付与された LF タグを表示します。外部アカウントからの LF タグは、常に個別のページに表示されます。

  ```
  aws lakeformation list-lf-tags --resource-share-type ALL 
  --next-token eyJleHBpcmF0aW...ZXh0Ijp0cnVlfQ==
  ```

  ```
  {
      "LFTags": [
          {
              "CatalogId": "123456789012",
              "TagKey": "region",
              "TagValues": [
                  "central",
                  "south"
              ]
          }
      ]
  }
  ```

------
#### [ API ]

Lake Formation に利用できる SDK を使用して、リクエスト元が表示する許可を持っているタグをリストすることができます。

```
import boto3

client = boto3.client('lakeformation')
...

response = client.list_lf_tags(
    CatalogId='string',
    ResourceShareType='ALL',
    MaxResults=50'
)
```

このコマンドは、以下の構造で `dict` オブジェクトを返します。

```
{
    'LFTags': [
        {
            'CatalogId': 'string',
            'TagKey': 'string',
            'TagValues': [
                'string',
            ]
        },
    ],
    'NextToken': 'string'
}
```

------

必要な許可の詳細については、「[Lake Formation のペルソナと IAM 許可のリファレンス](permissions-reference.md)」を参照してください。

# Data Catalog リソースへの LF タグの割り当て
<a name="TBAC-assigning-tags"></a>

LF タグを Data Catalog リソース (データベース、テーブル、および列) に割り当てて、それらのリソースへのアクセスを制御できます。リソースにアクセスできるのは、一致する LF タグが付与されたプリンシパル (および名前付きリソース方式でアクセス権が付与されたプリンシパル) のみです。

テーブルがデータベースから LF タグを継承する場合、または列がテーブルからLF タグを継承する場合は、LF タグのキーに新しい値を割り当てることで、継承された値を上書きできます。

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

**Topics**
+ [リソースに割り当てられたタグの管理に関する要件](#manage-tags-reqs)
+ [LF タグをテーブル列に割り当てる](#assign-tag-column)
+ [LF タグをデータカタログリソースに割り当てる](#assign-tag-catalog-resource)
+ [リソースの LF タグ の更新](#update-tags)
+ [リソースからの LF タグの削除](#remove-tag)

## リソースに割り当てられたタグの管理に関する要件
<a name="manage-tags-reqs"></a>

LF タグを Data Catalog リソースに割り当てるには、以下の要件を満たす必要があります。
+ LF タグに対する Lake Formation の `ASSOCIATE` 許可がある。
+ IAM `lakeformation:AddLFTagsToResource` の許可がある。
+ Glue データベースに対する glue: GetDatabase 許可を持っている。
+ リソース所有者 (作成者) である、リソースに対する `GRANT` オプション付きの `Super` Lake Formation 許可を持っている、または `GRANT` オプション付きの以下の許可を持っている。
  + 同じ AWS アカウントのデータベースの場合: `DESCRIBE`、`CREATE_TABLE`、`ALTER`、および `DROP` 
  + 外部アカウント内のデータベースの場合: `DESCRIBE`、`CREATE_TABLE`、および `ALTER`
  + テーブル (および列) の場合: `DESCRIBE`、`ALTER`、`DROP`、`INSERT`、`SELECT`、および `DELETE`

さらに、LF タグとそれが割り当てられているリソースは、同じ AWS アカウントにある必要があります。

データカタログリソースから LF タグを削除するには、これらの要件を満たすとともに、`lakeformation:RemoveLFTagsFromResource` IAM アクセス許可も持っている必要があります。

## LF タグをテーブル列に割り当てる
<a name="assign-tag-column"></a>

**LF タグをテーブル列に割り当てるには (コンソール)**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   上記の要件を満たすユーザーとしてサインインします。

1. ナビゲーションペインで **[Table]** (テーブル) を選択します。

1. テーブル名を選択します (テーブル名の横にあるオプションボタンではありません)。

1. テーブルの詳細ページの **[Schema]** (スキーマ) セクションで、**[Edit schema]** (スキーマを編集) を選択します。

1. 「**スキーマの編集**」 ページで、1 つまたは複数の列を選択してから、**[LF タグを編集]** を選択します。
**注記**  
列を追加または削除して、新しいバージョンを保存する予定の場合は、最初にそれらを実行してください。その後、LF タグを編集します。

   **[LF タグの編集]** ダイアログボックスが表示され、テーブルから継承された LF タグが表示されます。  
![\[この画像は、[Edit LF-Tags] (LF タグの編集) ダイアログウィンドウのスクリーンショットです。ウィンドウの上部には、2 つの継承されたキーが表示されています。最初の継承されたキーには、「level」(レベル) のキーと「director (inherited)」(ディレクター (継承)) の値があります。2 番目の継承されたキーには、「module」(レベル) のキーと「Orders (inherited)」(注文 (継承)) の値があります。これらのフィールドの下に「Assign new LF-Tag」(新しい LF タグを割り当てる) ボタンがあります。その下の右側には、[Cancel] (キャンセル) ボタンと [Save] (保存) ボタンがあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/edit-policy-tags-for-columns-2a.png)

1. (オプション) **[Inherited keys]** (継承されたキー) フィールドの横にある**[Values]**(値) リストで、継承された値を上書きする値を選択します。

1. (オプション) **[Assign new LF-Tag]** (新しい LF タグを割り当てる) を選択します。その後、**[Assigned keys]** (割り当てられたキー) でキーを選択し、**[Values]** (値) でキーの値を選択します。  
![\[この画像は、[Edit LF-Tags] (LF タグの編集) ダイアログウィンドウのスクリーンショットです。ウィンドウの上部には、2 つの継承されたキーが表示されています。最初の継承されたキーには、「level」(レベル) のキーと「director (inherited)」(ディレクター (継承)) の値があります。2 番目の継承されたキーには、「module」(レベル) のキーと「Orders (inherited)」(注文 (継承)) の値があります。このセクションの下には、「Assigned keys」(割り当てられたキー) フィールド、「Values」(値) フィールド、および「Remove」(削除) ボタンのフィールドとコントロールが水平に配置されています。[Assigned keys] (割り当てられたキー) フィールドには、「environment」(環境)というテキストが表示されています。[Values] (値) フィールドはドロップダウンリストで、「Production」(生産) (強調表示) と 「Customers」(顧客) の値が表示されています。[Assigned keys] (割り当てられたキー) フィールドの下に [Assign new LF-Tag] (新しい LF タグを割り当てる) ボタンが表示されています。ウィンドウの右下には、[Cancel] (キャンセル) ボタンと [Save] (保存) ボタンがあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/edit-policy-tags-for-columns-2b.png)

1. (オプション) **[新しい LF タグを割り当てる]** を再度選択して、別の LF タグを追加します。

1. **[Save]** (保存) を選択します。

## LF タグをデータカタログリソースに割り当てる
<a name="assign-tag-catalog-resource"></a>

------
#### [ Console ]

**LF タグをデータカタログデータベースまたはテーブルに割り当てるには**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   前述の要件を満たすユーザーとしてサインインします。

1. ナビゲーションペインの **[Data catalog]** で、以下のいずれかを実行します。
   + LF タグをデータベースに割り当てるには、**[データベース]** を選択します。
   + LF タグをテーブルに割り当てるには、**[テーブル]** を選択します。

1. データベースまたはテーブルを選択し、**[アクション]** メニューで **[LF タグを編集]** を選択します。

   **[Edit LF-Tags: *resource-name*]** (LF タグの編集: リソース名) ダイアログボックスが表示されます。

   テーブルが格納先のデータベースから LF タグを継承した場合、継承された LF タグがウィンドウに表示されます。それ以外の場合は、「There are no inherited LF-Tags associated with the resource.」(このリソースに、継承された LF タグは関連付けられていません。) というテキストが表示されます。  
![\[この画像は、「Edit LF-Tags: inventory] (LF タグの編集: inventory) ダイアログウィンドウのスクリーンショットです。上部には、「Inherited keys」(継承されたキー) (グレー表示) と「Values」(値) のフィールドがあります。[Inherited keys] (継承されたキー) フィールドには「level」(レベル) の値があり、[Values] (値) フィールドの値は「director (inherited)」(ディレクター (継承)) の値があります。このセクションの下には、「Assigned keys」(割り当てられたキー) フィールド、「Values」(値) フィールド、および「Remove」(削除) ボタンのフィールドとコントロールが水平に配置されています。[Assigned keys] (割り当てられたキー) フィールドには、「module」(モジュール)というテキストが表示されています。[Values] (値) フィールドはドロップダウンリストで、「Orders」(注文)、「Sales」(売上)、および「Customers」(顧客) (強調表示) の値が表示されています。[Assigned keys] (割り当てられたキー) フィールドの下に [Assign new LF-Tag] (新しい LF タグを割り当てる) ボタンがあります。ウィンドウの右下には、[Cancel] (キャンセル) ボタンと [Save] (保存) ボタンがあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/edit-policy-tags-for-tables-2.png)

1. (オプション) テーブルに継承された LF タグがある場合、**[継承されたキー]** フィールドの横の **[値]** リストで、継承された値をオーバーライドする値を選択することができます。

1. 新しい LF タグを割り当てるには、以下の手順を実行します。

   1. **[Assign new LF-Tag]** (新しい LF タグを割り当てる) を選択します。

   1. **[割り当てられたキー]** フィールドで LF タグのキーを選択し、**[値]** フィールドで値を選択します。

   1. (オプション) **[新しい LF タグを割り当てる]** を再度選択して、追加の LF タグを割り当てます。

1. **[Save]** (保存) を選択します。

------
#### [ AWS CLI ]

**LF タグをデータカタログリソースに割り当てるには**
+ `add-lf-tags-to-resource` コマンドを実行します。

  次の例は、LF タグ `module=orders` をデータベース `erp` 内のテーブル `orders` に割り当てます。これは、`--lf-tags` 引数にショートカット構文を使用しています。`--lf-tags` の `CatalogID` プロパティはオプションです。指定されない場合は、リソース (この場合はテーブル) のカタログ ID が使用されます。

  ```
  aws lakeformation add-lf-tags-to-resource --resource '{ "Table": {"DatabaseName":"erp", "Name":"orders"}}' --lf-tags  CatalogId=111122223333,TagKey=module,TagValues=orders
  ```

  以下は、コマンドが成功した場合の出力です。

  ```
  {
      "Failures": []
  }
  ```

  次の例は、2 つの LF タグを `sales` テーブルに割り当てて、`--lf-tags` 引数に JSON 構文を使用します。

  ```
  aws lakeformation add-lf-tags-to-resource --resource '{ "Table": {"DatabaseName":"erp", "Name":"sales"}}' --lf-tags '[{"TagKey": "module","TagValues": ["sales"]},{"TagKey": "environment","TagValues": ["development"]}]'
  ```

  次の例は、LF タグ `level=director` をテーブル `sales` の `total` 列に割り当てます。

  ```
  aws lakeformation add-lf-tags-to-resource --resource '{ "TableWithColumns": {"DatabaseName":"erp", "Name":"sales", "ColumnNames":["total"]}}' --lf-tags TagKey=level,TagValues=director
  ```

------

## リソースの LF タグ の更新
<a name="update-tags"></a>

**データカタログリソースの LF タグを更新するには (AWS CLI)**
+ 前の手順で説明したように、`add-lf-tags-to-resource` コマンドを使用します。

  既存の LF タグと同じキーを持つが、値は異なるという LF タグを追加すると、既存の値が更新されます。

## リソースからの LF タグの削除
<a name="remove-tag"></a><a name="remove-tag-command"></a>

**データカタログリソースの LF タグを削除するには (AWS CLI)**
+ `remove-lf-tags-from-resource` コマンドを実行します。

  親データベースから継承された値をオーバーライドする LF タグの値がテーブルにある場合、テーブルからその LF タグを削除すると、継承された値が復元されます。この動作は、テーブルから継承されたキーの値を上書きする列にも該当します。

  以下の例では、`sales` のテーブルの `total` の列から LF タグ `level=director` を削除します。`--lf-tags` の `CatalogID` プロパティはオプションです。指定されない場合は、リソース (この場合はテーブル) のカタログ ID が使用されます。

  ```
  aws lakeformation remove-lf-tags-from-resource 
  --resource ' { "TableWithColumns":  
  { "DatabaseName": "erp",  "Name": "sales",  "ColumnNames":[ "total"]}}' 
  --lf-tags  CatalogId=111122223333,TagKey=level,TagValues=director
  ```

# リソースに割り当てられた LF タグの表示
<a name="TBAC-view-resource-tags"></a>

データカタログリソースに割り当てられた LF タグを表示できます。LF タグを表示するには、それに対する `DESCRIBE` または `ASSOCIATE` アクセス許可が必要です。

------
#### [ Console ]

**リソースに割り当てられた LF タグを表示するには (コンソール)**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   データレイク管理者、リソース所有者、またはリソースに対する Lake Formation 許可を付与されたユーザーとしてサインインします。

1. ナビゲーションペインの **[Data catalog]** (データカタログ) 見出しの下で、以下のいずれかを実行します。
   + データベースに割り当てられた LF タグを表示するには、**[データベース]** を選択します。
   + テーブルに割り当てられた LF タグを表示するには、**[テーブル]** を選択します。

1. **[Tables]** (テーブル) または **[Databases]** (データベース) ページで、データベースまたはテーブルの名前を選択します。次に、詳細ページで、**[LF-Tags]** セクションまでスクロールダウンします。

   次のスクリーンショットは、`retail` データベースに含まれる `customers` テーブルに割り当てられた LF タグを示しています。`module` LF タグはデータベースから継承されます。`credit_limit` 列には `level=vp` LF タグが割り当てられています。  
![\[この画像は、customers テーブルの詳細ページにある LF タグセクションのスクリーンショットです。[LF-Tag] セクションには、[Resource] (リソース)、[Key] (キー)、[Value] (値)、および [Inherited from] (継承元) の列があるテーブルが含まれています。テーブルには 3 つの行があります。表の上には、「Find tags」(タグを検索) というプレースホルダーテキストが表示されたテキスト入力フィールドと、[Edit tags] (タグを編集) ボタンがあります。画像の上に表示されている文章は、スクリーンショットに表示されているテーブルの値を説明しています。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/tags-for-resource-2.png)

------
#### [ AWS CLI ]

**リソースに割り当てられた LF タグを表示するには (AWS CLI)**
+ 以下のようなコマンドを入力します。

  ```
  aws lakeformation get-resource-lf-tags --show-assigned-lf-tags --resource '{ "Table": {"CatalogId":"111122223333", "DatabaseName":"erp", "Name":"sales"}}'
  ```

  このコマンドは、以下の出力を返します。

  ```
  {
      "TableTags": [
          {
              "CatalogId": "111122223333",
              "TagKey": "module",
              "TagValues": [
                  "sales"
              ]
          },
          {
              "CatalogId": "111122223333",
              "TagKey": "environment",
              "TagValues": [
                  "development"
              ]
          }
      ],
      "ColumnTags": [
          {
              "Name": "total",
              "Tags": [
                  {
                      "CatalogId": "111122223333",
                      "TagKey": "level",
                      "TagValues": [
                          "director"
                      ]
                  }
              ]
          }
      ]
  }
  ```

  この出力には、明示的に割り当てられた LF タグのみが表示され、継承されたものは表示されません。継承された LF タグを含め、すべての列のすべての LF タグを表示するには、`--show-assigned-lf-tags` オプションを削除します。

------

# LF タグが割り当てられているリソースの表示
<a name="TBAC-view-tag-resources"></a>

特定の LF タグのキーが割り当てられているすべてのデータカタログリソースを表示できます。これを実行するには、以下の Lake Formation 許可が必要です。
+ LF タグに対する `Describe` または `Associate`。
+ リソースに対する `Describe`、またはその他 Lake Formation 許可。

さらに、次の AWS Identity and Access Management (IAM) アクセス許可が必要です。
+ `lakeformation:SearchDatabasesByLFTags`
+ `lakeformation:SearchTablesByLFTags`

------
#### [ Console ]

**LF タグが割り当てられているリソースを表示するには (コンソール)**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   データレイク管理者として、または前述の要件を満たすユーザーとしてサインインします。

1. ナビゲーションペインの **[アクセス許可]** で、**[LF タグとアクセス許可]** の **[LF タグ]** を選択します。

1. LF タグのキーを選択します (キー名の横にあるオプションボタンではありません)。

   LF タグの詳細ページに、LF タグが割り当てられているリソースのリストが表示されます。  
![\[この画像は、「module」というキーの LF タグ詳細ページのスクリーンショットです。LF タグの詳細ページには 2 つのセクションがあります。上部のセクションには LF タグのキーと値が表示されています。下部のセクションには、[キー]、[値]、[リソースタイプ]、および [リソース] の列がある表に、LF タグに関連付けられているリソースが表示されています。テーブルには 12 個の行ありますが、スクリーンショットには 7 行のみが表示されています。これらのテーブル行は、LF タグがデータベース、そのデータベース内の 2 つのテーブル、および継承によってそれらのテーブルの列に割り当てられていることを示しています。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/resources-on-tags-2.png)

------
#### [ AWS CLI ]

**LF タグが割り当てられているリソースを表示するには**
+ `search-tables-by-lf-tags` または `search-databases-by-lf-tags` のコマンドを実行します。  
**Example**  

  次の例は、`level=vp` LF タグが割り当てられたテーブルと列をリストします。リストされた各テーブルと列について、検索式だけでなく、テーブルまたは列に割り当てられたすべての LF タグが出力されます。

  ```
  aws lakeformation search-tables-by-lf-tags --expression TagKey=level,TagValues=vp
  ```

------

必要な許可の詳細については、「[Lake Formation のペルソナと IAM 許可のリファレンス](permissions-reference.md)」を参照してください。

## LF タグのライフサイクル
<a name="lf-tag-life-cycle"></a>

1. LFタグ作成者のマイケルが LF タグ `module=Customers` を作成します。

1. マイケルは LF タグに対する `Associate` をデータエンジニアであるエデュアルドに付与します。`Associate` の付与は、`Describe` を黙示的に付与します。

1. マイケルはテーブル `Custs` に対する grant オプション付きの `Super` をエデュアルドに付与して、エデュアルドがそのテーブルに LF タグを割り当てることができるようにします。詳細については、「[Data Catalog リソースへの LF タグの割り当て](TBAC-assigning-tags.md)」を参照してください。

1. エデュアルドは LF タグ `module=customers` をテーブル `Custs` に割り当てます。

1. マイケルがデータエンジニアであるサンドラに以下の付与を行います (疑似コードを使用)。

   ```
   GRANT (SELECT, INSERT ON TABLES) ON TAGS module=customers TO Sandra WITH GRANT OPTION
   ```

1. サンドラがデータアナリストであるマリアに以下の付与を行います。

   ```
   GRANT (SELECT ON TABLES) ON TAGS module=customers TO Maria
   ```

   マリアが `Custs` テーブルにクエリを実行できるようになります。

**関連情報**  
[メタデータのアクセスコントロール](access-control-metadata.md)

## Lake Formation のタグベースのアクセス制御と IAM の属性ベースのアクセス制御の比較
<a name="TBAC-comparison-ABAC"></a>

属性ベースのアクセス制御 (ABAC) は、属性に基づいてアクセス許可を定義する認可戦略です。では AWS、これらの属性は*タグ*と呼ばれます。IAM エンティティ (ユーザーまたはロール) を含む IAM リソースと AWS リソースにタグをアタッチできます。IAM プリンシパルに対して、単一の ABAC ポリシー、または少数のポリシーのセットを作成できます。これらの ABAC ポリシーは、プリンシパルのタグがリソースタグと一致するときに操作を許可するように設計することができます。ATBAC は、急成長する環境や、ポリシー管理が煩雑になる状況で役に立ちます。

クラウドセキュリティチームとガバナンスチームは、Amazon S3 バケット、Amazon EC2 インスタンス、および ARN で参照できるすべてのリソースを含めたすべてのリソースに対するアクセスポリシーとセキュリティ許可を定義するために IAM を使用します。IAM ポリシーは、例えば Amazon S3 バケット、プレフィックスレベル、またはデータベースレベルでアクセスを許可または拒否するために、データレイクリソースに対する広範な (粗粒度の) 許可を定義します。IAM ABAC の詳細については、*IAM ユーザーガイド*の[「ABAC とは AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。

例えば、`project-access` タグキーを使用して 3 つのロールを作成できます。最初のロールのタグ値を `Dev`、2 番目を `Marketing`、3 番目を `Support` に設定します。適切な値を持つタグをリソースに割り当てます。そうすることで、`project-access` に関してロールとリソースが同じ値でタグ付けされているときにアクセスを許可する単一のポリシーを使用できます。

データガバナンスチームは、特定のデータレイクリソースに対するきめ細かな許可を定義するために Lake Formation を使用します。LF タグはデータカタログリソース (データベース、テーブル、および列) に割り当てられ、プリンシパルに付与されます。リソースの LF タグと一致する LF タグを持つプリンシパルは、そのリソースにアクセスできます。Lake Formation 許可は IAM 許可に次ぐ二次的なものです。例えば、IAM アクセス許可がユーザーにデータレイクへのアクセスを許可していない場合、プリンシパルとリソースの LF タグが一致する場合でも、Lake Formation はそのデータレイク内のリソースへのアクセスをそのユーザーに付与しません。

Lake Formation のタグベースのアクセス制御 (LF-TBAC) は、IAM ABAC と連動して Lake Formation のデータとリソースに追加の許可レベルを提供します。
+ **Lake Formation TBAC 許可は、イノベーションとともにスケールします。**新しいリソースへのアクセスを許可するために、管理者が既存のポリシーを更新する必要はありません。例えば、Lake Formation 内で特定のデータベースへのアクセスを提供するために `project-access` タグでの IAM ABAC 戦略を使用するとします。LF-TBAC を使用することで、LF タグ`Project=SuperApp` は特定のテーブルや列に 割り当てられ、同じ LF タグがそのプロジェクトのデベロッパーに付与されます。デベロッパーは IAM を通じてデータベースにアクセスでき、LF-TBAC 許可はこのデベロッパーに特定のテーブル、またはテーブル内の列への追加のアクセス権を付与します。新しいテーブルがプロジェクトに追加される場合、Lake Formation 管理者は、新しいテーブルにタグを割り当てて、デベロッパーにそのテーブルへのアクセス権が付与されるようするだけで済みます。
+ **Lake Formation TBAC では、必要な IAM ポリシーが少なくなります。**ユーザーは Lake Formation リソースに対する高レベルのアクセス権を付与するために IAM ポリシーを使用し、より精密なデータアクセスの管理のために Lake Formation TBAC を使用するので、作成する IAM ポリシーが少なくなります。
+ **Lake Formation TBAC を使用することで、チームのより迅速な変化と成長が可能になります。**これは、新しいリソースの許可が属性に基づいて自動的に付与されるためです。例えば、新しいデベロッパーがプロジェクトに参加する場合、IAM ロールをユーザーに関連付けてから、必要な LF タグをユーザーに割り当てることで、このデベロッパーにアクセス権を簡単に付与できます。新しいプロジェクトをサポートするためや、新しい LF タグを作成するために IAM ポリシーを変更する必要はありません。
+ **Lake Formation TBAC を使用することで、よりきめ細かな許可が可能になります。**IAM ポリシーは、Data Catalog のデータベースやテーブルなどのトップレベルリソースへのアクセス権を付与します。**Lake Formation TBAC** を使用することで、特定のデータ値が含まれる特定のテーブルやカラムにアクセス権を付与することができます。

**注記**  
IAM タグと LF タグは同じではありません。これらのタグは置き換え可能ではありません。LF タグは Lake Formation アクセス許可を付与するために使用され、IAM タグは IAM ポリシーを定義するために使用されます。

# メタデータアクセスコントロールのための LF タグ式の管理
<a name="managing-tag-expressions"></a>

 LF タグ式は、 AWS Glue Data Catalog リソースに対するアクセス許可を付与するために使用される 1 つ以上の LF タグ (キーと値のペア) で構成される論理式です。LF タグ式を使用すると、メタデータタグに基づいてデータリソースへのアクセスを管理するルールを定義できます。これらの式を保存して複数のアクセス許可で再利用できるため、一貫性が確保され、タグオントロジーへの経時的な変更を簡単に管理できます。

特定の LF タグ式内では、タグキーは AND オペレーションを使用して結合され、値は OR オペレーションを使用して結合されます。例えば、タグ式 `content_type:Sales AND location:US` は、米国の売上データに関連するリソースを表します。

 AWS アカウントでは、最大 1000 個の LF タグ式を作成できます。これらの式は、メタデータタグに基づいてアクセス許可を管理するための柔軟でスケーラブルな方法を提供し、承認されたユーザーまたはアプリケーションのみが、定義されたタグルールに基づいて特定のデータリソースにアクセスできるようにします。

LF タグ式には以下のメリットがあります。
+ **再利用性 **– LF タグ式を定義して保存することで、他のリソースやプリンシパルにアクセス許可を割り当てるときに、同じ式を手動でレプリケートする必要がなくなります。
+ **整合性 **– 複数のアクセス許可の付与で LF タグ式を再利用することで、アクセス許可の付与と管理の一貫性を確保できます。
+ **タグオントロジー管理** – LF タグ式は、個々のアクセス許可付与を変更する代わりに保存された式を更新できるため、時間の経過に伴うタグオントロジーへの変更を管理するのに役立ちます。

タグベースのアクセスコントロールに関する詳細については、「[Lake Formation のタグベースのアクセス制御](tag-based-access-control.md)」を参照してください。

**LF タグ式作成者**  
LF タグ式作成者は、LF タグを作成および管理するアクセス許可を持つプリンシパルです。データレイク管理者は、Lake Formation コンソール、CLI、API、または SDK を使用して LF タグ式作成者を追加できます。LF タグ式作成者には、LF タグ式を作成、更新、削除し、LF タグ式アクセス許可を他のプリンシパルに付与する暗黙的な Lake Formation アクセス許可があります。

データレイク管理者ではない LF タグ式作成者は、作成した式に対してのみ暗黙的な `Alter`、`Drop`、`Describe`、および `Grant with LF-Tag expression` アクセス許可を受け取ります。

データレイク管理者は LF タグ式作成者に付与可能な `Create LF-Tag expression` アクセス許可を付与することもできます。その後、LF タグ式作成者は、LF タグ式を作成するアクセス許可を他のプリンシパルに付与できます。

**Topics**
+ [LF タグ式の作成に必要な IAM アクセス許可](#tag-expression-creator-permissions)
+ [LF タグ式作成者を追加する](#add-lf-tag-expression-creator)
+ [LF タグ式の作成](TBAC-creating-tag-expressions.md)
+ [LF タグ式の更新](TBAC-updating-expressions.md)
+ [LF タグ式の削除](TBAC-deleting-expressions.md)
+ [LF タグ式の一覧表示](TBAC-listing-expressions.md)

**関連情報**  
[LF タグ値のアクセス許可の管理](TBAC-granting-tags.md)
[LF-TBAC 方式を使用したデータレイク許可の付与](granting-catalog-perms-TBAC.md)
[Lake Formation のタグベースのアクセス制御](tag-based-access-control.md)

## LF タグ式の作成に必要な IAM アクセス許可
<a name="tag-expression-creator-permissions"></a>

 Lake Formation のプリンシパルが LF タグ式を作成できるようにアクセス許可を設定する必要があります。LF タグ式作成者になる必要があるプリンシパルのアクセス許可ポリシーに、以下のステートメントを追加します。

**注記**  
データレイク管理者は、LF タグと LF タグ式の作成、更新、削除、LF タグのリソースへの割り当て、プリンシパルへの LF タグと LF タグ式の付与を行う暗黙的な Lake Formation アクセス許可を持っていますが、データレイク管理者には以下の IAM アクセス許可も必要です。

詳細については、「[Lake Formation のペルソナと IAM 許可のリファレンス](permissions-reference.md)」を参照してください。

```
{
"Sid": "Transformational",
"Effect": "Allow",
    "Action": [
        "lakeformation:AddLFTagsToResource",
        "lakeformation:RemoveLFTagsFromResource",
        "lakeformation:GetResourceLFTags",
        "lakeformation:ListLFTags",
        "lakeformation:CreateLFTag",
        "lakeformation:GetLFTag",
        "lakeformation:UpdateLFTag",
        "lakeformation:DeleteLFTag",
        "lakeformation:SearchTablesByLFTags",
        "lakeformation:SearchDatabasesByLFTags",
        "lakeformation:CreateLFTagExpression",
        "lakeformation:DeleteLFTagExpression",
        "lakeformation:UpdateLFTagExpression",
        "lakeformation:GetLFTagExpression",
        "lakeformation:ListLFTagExpressions",
        "lakeformation:GrantPermissions",
        "lakeformation:RevokePermissions",
        "lakeformation:BatchGrantPermissions",
        "lakeformation:BatchRevokePermissions"
     ]
 }
```

## LF タグ式作成者を追加する
<a name="add-lf-tag-expression-creator"></a>

LF タグ式作成者は、再利用可能な LF タグ式の作成と保存、タグのキーと値の更新、式の削除、LF-TBAC 方式を使用したプリンシパルへのデータカタログリソースに対するアクセス許可の付与を行うことができます。LF タグ式作成者は、これらのアクセス許可をプリンシパルに付与することもできます。

 AWS Lake Formation コンソール、API、または AWS Command Line Interface () を使用して、LF タグ式作成者ロールを作成できますAWS CLI。

------
#### [ console ]

**LF タグ式作成者を追加するには**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   データレイク管理者としてサインインします。

1. ナビゲーションペインで、**[アクセス許可]** の **[LF タグとアクセス許可]** を選択します。

1. **[LF タグ式]** タブを選択します。

1. **[LF タグ式作成者]**セクションで、**[LF タグ式作成者を追加]** を選択します。  
![\[Form to add LF-Tag expression creators with IAM ユーザー selection and permissions.\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/add-lf-tag-expression-creator.png)

1. 「**LF タグ式作成者を追加**」ページで、LF タグ式の作成に必要なアクセス許可を持つ IAM ロールまたはユーザーを選択します。

1. [`Create LF-Tag expression` アクセス許可] チェックボックスにチェックを入れます。

1. (オプション) 選択したプリンシパルが `Create LF-Tag expression` アクセス許可をプリンシパルに付与できるようにするには、[付与可能な `Create LF-Tag expression` アクセス許可] を選択します。

1. **[Add]** (追加) を選択します。

------
#### [ AWS CLI ]

```
aws lakeformation grant-permissions --cli-input-json file://grantCreate
{
    "Principal": {
        "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:user/tag-manager"
    },
    "Resource": {
        "Catalog": {}
    },
    "Permissions": [
        "CreateLFTagExpression"
    ],
    "PermissionsWithGrantOption": [
        "CreateLFTagExpression"
    ]
}
```

------

LF タグ式作成者ロールは、LF タグ式を作成、更新、または削除することができます。


| アクセス許可 | 説明 | 
| --- | --- | 
| Create | このアクセス許可を持つプリンシパルは、データレイクに LF タグ式を追加できます。 | 
| Drop | LF タグ式に対するこのアクセス許可を持つプリンシパルは、データレイクから LF タグ式を削除できます。 | 
| Alter | LF タグ式に対するこのアクセス許可を持つプリンシパルは、LF タグ式の式本文を更新できます。 | 
| Describe | LF タグ式に対するこのアクセス許可を持つプリンシパルは、LF タグ式の内容を表示できます。 | 
| Grant with LF-Tag expression | このアクセス許可により、受信者はデータまたはメタデータにアクセス許可を付与するときに、タグ式をリソースとして使用できます。Grant with LF-Tag expression の付与は、Describe を黙示的に付与します。 | 
| Super | LF タグ式の場合、Super ではタグ式に対する Describe、Alter、Drop の操作、および他のプリンシパルへのアクセス許可の付与が可能になります。 | 

これらの許可は付与可能です。これらの許可を grant オプションと共に付与されたプリンシパルは、これらを他のプリンシパルに付与できます。

# LF タグ式の作成
<a name="TBAC-creating-tag-expressions"></a>

Lake Formation ですべての LF タグを定義し、式の作成に使用する前にデータカタログリソースに割り当てる必要があります。LF タグ式は、キーごとに 1 つ以上のキーと 1 つ以上の可能な値で構成されます。

 データレイク管理者が LF タグ式作成者ロールに必要な IAM アクセス許可と Lake Formation アクセス許可を設定したら、プリンシパルは再利用可能な LF タグ式を作成できます。LF タグ式作成者は、式本文を更新し、LF タグ式を削除するための暗黙的なアクセス許可を取得します。

LF タグ式は、 AWS Lake Formation コンソール、 API、または AWS Command Line Interface () を使用して作成できますAWS CLI。

------
#### [ Console ]

**LF タグ式を作成するには**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬) を開きます。

   LF タグ式作成者アクセス許可を持つプリンシパルまたはデータレイク管理者としてサインインします。

1. ナビゲーションペインのアクセス**許可**で**、LF タグとアクセス許可を選択します**。

1. **[LF タグ式]** を選択します。「**LF タグ式の追加**」ページが表示されます。  
![\[このページには名前と説明を追加するフィールドと、式本文を選択するためのドロップダウンがあります。ユーザーには、アクセス許可を付与するオプションもあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/add-tag-expression.png)

1. 次の情報を入力します。
   + 名前 - 式の一意の名前を入力します。式名を更新することはできません。
   + 説明 – 式のオプションの説明と式の詳細を入力します。
   + 式 – タグキーとそれに関連する値を指定して式を作成します。式ごとに最大 50 個のキーを追加できます。式本文内のすべてのタグに対して `Grant with LF-Tags` Lake Formation アクセス許可が必要です。

      各キーには、少なくとも 1 つの値が必要です。複数の値を入力するには、カンマ区切りのリストを入力してから **[Enter]** キーを押すか、一度に 1 つの値を入力し、入力するたびに **[Add]** (追加) を選択します。キーごとに許可される値の最大数は 1000 個です。

      Lake Formation は AND/OR ロジックを使用して、式内の複数のキーと値を結合します。単一の (キー: 値のリスト) ペア内では、論理 OR 演算子を使用して値が結合されます。例えば、ペアが (Department : [Sales, Marketing]) の場合、リソースに Sales OR Marketing の値が指定された Department タグがある場合に、タグが一致します。

      複数のキーを指定すると、キーは AND 論理演算子によって結合されます。したがって、完全な式が (Department : [Sales, Marketing]) AND (Location : [US, Canada]) の場合、Sales OR Marketing という値を持つ Department タグと、米国またはカナダという値を持つ Location タグを持つリソースに一致します。以下は複数のキーと値を持つ別の例です。

     LF タグ式: (ContentType : [Video, Audio]) AND (Region : [Europe, Asia]) AND (Department : [Engineering, ProductManagement])。

     この式は、 - 値が Video OR Audio の ContentType タグ AND - 値が Europe OR Asia のリージョンタグ AND - 値が Engineering OR ProductManagement の Department タグを持つリソースと一致します。

    LF タグを使用してデータレイクのアクセス許可を付与するときに、タグ式を保存することもできます。キーと値のペアを選択し、**[新しい式として保存]** オプションを選択します。式を説明する名前を入力します。  
![\[このページには、式本文を選択するフィールドと、名前を入力するファイルがあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/save-expression-grant.png)

1.  (オプション) 次に、ユーザー/ロールと、アカウントでユーザー/ロールに付与する式のアクセス許可を選択します。また、付与可能なアクセス許可を選択して、ユーザーがアカウントの他のユーザーにこれらのアクセス許可を付与できるようにします。タグ式にクロスアカウントアクセス許可を付与することはできません。  
![\[このページには、他のプリンシパルに付与するアクセス許可を選択するフィールドが表示されます。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-expression-permissions.png)

1. **[** の追加] を選択します。

------
#### [ AWS CLI ]

**LF タグ式を作成するには**
+ `create-lf-tag-expression` のコマンドを入力します。

  次の例では、値 `Sales` と `Marketing` を持つ `Department` タグと、値 `US` を持つタグ `Location` を使用して LF タグ式を作成します。

  ```
  aws lakeformation create-lf-tag-expression \
  -- name "my-tag-expression" \
  -- catalog-id "123456789012" \
  -- expression '{"Expression":[{"TagKey":"Department","TagValues":["Sales","Marketing"]},{"TagKey":"Location","TagValues":["US"]}]}'
  ```

   この CLI コマンドは、 に新しい LF タグ式を作成します AWS Glue Data Catalog。式を使用すると、データベース、テーブル、ビュー、列などのデータカタログリソースに、関連するタグに基づいてアクセス許可を付与できます。この例では、式は、`Department` キー が値 `Sales` または `Marketing` で、`Location` キー が値 `US` であるリソースと一致します。

------

 プリンシパルは、タグ式作成者 としてこの LF タグ式に対する `Alter` アクセス許可を取得し、式を更新または削除できます。LF タグ作成者プリンシパルは、この式を更新および削除する `Alter` アクセス許可を他のプリンシパルに付与することもできます。

# LF タグ式の更新
<a name="TBAC-updating-expressions"></a>

データレイク管理者と、LF タグ式作成者、LF タグ式に対する `Alter` または `Super` のアクセス許可を持つプリンシパルのみが LF タグ式を更新できます。式を更新するには、`Alter` アクセス許可に加えて、新しい式本文の基礎となるすべてのキーと値に対する `lakeformation:UpdateLFTagExpression` IAM アクセス許可と `Grant with LF-Tag` アクセス許可も必要です。

LF タグ式を更新するには、式で付与された説明、式本文、アクセス許可を更新します。LF タグ式の名前を変更することはできません。名前を変更するには、LF タグ式を削除して、必要なパラメータを持つ LF タグ式を追加します。

 AWS Lake Formation コンソール、API、または AWS Command Line Interface () を使用して LF タグ式を更新できますAWS CLI。

------
#### [ Console ]

**LF タグ式を更新するには**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬) を開きます。

   データレイク管理者、LF タグ作成者、または LF タグに対する `Alter` アクセス許可を持つプリンシパルとしてサインインします。

1. ナビゲーションペインで、[アクセス許可] の**[LF タグとアクセス許可]** を選択します。

1. **[LF タグ式]** タブを選択します。

1. **[LF タグ式]** セクションで、LF タグ式を選択し、次に **[編集]**を選択します。

1. **[LF タグ式を編集]** ダイアログボックスで、説明を更新し、キーと値を追加または削除して式本文を更新します。

   複数の値を追加するには、**[値]** フィールドで、ドロップダウンから値を選択します。

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

 Lake Formation の update-lf-tag-expression コマンドを使用すると、既存の LF タグ式を更新できます。

```
aws lakeformation update-lf-tag-expression \
-- name expression_name\
-- description new_description \
-- catalog-id catalog_id \
-- expression '{"Expression": [{"TagKey": "tag_key", "TagValues": ["tag_value1", "tag_value2", ...]}]}'
```

提供されたコマンドのパラメータの意味は次のとおりです。
+ name – 更新する既存の名前付きタグ式の名前。
+ description – 式の新しい説明。

  catalog-id – 名前付きタグ式が存在するデータカタログの ID。
+ expression – 式を更新する新しいタグ式文字列。

------

# LF タグ式の削除
<a name="TBAC-deleting-expressions"></a>

使用しなくなった LF タグ式は削除できます。LF タグ式を使用してデータカタログリソースのプリンシパルにアクセス許可を付与している場合、プリンシパルのアクセス許可は失われます。

データレイク管理者と、LF タグ式作成者、LF タグ式に対する `Drop` のアクセス許可を持つプリンシパルのみが LF タグ式を削除できます。プリンシパルが LF タ式グを削除するには、`Drop` アクセス許可のほかに、`lakeformation:DeleteLFTagExpression` IAM アクセス許可も必要です。

 AWS Lake Formation コンソール、API、または AWS Command Line Interface () を使用して、LF タグ式を削除できますAWS CLI。

------
#### [ Console ]

**LF タグ式を削除するには (コンソール)**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬) を開きます。

   データレイク管理者、LF タグ式作成者、または式を削除する権限を持つプリンシパルとしてサインインします。

1. ナビゲーションペインで、**[アクセス許可]** の **[LF タグとアクセス許可]** を選択します。

1. **[LF タグ式]** タブを選択します。

1. **[LF タグ式]** セクションで、LF タグ式を選択し、**[削除]** を選択します。

1. **[タグ式を削除しますか?]** ダイアログボックスで、削除を確定するには、LF タグ式の名前を指定フィールドに入力し、**[削除]** を選択します。

------
#### [ AWS CLI ]

**LF タグを削除するには (AWS CLI)**
+ `delete-lf-tag-expression` のコマンドを入力します。削除する式名とカタログ ID を指定します。  
**Example**  

  次の例では、ID `123456789012` の データカタログから `my-tag-expression` という名前の LF タグ式を削除します。 AWS CLI 設定と同じアカウントを使用している場合、 `catalog-id`パラメータはオプションです。LF タグ式を削除すると、Lake Formation はその式の関連するアクセス許可レコードをクリーンアップします。これには、削除された式を含む個別のアクセス許可レコードとアクセス許可レコードの集合の両方が含まれます。

  ```
  aws lakeformation delete-lf-tag-expression \
  --name "my-tag-expression" \
  --catalog-id "123456789012"
  ```

------

# LF タグ式の一覧表示
<a name="TBAC-listing-expressions"></a>

 Describe アクセス許可がある LF タグ式を一覧表示することができます。データレイク管理者、LF タグ式作成者、読み取り専用管理者は、自分のアカウント内のすべてのタグ式を暗黙的に表示できます。

 AWS Lake Formation コンソール、API、または () を使用して、LF タグ式を AWS Command Line Interface 一覧表示できますAWS CLI。

------
#### [ Console ]

**LF タグ式を一覧表示するには (コンソール)**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬) を開きます。

   LF タ式グ作成者、データレイク管理者、または LF タグ式に対するアクセス許可を付与され、`lakeformation:ListLFTagExpressions` IAM 許可を持つプリンシパルとしてサインインします。

1. ナビゲーションペインの **[アクセス許可]** で、**[LF タグとアクセス許可]** を選択します。

1. **[LF タグ式]** タブを選択すると、式が表示されます。このセクションには、式名、付けられているタグへのリンクを含む式自体、式を作成、編集、削除するオプションなど、既存の LF タグ式に関する情報が表示されます。

------
#### [ AWS CLI ]

**LF タグをリストする (AWS CLI)**
+ を使用して LF タグ式を一覧表示するには AWS CLI、list-lf-tag-expressions コマンドを使用できます。リクエスト構文は次のとおりです。

  ```
  aws lakeformation list-lf-tag-expressions \
  -- catalog-id "123456789012" \
  -- max-items "100" \
  -- next-token "next-token"
  ```

   コードの説明は以下のとおりです。
  + `catalog-id` は、 のタグ式を一覧表示するデータカタログの AWS アカウント ID です。
  + `max-items` は、返されるタグ式の最大数を指定します。このパラメータを使用しない場合、デフォルト値は 100 です。
  + `next-token` は、前のリクエストで結果が切り捨てられた場合の継続トークンです。

  レスポンスには、LF タグ式のリストと、該当する場合は次のトークンが含まれます。

------

# LF タグ値のアクセス許可の管理
<a name="TBAC-granting-tags"></a>

LF タグ値の式を管理するために LF タグに対する `Drop`、`Alter` アクセス許可をプリンシパルに付与することができます。プリンシパルが LF タグを表示し、データカタログリソース (データベース、テーブル、列) に割り当てることができるように、LF タグに対する `Describe`、`Associate`、および `Grant with LF-Tag expressions` アクセス許可を付与することもできます。LF タグがデータカタログリソースに割り当てられているときには、Lake Formation のタグベースのアクセスコントロール (LF-TBAC) 方法を使用して、これらのリソースをセキュリティで保護できます。詳細については、「[Lake Formation のタグベースのアクセス制御](tag-based-access-control.md)」を参照してください。

これらのアクセス許可を grant オプションと共に付与されたプリンシパルは、これらを他のプリンシパルに付与できます。`Grant with LF-Tag expressions`、`Describe`、および `Associate` アクセス許可は、「[LF タグ作成者の追加](TBAC-adding-tag-creator.md#add-lf-tag-creator)」で説明されています。

LF タグに対する `Describe`および の`Associate`アクセス許可を外部 AWS アカウントに付与できます。そうすると、そのアカウントのデータレイク管理者が、アカウント内の他のプリンシパルにこれらの許可を付与できるようになります。外部アカウントのデータレイク管理者が `Associate` アクセス許可を付与したプリンシパルは、アカウントを共有するデータカタログリソースに LF タグを割り当てることができます。

外部アカウントに付与するときは、grant オプションを含める必要があります。

LF タグに対するアクセス許可は、Lake Formation コンソール、API、または AWS Command Line Interface (AWS CLI) を使用して付与することができます。

**Topics**
+ [コンソールを使用した LF-Tag アクセス許可の表示](TBAC-listing-tag-perms-console.md)
+ [コンソールを使用した LF-Tag アクセス許可の付与](TBAC-granting-tags-console.md)
+ [を使用した LF タグのアクセス許可の管理 AWS CLI](TBAC-granting-revoking-tags-cli.md)

詳細については、「[メタデータアクセスコントロールのための LF タグの管理](managing-tags.md)」および「[Lake Formation のタグベースのアクセス制御](tag-based-access-control.md)」を参照してください。

# コンソールを使用した LF-Tag アクセス許可の表示
<a name="TBAC-listing-tag-perms-console"></a>

Lake Formation コンソールを使用して、LF タグに付与された許可を表示できます。これを表示するには、LF タグ作成者またはデータレイク管理者であるか、LF タグに対する `Describe` または `Associate` アクセス許可を持ってる必要があります。

**LF タグ許可をリストする (コンソール)**

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬)を開きます。

   LF タグ作成者、データレイク管理者、または LF タグに対する `Drop`、`Alter`、`Associate`、または `Describe` 許可が付与されたユーザーとしてサインインします。

1. ナビゲーションペインで、**[アクセス許可]** の **[LF タグとアクセス許可]** を選択し、**[LF タグアクセス許可]** セクションを選択します。

   **[LF タグアクセス許可]** セクションには、プリンシパル、タグキー、値、およびアクセス許可を含むテーブルが表示されます。  
![\[このページには、[Principal] (プリンシパル)、[Principal type] (プリンシパルタイプ)、[Keys] (キー)、[Values] (値)、[Permissions] (許可)、および [Grantable] (付与可能) の列がある許可の表があります。5 つの行があります。各行の左側にラジオボタンがあります。表の上には、検索フィールドと、更新ボタン、[View] (表示) ボタン、[Revoke] (取り消す) ボタン、および [Grant] (付与) ボタンがあります。最初はどの行も選択されていないため、[View] (表示) ボタンと [Revoke] (取り消す) ボタンが無効になっています。最初の行にある値は、Principal=arn:aws:iam::111122223333:user/datalake_admin, Principal type=IAM user, Keys=environment, Values=All values, Permissions=DESCRIBE, Grantable=DESCRIBE です。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/list-tag-permissions-page.png)

# コンソールを使用した LF-Tag アクセス許可の付与
<a name="TBAC-granting-tags-console"></a>

以下の手順では、Lake Formation コンソールの **[LF タグアクセス許可の付与]** ページを使用して LF タグに対するアクセス許可を付与する方法を説明します。このページは、これらのセクションに分けられています。
+ **アクセス許可タイプ** — 付与するアクセス許可のタイプ。
+ **プリンシパル** – アクセス許可を付与する IAM ユーザーもしくはロール、または SAML ユーザーもしくはロール。
+  **LF タグキーと値のペアのアクセス許可** – アクセス許可を付与する LF タグキーと値のペア。
+  **LF タグのアクセス許可** - アクセス許可を付与する LF タグ。
+  **LF タグ式のアクセス許可** – アクセス許可を付与する LF タグ。
+  **[Permissions]** (許可) – 付与する許可。

## **[LF タグアクセス許可の付与]** ページを開く
<a name="tag-start-grant"></a>

1. Lake Formation コンソール (‭‬[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)‬) を開きます。

   LF タグ作成者、データレイク管理者、または `Grant` オプションで LF タグアクセス許可または LF タグに対する LF タグのキーと値のペアのアクセス許可が付与されたユーザーとしてサインインします。

1. ナビゲーションペインで、**[LF タグとアクセス許可]** を選択し、**[LF タグアクセス許可]** セクションを選択します。

1. **[Grant permissions]** (アクセス許可の付与) を選択します。

## アクセス許可タイプを指定する
<a name="grant-tag-permission-type"></a>

**[アクセス許可タイプ]** セクションで、アクセス許可タイプを選択します。

LF タグアクセス許可  
**[LF タグアクセス許可]** を選択して、プリンシパルが LF タグ値を更新したり、LF タグを削除したりするのを許可します。

LF タグのキーと値のペアのアクセス許可  
**[LF タグのキーと値のペアのアクセス許可]** を選択して、プリンシパルが LF タグをデータカタログリソースに割り当てたり、LF タグと値を表示したり、データカタログリソースに対する LF タグベースのアクセス許可をプリンシパルに付与したりするのを許可します。  
以下のセクションで使用できるオプションは、**[アクセス許可タイプ]** によって異なります。

LF タグ式のアクセス許可  
**[LF タグ式のアクセス許可]** を選択して、プリンシパルが式を更新または削除できるようにします。

## プリンシパルを指定する
<a name="grant-tags-principals"></a>

**注記**  
LF タグアクセス許可 (`Alter` および `Drop`) を外部アカウントまたは別のアカウントのプリンシパルに付与することはできません。

**[Principals]** (プリンシパル) セクションでプリンシパルタイプを選択して、許可の付与先となるプリンシパルを指定します。

![\[[Principals] (プリンシパル) セクションには、次のテキストを使用した名前が付いている 3 つのタイルが含まれています。各タイルには、オプションボタンとテキストがあります。[IAM users and roles] (IAM ユーザーおよびロール) タイルが選択されており、タイルの下に [IAM users and roles] (IAM ユーザーおよびロール) ドロップダウンリストがあります。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-tags-principals-section.png)


**IAM ユーザーとロール**  
**[IAM users and roles]** (IAM ユーザーおよびロール) リストから、1 人、または複数のユーザーまたはロールを選択します。

**SAML ユーザーとグループ**  
**SAML およびクイックユーザーおよびグループ**の場合は、SAML を介してフェデレーションされたユーザーまたはグループの 1 つ以上の Amazon リソースネーム (ARNs)、またはクイックユーザーまたはグループの ARNs を入力します。各 ARN の後で **[Enter]** キーを押します。  
ARN の構築方法については、「[Lake Formation の許可と取り消し AWS CLI コマンド](lf-permissions-reference.md#perm-command-format)」を参照してください。  
Lake Formation と Quick の統合は、Quick Enterprise Edition でのみサポートされています。

**外部アカウント**  
**AWS アカウント**には、1 つ以上の有効な AWS アカウント IDsを入力します。各 ID の後で **[Enter]** キーを押します。  
組織 ID は、最初の「o-」と、その後に続く 10～32 個の小文字または数字で構成されています。  
組織単位 ID は「ou-」で始まり、その後に 4～32 個の小文字または数字 (OU が含まれるルートの ID) が続きます。この文字列の後には、2 番目の「-」ダッシュと 8～32 個の追加の小文字または数字が続きます。  
IAM プリンシパルの場合は、IAM ユーザーまたはロールの ARN を入力します。

## LF タグを指定する
<a name="grant-tags-tags"></a>

LF タグに対するアクセス許可を付与するには、**[LF タグアクセス許可]** セクションで、アクセス許可を付与する LF タグを指定します。

![\[[LF-Tags] (LF タグ) セクションには 2 行のフィールドが表示されており、各行には、左から右に向かって [Key] (キー) フィールド、[Value] (値) フィールド、および [Remove] (削除) ボタンがあります。[Value] (値) フィールドはドロップダウンリストです。2 行のフィールドの下には、[Add LF-Tag] (LF タグを追加) ボタンがあります。最初の行の [Key] (キー) フィールドには「module」(モジュール) が表示されています。[Value] (値) フィールドの下にはそれぞれ Orders (注文) および Sales (売上) が表示された 2 つの小さなタイルがあり、ユーザーがキーモジュールの値として Orders と Sales を選択したことを示しています。各タイルには X が付いており、クローズボックスのようにクリックしてタイルを削除できます。2 番目の行のフィールドは空です。\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/grant-tags-tags-section-2.png)

+ ドロップダウンを使用して、1 つ以上の LF タグを選択します。

## LF タグのキーと値のペアを指定する
<a name="w2aac15b9c27c19c21c15"></a>

1. LF タグのキーと値のペアに対するアクセス許可を付与するには (まず、**[LF タグのキーと値のペアのアクセス許可]** を **[アクセス許可のタイプ]** として選択する必要があります)、**[LF タグのキーと値のペアを追加]** を選択して、LF タグのキーと値を指定するフィールドの最初の行を表示します。  
![\[Interface for adding LF-Tag key-value pairs and setting associated permissions.\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/tag-key-value-pair.png)

1. カーソルを **[キー]** フィールドに置き、オプションで入力を開始して選択リストを絞り込んで、LF タグのキーを選択します。

1. **[Values]** (値) リストで、1 つ、または複数の値を選択してから、**[Tab]** (タブ) を押すか、フィールドの外側をクリックまたはタップして、選択した値を保存します。
**注記**  
**[Values]** (値) リストの行のいずれかがフォーカスされている場合は、**[Enter]** キーを押すと、チェックボックスがオンまたはオフになります。

   選択された値は、**[Values]** (値) リストの下にタイルとして表示されます。✖ を選択して値を削除します。**[削除]** を選択して、LF タグ全体を削除します。

1. 別の LF タグを追加するには、もう一度 **[LF タグを追加]** を選択して、前の 2 つのステップを繰り返します。

## LF タグ式を指定する
<a name="w2aac15b9c27c19c21c17"></a>

1. LF タグ式に対するアクセス許可を付与するには、(まず **[LF タグ式のアクセス許可]** を **[アクセス許可タイプ]** として選択する必要があります)。  
![\[Permission type selection interface with LF-Tag expression permissions highlighted.\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/tag-expression.png)

1. LF タグ式を選択します。

1. 選択した式は、**[LF タグ式]** リストの下にタイルとして表示されます。✖ を選択して式を削除します。

1. 別の LF タグ式を追加するには、別の式を選択します。

## 許可を指定する
<a name="grant-tags-permissions"></a>

このセクションには、前のステップで選択した [**アクセス許可タイプ]** に基づいて、**[LF タグアクセス許可]** または **[LF-タグ値のアクセス許可]** のいずれかが表示されます。

付与する **[アクセス許可タイプ]** に応じて、**[LF タグアクセス許可]** または **[LF タグのキーと値のペアのアクセス許可]** と付与可能なアクセス許可を選択します。

1. **[LF タグアクセス許可]** で、付与するアクセス許可を選択します。

   **[ドロップ]** および **[変更]** を付与すると、**[説明]** を暗黙的に付与することになります。

   すべてのタグ値に対して、**[変更]** および **[ドロップ]** を付与する必要があります。

1. **[LF タグのキーと値のペアのアクセス許可]** で、付与するアクセス許可を選択します。

   **[Associate]** (関連付け) の付与は、**[Describe]** (記述) を黙示的に付与します。**[LF タグ式による付与]** を選択すると、付与されたユーザーは、LF-TBAC 方法を使用してデータカタログリソースに対するアクセス許可を付与または取り消すことができます。

1. **[LF タグ式アクセス許可]** で、付与するアクセス許可を選択します。

   **[ドロップ]** および **[変更]** を付与すると、**[説明]** を暗黙的に付与することになります。

   **Super** アクセス許可を付与すると、使用可能なすべてのアクセス許可が付与されます。

1. (オプション) **付与可能なアクセス**許可で、付与受信者が AWS アカウントの他のプリンシパルに付与できるアクセス許可を選択します。

1. **[付与]** を選択します。

# を使用した LF タグのアクセス許可の管理 AWS CLI
<a name="TBAC-granting-revoking-tags-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用して、LF タグに対するアクセス許可の付与、取り消し、および一覧表示を行うことができます。

**LF タグアクセス許可を一覧表示するには (AWS CLI)**
+ `list-permissions` コマンドを入力します。これを表示するには、LF タグ作成者またはデータレイク管理者であるか、LF タグに対する `Drop`、`Alter`、`Describe`、`Associate`、`Grant with LF-Tag permissions` アクセス許可を持ってる必要があります。

  以下のコマンドは、アクセス許可を持っているすべての LF タグをリクエストします。

  ```
  aws lakeformation list-permissions --resource-type LF_TAG
  ```

  以下は、すべてのプリンシパルに付与されたすべての LF タグが表示される、データレイク管理者のための出力の例です。非管理ユーザーには、自分に付与された LF タグのみが表示されます。外部アカウントから付与された LF タグアクセス許可は、個別の結果ページに表示されます。それらを表示するには、コマンドの前回の実行から返されたトークンを `--next-token` 引数に指定して、コマンドを繰り返します。

  ```
  {
      "PrincipalResourcePermissions": [
          {
              "Principal": {
                  "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_admin"
              },
              "Resource": {
                  "LFTag": {
                      "CatalogId": "111122223333",
                      "TagKey": "environment",
                      "TagValues": [
                          "*"
                      ]
                  }
              },
              "Permissions": [
                  "ASSOCIATE"
              ],
              "PermissionsWithGrantOption": [
                  "ASSOCIATE"
              ]
          },
          {
              "Principal": {
                  "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
              },
              "Resource": {
                  "LFTag": {
                      "CatalogId": "111122223333",
                      "TagKey": "module",
                      "TagValues": [
                          "Orders",
                          "Sales"
                      ]
                  }
              },
              "Permissions": [
                  "DESCRIBE"
              ],
              "PermissionsWithGrantOption": []
          },
  ...
      ],
      "NextToken": "eyJzaG91bGRRdWVy...Wlzc2lvbnMiOnRydWV9"
  }
  ```

  特定の LF タグのキーに関するすべてのアクセス許可を一覧表示できます。次のコマンドは、`module` という LF タグに関して付与されたすべてのアクセス許可を返します。

  ```
  aws lakeformation list-permissions --resource-type LF_TAG --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
  ```

  特定の LF タグに関して特定のプリンシパルに付与された LF タグの値を一覧表示することもできます。`--principal` 引数を指定する場合は、`--resource` 引数を指定する必要があります。このため、このコマンドが実質的にリクエストできるのは、特定の LF タグのキーに関して特定のプリンシパルに付与された値のみです。次のコマンドは、これをプリンシパル `datalake_user1` と LF タグのキー `module` について行う方法を示しています。

  ```
  aws lakeformation list-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --resource-type LF_TAG --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
  ```

  以下は出力例です。

  ```
  {
      "PrincipalResourcePermissions": [
          {
              "Principal": {
                  "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
              },
              "Resource": {
                  "LFTag": {
                      "CatalogId": "111122223333",
                      "TagKey": "module",
                      "TagValues": [
                          "Orders",
                          "Sales"
                      ]
                  }
              },
              "Permissions": [
                  "ASSOCIATE"
              ],
              "PermissionsWithGrantOption": []
          }
      ]
  }
  ```

**LF タグに対するアクセス許可を付与するには (AWS CLI)**

1. 以下のようなコマンドを入力します。この例は、`module` キーを持つ LF タグに対する `Associate` アクセス許可をユーザー `datalake_user1` に付与します。これは、そのキーのすべての値 (アスタリスク (\$1) で示されています) を表示して割り当てる許可を付与します。

   ```
   aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
   ```

   `Associate` 許可の付与は、`Describe` 許可を黙示的に付与します。

   次の例では`Associate`、キー を持つ LF タグの外部 AWS アカウント 1234-5678-9012 に`module`グラントオプションを使用して を付与します。これは、`sales` と `orders` の値のみを表示して割り当てる許可を付与します。

   ```
   aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "ASSOCIATE" --permissions-with-grant-option "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}'
   ```

1. `GrantWithLFTagExpression` 許可の付与は、`Describe` 許可を黙示的に付与します。

   次の例は、キー `module` を持つ LF タグに対する `GrantWithLFTagExpression` を付与オプション付きでユーザーに付与します。データカタログリソースを表示するアクセス許可を付与し、値 `sales` と `orders` のみを使用してアクセス許可を付与するアクセス許可を付与します。

   ```
   aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "GrantWithLFTagExpression" --permissions-with-grant-option "GrantWithLFTagExpression" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}'
   ```

1. 次の例は、キー `module` を持つ LF タグに対する `Drop` アクセス許可を grant オプション付きでユーザーに付与します。LF タグを削除するアクセス許可を付与します。LF タグを削除するには、そのキーのすべての値に対するアクセス許可が必要です。

   ```
   aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "DROP" --permissions-with-grant-option "DROP" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
   ```

1. 次の例は、キー `module` を持つ LF タグに対する `Alter` アクセス許可を grant オプション付きでユーザーに付与します。LF タグを削除するアクセス許可を付与します。LF タグを更新するには、そのキーのすべての値に対するアクセス許可が必要です。

   ```
   aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
   ```

**LF タグに対するアクセス許可を取り消すには (AWS CLI)**
+ 以下のようなコマンドを入力します。この例は、`module` キーを持つ LF タグに対する `Associate` 許可をユーザー `datalake_user1` から取り消します。

  ```
  aws lakeformation revoke-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
  ```