

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

# 使用具名資源方法授予資料表許可
<a name="granting-table-permissions"></a>

您可以使用 Lake Formation 主控台或 AWS CLI 授予資料目錄資料表的 Lake Formation 許可。您可以授予個別資料表的許可，或使用單一授予操作，您可以授予資料庫中所有資料表的許可。

如果您授予資料庫中所有資料表的許可，則會隱含授予資料庫的`DESCRIBE`許可。然後，資料庫會出現在 主控台的**資料庫**頁面上，並由 `GetDatabases` API 操作傳回。使用屬性型存取控制 (ABAC) 時，此自動`DESCRIBE`許可授予不適用。使用屬性授予資料庫中所有資料表的許可時，Lake Formation 不會隱含地授予資料庫`DESCRIBE`許可。

當您選擇 `SELECT`做為授予許可時，您可以選擇套用資料欄篩選條件、資料列篩選條件或儲存格篩選條件。

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

下列步驟說明如何使用 Lake Formation 主控台上的具名資源方法和授予**資料湖許可頁面來授予資料表許可**。頁面分為以下部分：
+  **委託人類型** – 要授予許可的使用者、角色 AWS 、帳戶、組織或組織單位。您也可以將許可授予具有相符屬性的主體。
+  **LF 標籤或目錄資源** – 要授予許可的資料庫、資料表或資源連結。
+  **許可** – 要授予的 Lake Formation 許可。

**注意**  
若要授予資料表資源連結的許可，請參閱 [授予資源連結許可](granting-link-permissions.md)。

1. 開啟授予許可頁面。

   開啟位於 https：//[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/) 的 AWS Lake Formation 主控台，並以資料湖管理員、資料表建立者或已透過 授予選項授予資料表許可的使用者身分登入。

   執行以下任意一項：
   + 在導覽窗格中，選擇**許可下的資料****許可**。然後選擇**授予**。
   + 在導覽窗格中，選擇 **Tables** (資料表)。然後，在**資料表**頁面上，選擇資料表，然後在**動作**功能表的**許可**下，選擇**授予**。
**注意**  
您可以透過資料表的資源連結授予許可。若要這樣做，請在**資料表**頁面上，選擇資源連結，然後在**動作**功能表上，選擇**對目標授予**。如需詳細資訊，請參閱[資源連結在 Lake Formation 中如何運作](resource-links-about.md)。

1. 接著，在**委託人類型**區段中，指定具有相符屬性的委託人或委託人，以授予許可。  
**IAM 使用者和角色**  
從 **IAM 使用者和角色清單中選擇一或多個使用者或角色**。  
**IAM Identity Center**  
從使用者和群組清單中選擇一或多個**使用者或群組**。  
**SAML 使用者和群組**  
對於 **SAML 和快速使用者和群組**，輸入透過 SAML 聯合的使用者或群組的一或多個 Amazon Resource Name (ARNs)，或輸入快速使用者或群組ARNs。在每個 ARN 後按下 Enter 鍵。  
如需如何建構 ARNs 的資訊，請參閱 [Lake Formation 授予和撤銷 AWS CLI 命令](lf-permissions-reference.md#perm-command-format)。  
Lake Formation 與 Quick 整合僅支援 Quick Enterprise Edition。  
**外部帳戶**  
對於 **AWS 帳戶 、 AWS organization** 或 **IAM Principal**，輸入一或多個 AWS 帳戶 IDs、組織 IDs、組織單位 IDs 或 IAM 使用者或角色的 ARN。在每個 ID 之後按 **Enter**。  
組織 ID 包含「o-」，後面接著 10-32 個小寫字母或數字。  
組織單位 ID 以「ou-」開頭，後面接著 4-32 個小寫字母或數字 （包含 OU 的根 ID)。此字串後面接著第二個「-」字元和 8 到 32 個額外的小寫字母或數字。  
依屬性排列的委託人  
指定屬性索引鍵和值 (s)。如果您選擇多個值，則會使用 OR 運算子建立屬性表達式。這表示如果指派給 IAM 角色或使用者比對的任何屬性標籤值，該角色/使用者會取得資源的存取許可  
 指定您要將許可授予相同帳戶或其他帳戶中具有相符屬性的主體，以選擇許可範圍。

1. 在 **LF 標籤或目錄資源**區段中，選擇資料庫。然後選擇一或多個資料表，或**所有資料表**。  
![\[LF 標籤或目錄資源區段包含兩個水平排列的圖磚，其中每個圖磚都包含選項按鈕和描述性文字。這些選項是 LF 標籤比對的資源，以及具名資料目錄資源。已選取具名資料目錄資源。圖磚下方有兩個下拉式清單：資料庫和資料表。資料庫下拉式清單下方有一個圖磚，其中包含選取的資料庫名稱。資料表下拉式清單下方有一個圖磚，其中包含選取的資料表名稱。\]](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/grant-target-resources-tables-section-2.png)

1. 

**指定沒有資料篩選的許可。**

   在**許可**區段中，選取要授予的資料表許可，並選擇性地選取可授予的許可。  
![\[資料表和資料欄許可區段有兩個子區段：資料表許可和可授予許可。每個子區段都有每個可能的 Lake Formation 許可的核取方塊：更改、插入、捨棄、刪除、選取、描述和超級。Super 許可設定在其他許可的右側，並具有描述：「此許可允許委託人將任何許可授予左側，並取代這些可授予的許可。」\]](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/grant-table-permissions-section-no-filter.png)

   如果您授予**選取**，**資料許可**區段會顯示在**資料表和資料欄許可**區段下方，預設會選取**所有資料存取**選項。接受預設值。  
![\[本節包含三個水平排列的圖磚，每個圖磚都有選項按鈕和描述。選項按鈕包括：所有資料存取 （已選取）、簡易資料欄型存取，以及進階儲存格層級篩選條件。\]](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/grant-select-all-data-access.png)

1. 選擇 **Grant** (授予)。

1. 

**使用資料篩選指定**選取**許可**

   選取**選取**許可。請勿選取任何其他許可。

   **資料許可**區段會出現在**資料表和資料欄許可**區段下方。

1. 執行以下任意一項：
   + 僅套用簡單的資料欄篩選。

     1. 選擇**簡易資料欄型存取**。  
![\[頂端區段是資料表和資料欄許可區段。如上述螢幕擷取畫面所述。它包含資料表許可和可授予許可的核取方塊。底部區段的資料許可具有三個水平排列的圖磚，其中每個圖磚都有選項按鈕和描述。選項包括所有資料存取、簡易資料欄型存取和進階儲存格層級篩選條件。已選取簡易資料欄型存取選項。圖磚下方是具有選擇許可篩選條件標籤的選項按鈕群組。選項包括資料欄和排除資料欄。選項群組下方是選取欄下拉式清單，下方則是可授予許可子區段，其中包含一個標示為選取的核取方塊。\]](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/grant-table-permissions-section-column-filter.png)

     1. 選擇是否包含或排除資料欄，然後選擇要包含或排除的資料欄。

        將許可授予外部 AWS 帳戶或組織時，僅支援包含清單。

     1. （選用） 在**可授予許可**下，開啟選取許可的授予選項。

         如果您包含授予選項，則授予收件人只能在您授予給他們的資料欄上授予許可。
**注意**  
您也可以透過建立資料篩選條件來套用資料欄篩選，以指定資料欄篩選條件，並將所有資料列指定為資料列篩選條件。不過，這需要更多步驟。
   + 套用資料欄、資料列或儲存格篩選。

     1. 選擇**進階儲存格層級篩選條件**。  
![\[本節標題為資料許可，位於資料表許可區段下方。它有三個水平排列的圖磚，其中每個圖磚都有一個選項按鈕和描述。選項包括所有資料存取、簡易資料欄型存取和進階儲存格層級篩選條件。已選取進階儲存格層級篩選條件選項。圖磚下方是標籤 檢視現有許可，其中向左顯示曝光三角形。現有的許可不會公開。以下是標題為要授予之資料篩選條件的區段。標題右側有三個按鈕：重新整理、管理篩選條件和建立新篩選條件。在標題和按鈕下方是具有「尋找篩選條件」預留位置文字的文字欄位。下面是現有篩選條件的資料表。每一列左側都有一個核取方塊。欄標題為篩選條件名稱、資料表、資料庫和資料表目錄 ID。有兩個資料列。第一列中的篩選條件名稱是 restrict-pharma。第二列中的名稱是非製藥。\]](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/grant-table-permissions-section-cell-filter.png)

     1. （選用） 展開 **檢視現有的許可**。

     1. （選用） 選擇**建立新篩選條件**。

     1. （選用） 若要檢視所列篩選條件的詳細資訊，或建立新的或刪除現有的篩選條件，請選擇**管理篩選條件**。

        **資料篩選條件**頁面會在新的瀏覽器視窗中開啟。

        當您在**資料篩選條件**頁面上完成時，請返回**授予許可**頁面，並視需要重新整理頁面以檢視您建立的任何新資料篩選條件。

     1. 選取要套用至授予的一或多個資料篩選條件。
**注意**  
如果清單中沒有資料篩選條件，表示未為選取的資料表建立資料篩選條件。

1. 選擇 **Grant** (授予)。

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

您可以使用具名資源方法和 () AWS Command Line Interface 來授予資料表許可AWS CLI。

**使用 授予資料表許可 AWS CLI**
+ 執行`grant-permissions`命令，並將資料表指定為資源。

**Example – 授予單一資料表 - 不篩選**  
下列範例`ALTER`會將 `SELECT`和 授予資料庫 `datalake_user1` 中 資料表的帳戶 AWS 1111-2222-3333 `inventory`中的使用者`retail`。  

```
1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
```
如果您在已註冊位置中對其基礎資料的資料表授予 `ALTER`許可，請務必同時將位置上的資料位置許可授予委託人。如需詳細資訊，請參閱[授予資料位置許可](granting-location-permissions.md)。

**Example – 使用授予選項授予所有資料表 - 不篩選**  
下一個範例會`SELECT`授予資料庫 中所有資料表的授予選項`retail`。  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --permissions-with-grant-option "SELECT" --resource '{ "Table": { "DatabaseName": "retail", "TableWildcard": {} } }'
```<a name="simple-column-filter-example"></a>

**Example – 使用簡單的資料欄篩選授予**  
下一個範例會在資料表 中的資料欄子集`SELECT`上授予 `persons`。它使用簡單的資料欄篩選。  

```
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"hr", "Name":"persons", "ColumnNames":["family_name", "given_name", "gender"]}}'
```

**Example – 使用資料篩選條件授予**  
此範例會授予 `orders`資料表`SELECT`，並套用`restrict-pharma`資料篩選條件。  

```
aws lakeformation grant-permissions --cli-input-json file://grant-params.json
```
以下是檔案 的內容`grant-params.json`。  

```
{
    "Principal": {"DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"},
    "Resource": {
        "DataCellsFilter": {
            "TableCatalogId": "111122223333",
            "DatabaseName": "sales",
            "TableName": "orders",
            "Name": "restrict-pharma"
        }
    },
    "Permissions": ["SELECT"],
    "PermissionsWithGrantOption": ["SELECT"]
}
```

------

**另請參閱**  
[Lake Formation 許可概觀](lf-permissions-overview.md)
[Lake Formation 中的資料篩選和儲存格層級安全性](data-filtering.md)
[Lake Formation 角色和 IAM 許可參考](permissions-reference.md)
 [授予資源連結許可](granting-link-permissions.md)
 [存取和檢視共用的 Data Catalog 資料表和資料庫](viewing-shared-resources.md) 