

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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는 페더레이션 카탈로그, 데이터베이스, 테이블, 보기 등 Data Catalog 객체가 많을 때 Lake Formation 권한을 부여하는 데 사용되는 권장 방법입니다. Lake Formation은 Amazon S3 테이블, Amazon Redshift 데이터 웨어하우스 및 Amazon DynamoDB SQL Server, 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 방법을 사용하기 위해 데이터 레이크 관리자와 데이터 엔지니어는 다음 작업을 수행합니다.


| Task | 작업 세부 정보 | 
| --- | --- | 
|  1. LF 태그의 속성 및 관계를 정의합니다.  | - | 
|  2. Lake Formation에서 LF 태그 생성자를 생성합니다.  | [LF 태그 생성자 추가](TBAC-adding-tag-creator.md) | 
|  3. Lake Formation에서 LF 태그를 생성합니다.  | [LF 태그 생성](TBAC-creating-tags.md) | 
|  4. 데이터 카탈로그 리소스에 LF 태그를 할당합니다.  | [데이터 카탈로그 리소스에 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 레이블이 지정된 2개의 테이블이, 데이터베이스 C에는 C.1, C.2 및 C.3 레이블이 지정된 3개의 테이블이 있습니다. 17개의 화살표는 사용자를 데이터베이스 및 테이블에 연결하여 데이터베이스 및 테이블에 대한 권한이 사용자에게 부여되었음을 나타냅니다.\]](http://docs.aws.amazon.com/ko_kr/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 레이블이 지정된 2개의 테이블이, 데이터베이스 C에는 C.1, C.2 및 C.3 레이블이 지정된 3개의 테이블이 있습니다. 사용자와 데이터베이스 및 테이블 간에 화살표는 없습니다. 대신 사용자 옆의 '플래그'가 사용자 1에게는 LF 태그 Sales 및 Customers, 사용자 2에게는 LF 태그 Orders, 사용자 3에게는 LF 태그 Customers가 부여되었음을 나타냅니다. 데이터베이스 및 테이블 옆의 플래그는 데이터베이스와 테이블에 다음과 같은 LF 태그가 할당되었음을 나타냅니다. 데이터베이스 A: Sales. 테이블 A1: 흐리게 표시된 플래그는 Sales가 데이터베이스 A에서 상속되었음을 나타냅니다. 테이블 A2: 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/ko_kr/lake-formation/latest/dg/images/TBAC_example_tags.png)


**데이터 카탈로그 리소스에 대한 태그 할당 및 상속**  
테이블은 데이터베이스의 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 태그를 할당한 후 다음과 같이 보안 주체에 4번의 LF 태그 권한 부여 작업만 수행해야 합니다(의사 코드 기준).

```
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
```

이제 `module=Sales` LF 태그를 가진 보안 주체는 `module=Sales` LF 태그가 있는 데이터 카탈로그 리소스(예: 데이터베이스 A)에 액세스할 수 있고, `module=Customers` LF 태그를 가진 보안 주체는 `module=Customers` LF 태그가 있는 리소스에 액세스하는 등의 방식으로 액세스가 가능합니다.

앞의 권한 부여 명령은 불완전합니다. 이러한 명령은 LF 태그를 통해 보안 주체에게 권한이 있는 데이터 카탈로그 리소스를 나타내긴 하지만 보안 주체가 해당 리소스에 대해 정확히 어떤 Lake Formation 권한(예: `SELECT`. `ALTER`)을 가지고 있는지는 나타내지 않기 때문입니다. 따라서 다음 의사 코드 명령은 LF 태그를 통해 데이터 카탈로그 리소스에 대해 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/ko_kr/lake-formation/latest/dg/tag-based-access-control.html)  | 
| 보안 주체 2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/tag-based-access-control.html)  | 
| 보안 주체 3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/tag-based-access-control.html)  | 

**맺음말**  
이 간단한 예제에서 데이터 레이크 관리자는 5번의 할당 작업과 8번의 권한 부여 작업을 사용하여 17개의 권한을 지정할 수 있었습니다. 수십 개의 데이터베이스와 수백 개의 테이블이 있는 경우 명명된 리소스 방법에 비해 LF-TBAC 방법이 가진 장점이 분명해집니다. 모든 보안 주체에 모든 리소스에 대한 액세스 권한을 부여해야 하는 경우를 가정하면 다음과 같습니다(여기서 `n(P)`는 보안 주체 수이고, `n(R)`은 리소스의 수임).
+ 명명된 리소스 방법의 경우 필요한 권한 부여 수는 `n(P)` ✕ `n(R)`입니다.
+ LF-TBAC 방법으로 단일 LF 태그를 사용할 경우 보안 주체에 대한 권한 부여 수와 리소스에 대한 할당 수의 합은 `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) 방법을 사용하여 Data Catalog 객체(카탈로그, 데이터베이스, 테이블. 보기, 열)를 보호하려면 LF 태그를 생성하여 리소스에 할당하고 보안 주체에 LF 태그 권한을 부여합니다.

Data Catalog 객체에 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 태그에 대해 다음 두 가지 유형의 권한을 부여할 수 있습니다.
+ LF 태그 권한 - `Create LF-Tag`, `Alter` 및 `Drop`. LF 태그를 생성, 업데이트 및 삭제하려면 이러한 권한이 필요합니다.

  데이터 레이크 관리자 및 LF 태그 생성자는 자신이 생성하는 LF 태그에 대해 암시적으로 이러한 권한을 가지며, 데이터 레이크에서 태그를 관리하기 위해 보안 주체에 이러한 권한을 명시적으로 부여할 수 있습니다.
+ LF 태그 키-값 페어 권한 - `Assign`, `Describe` 및 `Grant with LF-Tag expressions`. 이러한 권한은 Data Catalog 객체에 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)
+ [데이터 카탈로그 리소스에 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 태그를 생성, 업데이트 및 삭제하고, Data Catalog 객체에 태그를 할당하고, 보안 주체에 태그 권한을 부여할 수 있습니다. 태그 생성 및 관리 작업을 관리자가 아닌 보안 주체에 위임하려는 경우 데이터 레이크 관리자는 LF 태그 생성자 역할을 생성하고 해당 역할에 Lake Formation `Create LF-Tag` 권한을 부여할 수 있습니다. LF 태그 생성자는 부여 가능한 `Create LF-Tag` 권한을 통해 태그 생성 및 유지 관리 작업을 다른 비관리 보안 주체에 위임할 수 있습니다.

데이터 레이크 관리자가 데이터 카탈로그 리소스에 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 태그 생성자는 이러한 권한을 보안 주체에 부여할 수도 있습니다.

 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 태그 및 권한** 페이지에서 **LF 태그 생성자** 섹션을 선택하고 **LF 태그 생성자 추가**를 선택합니다.  
![\[LF-Tag creator details form with IAM 사용자 selection and permission options.\]](http://docs.aws.amazon.com/ko_kr/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. **추가**를 선택합니다.

------
#### [ 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 태그를 데이터 카탈로그 리소스에 할당할 수 있습니다. Associate 권한을 부여하면 암시적으로 Describe 권한이 부여됩니다. | 
| Grant with LF-Tag expression | LF 태그에 대해 이 권한이 있는 보안 주체는 LF 태그 키 및 값을 사용하여 데이터 카탈로그 리소스에 대한 권한을 부여할 수 있습니다. Grant with LF-Tag expression 권한을 부여하면 암시적으로 Describe 권한이 부여됩니다. | 

이러한 권한은 부여가 가능합니다. 권한 부여 옵션을 통해 이러한 권한을 부여받은 보안 주체는 다른 보안 주체에 해당 권한을 부여할 수 있습니다.

# LF 태그 생성
<a name="TBAC-creating-tags"></a>

LF 태그를 사용하려면 먼저 Lake Formation에서 모든 LF 태그를 정의해야 합니다. LF 태그는 키와 키에 대해 가능한 하나 이상의 값으로 구성됩니다.

 데이터 레이크 관리자가 LF 태그 생성자 역할에 필요한 IAM 권한 및 Lake Formation 권한을 설정하고 나면 보안 주체가 LF 태그를 생성할 수 있습니다. LF 태그 생성자는 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 태그 생성자 권한이 있는 보안 주체 또는 데이터 레이크 관리자로 로그인합니다.

1. 탐색 창의 **권한**, **LF 태그 및 권한**에서 **LF 태그**를 선택합니다.

   **LF 태그** 페이지가 나타납니다.  
![\[이 페이지에는 키, 값, 소유자 계정 ID 및 LF 태그 권한이라는 열 머리글이 있는 4열 테이블이 있습니다. 테이블에는 2개의 행이 있습니다. 테이블 위에는 삭제(흐리게 표시됨), 편집(흐리게 표시됨), 권한 부여(흐리게 표시됨), 태그 추가의 4개 버튼이 가로로 배열되어 있습니다. 이 페이지에는 '태그 찾기'라는 자리 표시자 텍스트가 있는 검색 필드도 있습니다. 검색 필드 오른쪽에는 왼쪽과 오른쪽 버튼 사이에 '1'이라는 값을 표시하는 페이지 선택기와 설정 아이콘이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/policy-tags-page-2.png)

1. **LF 태그 추가**를 선택합니다.

1. **LF 태그 추가** 대화 상자에서 하나의 키와 하나 이상의 값을 입력합니다.

   키마다 값이 하나 이상 있어야 합니다. 값을 여러 개 입력하려면 쉼표로 구분된 목록을 입력한 다음 **Enter** 키를 누르거나 한 번에 값을 하나씩 입력한 다음 각각 **추가**를 선택합니다. 허용되는 최대 값 수는 1000입니다.

1. **태그 추가**를 선택합니다.

------
#### [ 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 태그 생성자 보안 주체는 다른 보안 주체에게 `Alter` 권한을 부여하여 이 LF 태그의 값을 업데이트하거나 제거하도록 할 수 있습니다.

# LF 태그 업데이트
<a name="TBAC-updating-tags"></a>

허용된 키 값을 추가하거나 삭제하여 `Alter` 권한이 있는 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 또는 ()를 사용하여 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 태그에 대한 `Alter` 권한이 있는 보안 주체로 로그인합니다.

1. 탐색 창의 **권한**, **LF 태그 및 권한**에서 **LF 태그**를 선택합니다.

1. **LF 태그** 페이지에서 LF 태그를 선택한 다음 **편집**을 선택합니다.

1. **LF 태그 편집** 대화 상자에서 LF 태그 값을 추가하거나 제거합니다.

   값을 여러 개 입력하려면 **값** 필드에서 쉼표로 구분된 목록을 입력하고 **Enter** 키를 누르거나 한 번에 값을 하나씩 입력한 다음 각각 **추가**를 선택합니다.

1. **저장**을 선택합니다.

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

**LF 태그를 업데이트하려면(AWS CLI)**
+ `update-lf-tag` 명령을 입력합니다. 다음 인수 중 하나 또는 둘 다 제공합니다.
  + `--tag-values-to-add`
  + `--tag-values-to-delete`

**Example**  
다음 예제는 `vp` 값을 LF 태그 키 `level`에 대해 `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 또는 ()를 사용하여 LF 태그를 삭제할 수 있습니다 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 태그**를 선택합니다.

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 태그** 페이지가 나타납니다.  
![\[이 페이지에는 키, 값 및 소유자 계정 ID라는 열 머리글이 있는 3열 테이블이 있습니다. 테이블에는 2개의 행이 있습니다. 테이블 위에는 페이지 다시로드, 삭제(흐리게 표시됨), 편집(흐리게 표시됨) 및 태그 추가의 4개 버튼이 가로로 배열되어 있습니다. 이 페이지에는 '태그 찾기'라는 자리 표시자 텍스트가 있는 검색 필드도 있습니다. 검색 필드 오른쪽에는 왼쪽과 오른쪽 버튼 사이에 '1'이라는 값을 표시하는 페이지 선택기와 설정 아이콘이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/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
  ```

  출력 결과는 다음과 비슷합니다. 여기서, `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) 섹션을 참조하세요.

# 데이터 카탈로그 리소스에 LF 태그 할당
<a name="TBAC-assigning-tags"></a>

데이터 카탈로그 리소스(데이터베이스, 테이블 및 열)에 LF 태그를 할당하여 해당 리소스에 대한 액세스를 제어할 수 있습니다. 일치하는 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 태그를 할당하려면 다음을 충족해야 합니다.
+ 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. 탐색 창에서 **테이블**을 선택합니다.

1. 테이블 이름을 선택합니다(테이블 이름 옆에 있는 옵션 버튼이 아님).

1. 테이블 세부 정보 페이지의 **스키마** 섹션에서 **스키마 편집**을 선택합니다.

1. **스키마 편집** 페이지에서 하나 이상의 열을 선택한 다음 **LF 태그 편집**을 선택합니다.
**참고**  
열을 추가 또는 삭제하고 새 버전을 저장하려면 먼저 해당 작업을 수행하세요. 그런 다음 LF 태그를 편집합니다.

   **LF 태그 편집** 대화 상자가 나타나고 테이블에서 상속된 모든 LF 태그가 표시됩니다.  
![\[LF 태그 편집 대화 상자 창의 스크린샷 이미지입니다. 창 상단에는 상속된 키 두 개가 표시됩니다. 상속된 첫 번째 키에는 'level' 키와 'director (inherited)' 값이 있습니다. 상속된 두 번째 키에는 'module' 키와 'Orders (inherited)' 값이 있습니다. 해당 필드 아래에는 '새 LF 태그 할당' 버튼이 있습니다. 그 오른쪽 아래에는 취소 및 저장 버튼이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/edit-policy-tags-for-columns-2a.png)

1. (선택 사항) **상속된 키** 필드 옆에 있는 **값** 목록에서 상속된 값을 재정의할 값을 선택합니다.

1. (선택 사항) **새 LF 태그 할당**을 선택합니다. 그런 다음 **할당된 키**에서 키를 선택하고 **값**에서 키 값을 선택합니다.  
![\[LF 태그 편집 대화 상자 창의 스크린샷 이미지입니다. 창 상단에는 상속된 키 두 개가 표시됩니다. 상속된 첫 번째 키에는 'level' 키와 'director (inherited)' 값이 있습니다. 상속된 두 번째 키에는 'module' 키와 'Orders (inherited)' 값이 있습니다. 이 섹션 아래에는 수평 정렬된 필드('할당된 키' 필드, '값' 필드)와 컨트롤(제거 버튼)이 있습니다. 할당된 키 필드에는 'environment'이라는 텍스트가 포함되어 있습니다. 값 필드는 'Production'(강조 표시됨) 및 'Customers' 값이 있는 드롭다운 목록입니다. 할당된 키 필드 아래에는 '새 LF 태그 할당' 버튼이 나타납니다. 창 오른쪽 하단에는 취소 및 저장 버튼이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/edit-policy-tags-for-columns-2b.png)

1. (선택 사항) 다른 LF 태그를 추가하려면 다시 **새 LF 태그 할당**을 선택합니다.

1. **저장**을 선택합니다.

## 데이터 카탈로그 리소스에 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. 탐색 창의 **데이터 카탈로그**에서 다음 작업 중 하나를 수행합니다.
   + 데이터베이스에 LF 태그를 할당하려면 **데이터베이스**를 선택합니다.
   + 테이블에 LF 태그를 할당하려면 **테이블**을 선택합니다.

1. 데이터베이스 또는 테이블을 선택하고 **작업** 메뉴에서 **LF 태그 편집**을 선택합니다.

   **LF 태그 편집: *resource-name*** 대화 상자가 나타납니다.

   테이블이 포함하는 데이터베이스에서 LF 태그를 상속하는 경우 상속된 LF 태그가 창에 표시됩니다. 그렇지 않으면 '리소스와 연결된 상속된 LF 태그가 없습니다.' 라는 텍스트가 표시됩니다.  
![\['LF 태그 편집: 인벤토리' 대화 상자 창의 스크린샷 이미지입니다. 상단에는 '상속된 키'(흐리게 표시됨) 및 '값' 필드가 있습니다. 상속된 키 필드의 값은 'level'이고 값 필드의 값은 'director (inherited)'입니다. 이 섹션 아래에는 수평 정렬된 필드('할당된 키' 필드, '값' 필드)와 컨트롤(제거 버튼)이 있습니다. 할당된 키 필드에는 'module'이라는 텍스트가 포함되어 있습니다. 값 필드는 'Orders', 'Sales' 및 'Customers'(강조 표시됨) 값이 있는 드롭다운 목록입니다. 할당된 키 필드 아래에는 '새 LF 태그 할당' 버튼이 있습니다. 창 오른쪽 하단에는 취소 및 저장 버튼이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/edit-policy-tags-for-tables-2.png)

1. (선택 사항) 테이블에 상속된 LF 태그가 있는 경우 **상속된 키** 필드 옆의 **값** 목록에서 상속된 값을 재정의할 값을 선택할 수 있습니다.

1. 새 LF 태그를 할당하려면 다음 단계를 수행합니다.

   1. **새 LF 태그 할당**을 선택합니다.

   1. **할당된 키** 필드에서 LF 태그 키를 선택하고 **값** 필드에서 값을 선택합니다.

   1. (선택 사항) LF 태그를 추가로 할당하려면 **새 LF 태그 할당**을 다시 선택합니다.

1. **저장**을 선택합니다.

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

**데이터 카탈로그 리소스에 LF 태그를 할당하려면**
+ `add-lf-tags-to-resource` 명령을 실행합니다.

  다음 예제는 데이터베이스 `erp`의 테이블 `orders`에 LF 태그 `module=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": []
  }
  ```

  다음 예제는 `sales` 테이블에 두 개의 LF 태그를 할당하고 `--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"]}]'
  ```

  다음 예제는 `sales` 테이블의 `total` 열에 LF 태그 `level=director`를 할당합니다.

  ```
  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 태그를 보려면 LF 태그에 대한 `DESCRIBE` 또는 `ASSOCIATE` 권한이 있어야 합니다.

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

**리소스에 할당된 LF 태그를 보려면(콘솔)**

1. Lake Formation 콘솔([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/))을 엽니다.

   데이터 레이크 관리자, 리소스 소유자 또는 리소스에 대한 Lake Formation 권한이 부여된 사용자로 로그인합니다.

1. 탐색 창의 **데이터 카탈로그**에서 다음 작업 중 하나를 수행합니다.
   + 데이터베이스에 할당된 LF 태그를 보려면 **데이터베이스**를 선택합니다.
   + 테이블에 할당된 LF 태그를 보려면 **테이블**을 선택합니다.

1. **테이블** 또는 **데이터베이스** 페이지에서 데이터베이스 또는 테이블의 이름을 선택합니다. 그런 다음 세부 정보 페이지에서 **LF 태그** 섹션으로 스크롤합니다.

   다음 스크린샷은 `retail` 데이터베이스에 포함된 `customers` 테이블에 할당된 LF 태그를 보여줍니다. `module` LF 태그는 데이터베이스에서 상속됩니다. `credit_limit` 열에는 `level=vp` LF 태그가 할당되어 있습니다.  
![\[customers 테이블 세부 정보 페이지 LF 태그 섹션의 스크린샷 이미지입니다. LF 태그 섹션에는 리소스, 키, 값 및 상속 소스 열이 있는 테이블이 있습니다. 테이블에는 3개의 행이 있습니다. 테이블 위에는 '태그 찾기' 자리 표시자 텍스트가 있는 텍스트 입력 필드와 태그 편집 버튼이 있습니다. 이미지 앞의 단락은 스크린샷에 표시된 테이블 값을 설명합니다.\]](http://docs.aws.amazon.com/ko_kr/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 태그 세부 정보 페이지에는 두 개의 섹션이 있습니다. 상단 섹션에는 LF 태그 키와 값이 표시됩니다. 하단 섹션에는 키, 값, 리소스 유형 및 리소스 열이 있는 테이블에 해당 LF 태그와 연결된 리소스가 표시됩니다. 테이블에는 12개의 행이 있지만 스크린샷에는 7개만 표시되어 있습니다. 테이블 행은 LF 태그가 데이터베이스 하나와 해당 데이터베이스의 두 테이블 그리고 상속을 통해 해당 테이블의 열에 할당되었음을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/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 태그 생성자 Michael이 LF 태그 `module=Customers`를 생성합니다.

1. Michael이 데이터 엔지니어 Eduardo에게 LF 태그에 대한 `Associate` 권한을 부여합니다. `Associate` 권한을 부여하면 암시적으로 `Describe` 권한이 부여됩니다.

1. Michael은 Eduardo가 LF 태그를 테이블에 할당할 수 있도록 권한 부여 옵션을 사용하여 Eduardo에게 테이블 `Custs`에 대한 `Super` 권한을 부여합니다. 자세한 내용은 [데이터 카탈로그 리소스에 LF 태그 할당](TBAC-assigning-tags.md) 단원을 참조하십시오.

1. Eduardo가 테이블 `Custs`에 LF 태그 `module=customers`를 할당합니다.

1. Michael은 데이터 엔지니어 Sandra에게 다음과 같은 권한을 부여합니다(의사 코드 기준).

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

1. Sandra는 데이터 분석가 Maria에게 다음과 같은 권한을 부여합니다.

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

   Maria는 이제 `Custs` 테이블에 대한 쿼리를 실행할 수 있습니다.

**다음 사항도 참조하세요.**  
[메타데이터 액세스 제어](access-control-metadata.md)

## Lake Formation 태그 기반 액세스 제어와 IAM 속성 기반 액세스 제어의 비교
<a name="TBAC-comparison-ABAC"></a>

속성 기반 액세스 제어(ABAC)는 속성에 근거하여 권한을 정의하는 권한 부여 전략입니다. 에서는 AWS이러한 속성을 *태그*라고 합니다. IAM 엔터티(사용자 또는 역할)를 포함한 IAM 리소스와 AWS 리소스에 태그를 연결할 수 있습니다. IAM 보안 주체에 대해 단일 ABAC 정책 또는 작은 정책 세트를 생성할 수 있습니다. 이러한 ABAC 정책은 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 설계될 수 있습니다. ABAC는 빠르게 성장하는 환경에서 유용하며 정책 관리가 번거로운 상황에 도움이 됩니다.

클라우드 보안 및 거버넌스 팀은 IAM을 사용하여 Amazon S3 버킷, Amazon EC2 인스턴스 및 ARN으로 참조할 수 있는 리소스를 포함한 모든 리소스에 대한 액세스 정책 및 보안 권한을 정의합니다. IAM 정책은 Amazon S3 버킷, 접두사 수준 또는 데이터베이스 수준에서 액세스를 허용하거나 거부하는 등 데이터 레이크 리소스에 대한 광범위한(대략적인) 권한을 정의합니다. IAM ABAC에 대한 자세한 내용은 *IAM 사용 설명서*의 [ABAC란 무엇입니까 AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)를 참조하세요.

예를 들어, `project-access` 태그 키를 사용하여 세 개의 역할을 생성할 수 있습니다. 첫 번째 역할의 태그 값을 `Dev`로, 두 번째 역할의 태그 값을 `Marketing`으로, 세 번째 역할의 태그 값을 `Support`으로 설정합니다. 적절한 값을 가진 태그를 리소스에 할당합니다. 그런 다음 역할과 리소스에 `project-access`에 대해 동일한 값으로 태그를 지정할 때 액세스를 허용하는 단일 정책을 사용할 수 있습니다.

데이터 거버넌스 팀은 Lake Formation을 사용하여 특정 데이터 레이크 리소스에 대한 세분화된 권한을 정의합니다. LF 태그는 데이터 카탈로그 리소스(데이터베이스, 테이블 및 열)에 할당되고 보안 주체에 부여됩니다. 리소스의 LF 태그와 일치하는 LF 태그가 있는 보안 주체는 해당 리소스에 액세스할 수 있습니다. Lake Formation 권한은 IAM 권한에 대한 보조 권한입니다. 예를 들어 IAM 권한이 사용자에게 데이터 레이크에 대한 액세스를 허용하지 않는 경우 Lake Formation은 보안 주체와 리소스에 일치하는 LF 태그가 있더라도 해당 사용자에게 해당 데이터 레이크 내의 리소스에 대한 액세스 권한을 부여하지 않습니다.

Lake Formation 태그 기반 액세스 제어(LF-TBAC) 는 IAM ABAC와 함께 작동하여 Lake Formation 데이터 및 리소스에 대한 추가 수준의 권한을 제공합니다.
+ **Lake Formation TBAC 권한은 혁신을 통해 확장됩니다.** 관리자가 새 리소스에 액세스할 수 있도록 기존 정책을 업데이트할 필요가 없습니다. 예를 들어 `project-access` 태그와 함께 IAM ABAC 전략을 사용하여 Lake Formation 내의 특정 데이터베이스에 대한 액세스를 제공한다고 가정합니다. LF-TBAC를 사용하면 특정 테이블이나 열에 LF 태그 `Project=SuperApp`이 할당되고 해당 프로젝트의 개발자에게 동일한 LF 태그가 부여됩니다. 개발자는 IAM을 통해 데이터베이스에 액세스할 수 있으며, LF-TBAC 권한은 개발자에게 테이블 내의 특정 테이블이나 열에 대한 추가 액세스 권한을 부여합니다. 프로젝트에 새 테이블이 추가되는 경우 Lake Formation 관리자가 새 테이블에 태그를 할당하기만 하면 개발자에게 테이블에 대한 액세스 권한이 부여됩니다.
+ **Lake Formation TBAC에는 필요한 IAM 정책이 더 적습니다.** IAM 정책을 사용하여 Lake Formation 리소스에 대한 높은 수준의 액세스 권한을 부여하고 Lake Formation TBAC를 사용하여 더 정확한 데이터 액세스를 관리하므로 더 적은 수의 IAM 정책을 생성하게 됩니다.
+ **Lake Formation TBAC를 사용하여 팀은 빠르게 변화하고 성장할 수 있습니다.** 새 리소스에 대한 권한이 속성에 따라 자동으로 부여되기 때문입니다. 예를 들어 새 개발자가 프로젝트에 참여하면 IAM 역할을 사용자에게 연결한 다음 필요한 LF 태그를 사용자에게 할당하여 해당 개발자에게 액세스 권한을 쉽게 부여할 수 있습니다. 새 프로젝트를 지원하거나 새 LF 태그를 생성하기 위해 IAM 정책을 변경할 필요가 없습니다.
+ **Lake Formation TBAC를 사용하면 더 세분화된 권한 설정이 가능합니다.** IAM 정책은 데이터 카탈로그 데이터베이스 또는 테이블과 같은 최상위 리소스에 대한 액세스 권한을 부여합니다. **Lake Formation TBAC**를 사용하면 특정 데이터 값을 포함하는 특정 테이블 또는 열에 대한 액세스 권한을 부여할 수 있습니다.

**참고**  
IAM 태그는 LF 태그와 다릅니다. 이러한 태그는 서로 바꿔 사용할 수 없습니다. LF 태그는 Lake Formation 권한을 부여하는 데 사용되고 IAM 태그는 IAM 정책을 정의하는 데 사용됩니다.

# 메타데이터 액세스 제어를 위한 LF 태그 표현식 관리
<a name="managing-tag-expressions"></a>

 LF 태그 표현식은 AWS Glue Data Catalog 리소스에 대한 권한을 부여하는 데 사용되는 하나 이상의 LF 태그(키-값 페어)로 구성된 논리적 표현식입니다. LF 태그 표현식을 사용하면 메타데이터 태그를 기반으로 데이터 리소스에 대한 액세스를 제어하는 규칙을 정의할 수 있습니다. 이러한 표현식을 저장하고 여러 권한 부여에서 재사용하여 일관성을 보장하고 시간이 지남에 따라 태그 온톨로지의 변경 사항을 쉽게 관리할 수 있습니다.

지정된 LF 태그 표현식 내에서 태그 키는 AND 작업을 사용하여 결합되고 값은 OR 작업을 사용하여 결합됩니다. 예를 들어, `content_type:Sales AND location:US` 태그 표현식은 미국의 판매 데이터와 관련된 리소스를 나타냅니다.

 AWS 계정에서 최대 1,000개의 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 메서드를 사용하여 Data Catalog 리소스에 대한 권한을 보안 주체에 부여할 수 있습니다. 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/ko_kr/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. **추가**를 선택합니다.

------
#### [ 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 및 다른 보안 주체에게 권한을 부여할 수 있는 권한을 부여합니다. | 

이러한 권한은 부여가 가능합니다. 권한 부여 옵션을 통해 이러한 권한을 부여받은 보안 주체는 다른 보안 주체에 해당 권한을 부여할 수 있습니다.

# LF 태그 표현식 생성
<a name="TBAC-creating-tag-expressions"></a>

Lake Formation에서 모든 LF 태그를 정의하고 Data Catalog 리소스에 할당해야 표현식을 생성하는 데 사용할 수 있습니다. LF 태그 표현식은 하나 이상의 키와 각 키에 대해 하나 이상의 가능한 값으로 구성됩니다.

 데이터 레이크 관리자가 LF 태그 표현식 생성자 역할에 필요한 IAM 권한 및 Lake Formation 권한을 설정하고 나면 보안 주체가 재사용 가능한 LF 태그 표현식을 생성할 수 있습니다. 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 태그 표현식 생성자 권한이 있는 보안 주체 또는 데이터 레이크 관리자로 로그인합니다.

1. 탐색 창의 **권한**에서 **LF 태그 및 권한을 선택합니다**.

1. **LF 태그 표현식**을 선택합니다. **LF 태그 표현식 추가 페이지**가 나타납니다.  
![\[페이지에는 이름, 설명 및 표현식 본문을 선택하는 드롭다운을 추가하는 필드가 있습니다. 사용자는 권한을 부여할 수도 있습니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/add-tag-expression.png)

1. 다음 정보를 입력합니다.
   + 이름 – 표현식의 고유한 이름을 입력합니다. 표현식 이름은 업데이트할 수 없습니다.
   + 설명 - 표현식의 세부 정보와 함께 표현식에 대한 선택적 설명을 제공합니다.
   + 표현식 - 태그 키와 관련 값을 지정하여 표현식을 생성합니다. 표현식당 최대 50개의 키를 추가할 수 있습니다. 표현식 본문의 모든 태그에 대해 `Grant with LF-Tags` Lake Formation 권한이 있어야 합니다.

      키마다 값이 하나 이상 있어야 합니다. 값을 여러 개 입력하려면 쉼표로 구분된 목록을 입력한 다음 **Enter** 키를 누르거나 한 번에 값을 하나씩 입력한 다음 각각 **추가**를 선택합니다. 키당 허용되는 최대 값 수는 1,000입니다.

      Lake Formation은 AND/OR 로직을 사용하여 표현식에 여러 키와 값을 결합합니다. 단일(키: 값 목록) 페어 내에서 값은 논리적 OR 연산자를 사용하여 결합됩니다. 예를 들어, 페어가 (Department : [Sales, Marketing])인 경우 리소스에 Department라는 태그가 있고 그 값이 Sales 또는 Marketing이면 태그가 일치한다는 의미입니다.

      여러 키를 지정하면 AND 논리 연산자로 키가 조인됩니다. 따라서 전체 표현식이 (Department : [Sales, Marketing]) AND (Location : [US, Canada])인 경우 Department 태그에 Sales OR Marketing 값이 있고 Location 태그에도 US OR Canada 값이 있는 리소스와 일치합니다. 다음은 여러 키와 값이 있는 또 다른 예입니다.

     LF 태그 표현식: (ContentType : [Video, Audio]) AND (Region : [Europe, Asia]) AND (Department : [Engineering, ProductManagement]).

     이 표현식은 ContentType 태그에 Video OR Audio AND 값이 있고, Region 태그에 Europe OR Asia AND 값이 있고, Department 태그에 Engineering OR ProductManagement 값이 있는 리소스와 일치합니다.

    LF 태그를 사용하여 데이터 레이크 권한을 부여할 때 태그 표현식을 저장할 수도 있습니다. 키 및 값 페어를 선택하고 **새 표현식으로 저장** 옵션을 선택합니다. 표현식을 설명하는 이름을 입력합니다.  
![\[페이지에는 표현식 본문을 선택하는 필드와 이름을 입력하는 필드가 있습니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/save-expression-grant.png)

1.  (선택 사항) 다음으로 사용자/역할과 계정에서 부여하려는 표현식에 대한 권한을 선택합니다. 사용자가 계정의 다른 사용자에게 이러한 권한을 부여할 수 있도록 부여 가능한 권한을 선택할 수도 있습니다. 태그 표현식에 대한 교차 계정 권한을 부여할 수 없습니다.  
![\[페이지에는 다른 보안 주체에게 부여할 권한을 선택할 수 있는 필드가 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/grant-expression-permissions.png)

1. **추가**를 선택합니다.

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

**LF 태그 표현식을 생성하려면**
+ `create-lf-tag-expression` 명령을 입력합니다.

  다음 예제에서는 `Department` 태그에 `Sales` 및 `Marketing` 값이 있고 `Location` 태그에 `US` 값이 있는 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. 표현식은 연결된 태그를 기반으로 데이터베이스, 테이블, 보기 또는 열과 같은 Data Catalog 리소스에 권한을 부여하는 데 사용할 수 있습니다. 이 예제에서 표현식은 값이 `Sales` 또는 `Marketing`인 `Department` 키와 값이 `US`인 `Location` 키가 있는 리소스와 일치합니다.

------

 태그 표현식 생성자로서 보안 주체는 이 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 태그 표현식을 삭제하고 필요한 파라미터가 있는 태그를 추가합니다.

 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 - 명명된 태그 표현식이 있는 Data Catalog의 ID입니다.
+ expression - 표현식을 업데이트하려는 새 태그 표현식 문자열입니다.

------

# LF 태그 표현식 삭제
<a name="TBAC-deleting-expressions"></a>

더 이상 사용하지 않는 LF 태그 표현식을 삭제할 수 있습니다. LF 태그 표현식을 사용하여 Data Catalog 리소스에 대한 권한을 보안 주체에게 부여한 경우 더 이상 권한을 가지지 않습니다.

데이터 레이크 관리자, 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 태그 표현식을 삭제하시겠습니까?** 대화 상자에서, 삭제를 확인하려면 지정된 필드에 LF 태그 표현식 이름을 입력한 다음 **삭제**를 선택합니다.

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

**LF 태그를 삭제하려면(AWS CLI)**
+ `delete-lf-tag-expression` 명령을 입력합니다. 삭제할 표현식 이름과 카탈로그 ID를 입력합니다.  
**Example**  

  다음 예제에서는 ID가 `123456789012`인 Data Catalog에서 이름이 `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>

 설명 권한이 있는 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 태그 표현식을 나열하려면 list-lf-tag-expressions 명령을 사용할 AWS CLI수 있습니다. 요청 구문은 다음과 같습니다.

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

   위치:
  + `catalog-id`는에 대한 태그 표현식을 나열하려는 Data Catalog의 AWS 계정 ID입니다.
  + `max-items`는 반환할 최대 태그 표현식 수를 지정합니다. 이 파라미터를 사용하지 않으면 기본값은 100입니다.
  + `next-token`은 이전 요청에서 결과가 잘린 경우 연속 토큰입니다.

  응답에는 LF 태그 표현식 목록과 해당하는 경우 다음 토큰이 포함됩니다.

------

# LF 태그 값 권한 관리
<a name="TBAC-granting-tags"></a>

LF 태그 값 표현식을 관리하도록 LF 태그에 대한`Drop`, `Alter` 권한을 보안 주체에 부여할 수 있습니다. 또한 LF 태그에 대한 `Describe`, `Associate`, 및 `Grant with LF-Tag expressions` 권한을 보안 주체에 부여하여 LF 태그를 보고 데이터 카탈로그 리소스(데이터베이스, 테이블 및 열)에 할당하도록 할 수 있습니다. LF 태그가 데이터 카탈로그 리소스에 할당되면 Lake Formation 태그 기반 액세스 제어(LF-TBAC) 방법을 사용하여 해당 리소스를 보호할 수 있습니다. 자세한 내용은 [Lake Formation 태그 기반 액세스 제어](tag-based-access-control.md) 단원을 참조하십시오.

권한 부여 옵션으로 이러한 권한을 부여하여 다른 주체가 권한을 부여하도록 할 수 있습니다. `Grant with LF-Tag expressions`, `Describe` 및 `Associate` 권한에 대해서는 [LF 태그 생성자 추가](TBAC-adding-tag-creator.md#add-lf-tag-creator)에 설명되어 있습니다.

외부 AWS 계정에 LF 태그에 대한 `Describe` 및 `Associate` 권한을 부여할 수 있습니다. 그러면 해당 계정의 데이터 레이크 관리자가 계정의 다른 보안 주체에 그러한 권한을 부여할 수 있습니다. 외부 계정의 데이터 레이크 관리자가 `Associate` 권한을 부여한 보안 주체는 해당 계정과 공유한 데이터 카탈로그 리소스에 LF 태그를 할당할 수 있습니다.

외부 계정에 권한을 부여하는 경우 권한 부여 옵션을 포함해야 합니다.

Lake Formation 콘솔, API 또는 AWS Command Line Interface (AWS CLI)를 사용하여 LF 태그에 대한 권한을 부여할 수 있습니다.

**Topics**
+ [콘솔을 사용하여 LF 태그 권한 나열](TBAC-listing-tag-perms-console.md)
+ [콘솔을 사용하여 LF 태그 권한 부여](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 태그 권한 나열
<a name="TBAC-listing-tag-perms-console"></a>

Lake Formation 콘솔을 사용하여 LF 태그에 부여된 권한을 볼 수 있습니다. 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 태그 권한** 섹션에는 보안 주체, 태그 키, 값 및 권한이 포함된 테이블이 표시됩니다.  
![\[이 페이지에는 보안 주체, 보안 주체 유형, 키, 값, 권한 및 부여 가능 열이 있는 권한 테이블이 포함되어 있습니다. 5개의 행이 있습니다. 각 행의 왼쪽에는 라디오 버튼이 있습니다. 테이블 위에는 검색 필드와 새로 고침, 보기, 취소 및 권한 부여 버튼이 있습니다. 처음에는 행이 선택되어 있지 않으므로 보기 및 취소 버튼은 비활성화되어 있습니다. 첫 번째 행의 값은 다음과 같습니다. 보안 주체=arn:aws:iam::111122223333:user/datalake_admin, 보안 주체 유형=IAM 사용자, 키=environment, 값=모든 값, 권한=DESCRIBE, 부여 가능=DESCRIBE.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/list-tag-permissions-page.png)

# 콘솔을 사용하여 LF 태그 권한 부여
<a name="TBAC-granting-tags-console"></a>

다음 단계에서는 Lake Formation 콘솔의 **LF 태그 권한 부여** 페이지를 사용하여 LF 태그에 대한 권한 부여 방법을 설명합니다. 이 페이지는 다음과 같은 섹션으로 나뉘어 있습니다.
+ **권한 유형** - 부여할 권한 유형입니다.
+ **보안 주체** - IAM 사용자나 역할 또는 권한을 부여할 SAML 사용자나 역할입니다.
+  **LF 태그 키-값 페어 권한** 권한 - 권한을 부여할 LF 태그 키-값 페어입니다.
+  **LF 태그 권한** - 권한을 부여할 LF 태그입니다.
+  **LF 태그 표현식 권한** 권한 - 권한을 부여할 LF 태그입니다.
+  **권한** - 부여할 권한입니다.

## **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. **권한 부여**를 선택합니다.

## 권한 유형 지정
<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`)을 부여할 수 없습니다.

**보안 주체** 섹션에서 보안 주체 유형을 선택하고 권한을 부여할 보안 주체를 지정합니다.

![\[보안 주체 섹션에 다음 텍스트에서 이름이 지정된 타일 세 개가 있습니다. 각 타일에는 옵션 버튼과 텍스트가 있습니다. IAM 사용자 및 역할 타일이 선택되어 있고 타일 아래에 IAM 사용자 및 역할 드롭다운 목록이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/grant-tags-principals-section.png)


**IAM 사용자 및 역할**  
**IAM 사용자 및 역할** 목록에서 하나 이상의 사용자 또는 역할을 선택합니다.

**SAML 사용자 및 그룹**  
**SAML 및 빠른 사용자 및 그룹의** 경우 SAML을 통해 페더레이션된 사용자 또는 그룹의 경우 하나 이상의 Amazon 리소스 이름(ARNs)을 입력하고 빠른 사용자 또는 그룹의 경우 ARNs 입력합니다. 각 ARN을 입력한 후에 **Enter** 키를 누릅니다.  
ARN을 구성하는 방법에 대한 자세한 내용은 [Lake Formation 권한 부여 및 취소 AWS CLI 명령](lf-permissions-reference.md#perm-command-format) 섹션을 참조하세요.  
Quick과의 Lake Formation 통합은 Quick Enterprise Edition에서만 지원됩니다.

**외부 계정**  
**AWS 계정에** 유효한 AWS 계정 IDs 하나 이상 입력합니다. 각 ID를 입력한 후에 **Enter** 키를 누릅니다.  
조직 ID는 'o-'와 10\$132개의 소문자 또는 숫자로 구성됩니다.  
조직 단위 ID는 'ou-'로 시작하고 뒤에 4\$132개의 소문자 또는 숫자가 옵니다(OU가 포함된 루트의 ID). 이 문자열 뒤에는 두 번째 '-' 대시와 8\$132개의 추가 소문자 또는 숫자가 옵니다.  
IAM 보안 주체의 경우 IAM 사용자 또는 역할에 대한 ARN을 입력합니다.

## LF 태그 지정
<a name="grant-tags-tags"></a>

LF 태그에 대한 권한을 부여하려면 **LF 태그 권한** 섹션에서 권한을 부여할 LF 태그를 지정합니다.

![\[LF-태그 섹션에는 두 개의 필드 행이 표시됩니다. 각 행에는 왼쪽에서 오른쪽으로 키 필드, 값 필드 및 제거 버튼이 있습니다. 값 필드는 드롭다운 목록입니다. 두 필드 행 아래에는 LF 태그 추가 버튼이 있습니다. 첫 번째 행에는 키 필드에 'module'이 표시되고, 값 필드 아래에는 Orders 및 Sales가 각각 포함된 두 개의 작은 타일이 있는데, 이는 사용자가 키 module의 값으로 Orders 및 Sales를 선택했음을 나타냅니다. 각 타일에는 닫기 상자처럼 클릭 가능한 X 표시가 있어 타일을 삭제할 수 있습니다. 필드가 비어 있는 경우의 두 번째 행입니다.\]](http://docs.aws.amazon.com/ko_kr/lake-formation/latest/dg/images/grant-tags-tags-section-2.png)

+ 드롭다운을 사용하여 하나 이상의 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/ko_kr/lake-formation/latest/dg/images/tag-key-value-pair.png)

1. **키** 필드에 커서를 놓고 선택적으로 입력을 시작하여 선택 목록의 범위를 좁힌 다음 LF 태그 키를 선택합니다.

1. **값** 목록에서 하나 이상의 값을 선택한 다음 **Tab** 키를 누르거나 필드 외부를 클릭 또는 탭하여 선택한 값을 저장합니다.
**참고**  
**값** 목록의 행 중 하나에 포커스가 있는 경우 **Enter** 키를 누르면 확인란이 선택되거나 선택 취소됩니다.

   선택한 값은 **값** 목록 아래에 타일로 표시됩니다. 값을 제거하려면 ✖를 선택합니다. 전체 LF 태그를 제거하려면 **제거**를 선택합니다.

1. 다른 LF 태그를 추가하려면 **LF 태그 추가**를 다시 선택하고 이전 두 단계를 반복합니다.

## LF 태그 표현식 지정
<a name="w2aac15b9c27c19c21c17"></a>

1. LF 태그 표현식에 대한 권한을 부여하려면(먼저 **권한 유형**으로 **LF 태그 표현식 권한**을 선택해야 함)  
![\[Permission type selection interface with LF-Tag expression permissions highlighted.\]](http://docs.aws.amazon.com/ko_kr/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 태그 키-값 권한**에서 부여할 권한을 선택합니다.

   **연결** 권한을 부여하면 **설명** 권한이 암시적으로 부여됩니다. 권한 부여 수신자가 LF-TBAC 방법을 사용하여 데이터 카탈로그 리소스에 대한 액세스 권한을 부여하거나 취소할 수 있도록 하려면 **LF 태그 표현식으로 권한 부여**를 선택합니다.

1. **LF 태그 표현식 권한**에서 부여할 권한을 선택합니다.

   **삭제** 및 **변경** 권한을 부여하면 **설명** 권한이 암시적으로 부여됩니다.

   **슈퍼** 권한을 부여하면 사용 가능한 모든 권한이 부여됩니다.

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 태그 생성자 또는 데이터 레이크 관리자이거나 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 태그 키에 대한 모든 권한 부여를 나열할 수 있습니다. 다음 명령은 LF 태그 `module`에 대해 부여된 모든 권한을 반환합니다.

  ```
  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. 다음과 유사한 명령을 입력합니다. 이 예제는 사용자 `datalake_user1`에게 `module` 키를 가진 LF 태그에 대한 `Associate` 권한을 부여합니다. 별표(\$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` 권한을 사용자에게 부여합니다. 이는 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` 권한을 사용자에게 부여합니다. 이는 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)**
+ 다음과 유사한 명령을 입력합니다. 이 예제는 사용자 `datalake_user1`로부터 `module` 키를 가진 LF 태그에 대한 `Associate` 권한을 취소합니다.

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