

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 中繼資料許可
<a name="metadata-permissions"></a>

 Lake Formation 提供 Data Catalog 的授權和存取控制。當 IAM 角色從任何系統進行 Data Catalog API 呼叫時，Data Catalog 會驗證使用者的資料許可，並僅傳回使用者有權存取的中繼資料。例如，如果 IAM 角色只能存取資料庫中的一個資料表，且擔任該角色的服務或使用者執行`GetTables`操作，則無論資料庫中的資料表數目為何，回應只會包含一個資料表。

 **預設設定 - `IAMAllowedPrincipal`群組許可**

 AWS Lake Formation根據預設， 會將所有資料庫和資料表的許可設定為名為 的虛擬群組`IAMAllowedPrincipal`。此群組是唯一的，並且僅在 Lake Formation 中可見。`IAMAllowedPrincipal` 群組包含所有可透過 IAM 主體政策和資源政策存取 Data Catalog AWS Glue 資源的 IAM 主體。如果此許可存在於資料庫或資料表上，則會授予所有主體存取資料庫或資料表的權限。

如果您想要在資料庫或資料表上提供更精細的許可，請移除`IAMAllowedPrincipal`許可，Lake Formation 會強制執行與該資料庫或資料表相關聯的所有其他政策。例如，如果有政策允許使用者 A 存取具有`DESCRIBE`許可的資料庫 A，且 `IAMAllowedPrincipal` 具有所有許可，則使用者 A 將繼續執行所有其他動作，直到撤銷`IAMAllowedPrincipal`許可為止。

此外，根據預設， `IAMAllowedPrincipal`群組在建立所有新資料庫和資料表時都有其許可。控制此行為的組態有兩種。第一個位於帳戶和區域層級，為新建立的資料庫啟用此功能，第二個位於資料庫層級。若要修改預設設定，請參閱 [變更預設許可模型或使用混合存取模式](initial-lf-config.md#setup-change-cat-settings)。

## 授予許可
<a name="grant-permissions"></a>

資料湖管理員可以將 Data Catalog 許可授予主體，以便主體可以建立和管理資料庫和資料表，並可以存取基礎資料。

 **資料庫和資料表層級許可**

當您在 Lake Formation 中授予許可時，授予者必須指定授予許可的委託人、授予許可的資源，以及承授者應有權執行的動作。對於 Lake Formation 中的大多數資源，授予許可的委託人清單和資源都很類似，但承授者可以執行的動作會根據資源類型而有所不同。例如，資料表可讀取資料表的`SELECT`許可，但資料庫不允許`SELECT`許可。資料庫上允許 `CREATE_TABLE`許可，但資料表上不允許 許可。

您可以使用兩種方法來授予 AWS Lake Formation 許可：
+ [具名資源方法](granting-cat-perms-named-resource.md) – 可讓您在授予使用者許可時選擇資料庫和資料表名稱。
+ [LF 標籤型存取控制 (LF-TBAC)](granting-catalog-perms-TBAC.md) – 使用者建立 LF 標籤、將其與 Data Catalog 資源建立關聯、對 LF 標籤授予`Describe`許可、將許可關聯至個別使用者，以及使用 LF 標籤將 LF 許可政策寫入至不同使用者。這類以 LF-Tag-based政策適用於與這些 LF 標籤值相關聯的所有資料目錄資源。
**注意**  
LF 標籤對 Lake Formation 是唯一的。它們僅在 Lake Formation 中可見，不應與 AWS 資源標籤混淆。

  LF-TBAC 是一項功能，可讓使用者將資源分組為使用者定義的 LF 標籤類別，並在這些資源群組上套用許可。因此，這是跨大量 Data Catalog 資源擴展許可的最佳方式。

  如需詳細資訊，請參閱[Lake Formation 標籤型存取控制](tag-based-access-control.md)。

 當您將許可授予委託人時，Lake Formation 會將許可評估為該使用者所有政策的聯集。例如，如果您的委託人資料表上有兩個政策，其中一個政策透過具名資源方法授予資料欄 col1、col2 和 col3 的許可，而另一個政策授予相同資料表和委託人 col5 的許可，以及透過 LF 標籤的 col6，則有效的許可將是許可的聯集，即 col1、col2、col3、col5 和 col6。這也包含資料篩選條件和資料列。

**資料位置許可**  
資料位置許可可讓非管理使用者在特定 Amazon S3 位置建立資料庫和資料表。如果使用者嘗試在他們沒有建立許可的位置建立資料庫或資料表，則建立任務會失敗。這是為了防止使用者在資料湖內的任意位置建立資料表，並提供使用者可讀取和寫入資料的位置控制。在建立資料表的資料庫中的 Amazon S3 位置中建立資料表時，會有隱含許可。如需詳細資訊，請參閱[授予資料位置許可](granting-location-permissions.md)。

**建立資料表和資料庫許可**  
根據預設，非管理使用者沒有在資料庫中建立資料庫或資料表的許可。資料庫建立是在帳戶層級使用 Lake Formation 設定進行控制，因此只有授權的主體才能建立資料庫。如需詳細資訊，請參閱[建立資料庫](creating-database.md)。若要建立資料表，主體需要建立資料表之資料庫的`CREATE_TABLE`許可。如需詳細資訊，請參閱[建立資料表建置 AWS Glue Data Catalog 檢視](creating-tables.md)。

**隱含和明確許可**  
Lake Formation 會根據角色和角色執行的動作提供隱含許可。例如，資料湖管理員會自動取得資料目錄中所有資源的`DESCRIBE`許可、所有位置的資料位置許可、在所有位置建立資料庫和資料表的許可，`Grant`以及任何資源的`Revoke`許可。資料庫建立者會自動取得其所建立資料庫的所有資料庫許可，而資料表建立者則取得其所建立資料表的所有許可。如需詳細資訊，請參閱[隱含 Lake Formation 許可](implicit-permissions.md)。

**准許許可**  
資料湖管理員能夠透過提供可授予的許可，將許可的管理委派給非管理使用者。當委託人獲得資源的可授予許可和一組許可時，該委託人將能夠授予該資源上的其他委託人許可。