

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

# 使用具名資源方法授與資料庫許可
<a name="granting-database-permissions"></a>

下列步驟說明如何使用具名資源方法授予資料庫許可。

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

使用 Lake Formation 主控台上的**授予許可**頁面。頁面分為以下部分：
+  **委託人類型** – **委託人**區段包含 IAM 使用者、角色、IAM Identity Center 使用者和群組、SAML 使用者和群組、 AWS 帳戶、組織或組織單位，以授予許可。在**依屬性區分的主體**區段中，您可以指定連接到 IAM 角色之屬性的索引鍵和值。
+  **LF 標籤或目錄資源** – 授予許可的資料庫、資料表、檢視或資源連結。
+  **許可** – 要授予的 Lake Formation 許可。

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

1. 開啟**授予許可**頁面。

   在 https：//[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/) 開啟 AWS Lake Formation 主控台，並以資料湖管理員、資料庫建立者或對資料庫具有**可授予許可**的 IAM 使用者身分登入。

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

1. 在**委託人類型**區段中，使用屬性指定委託人或授予許可給委託人。  
![\[主體區段包含四個圖磚。每個圖磚都包含選項按鈕和文字。\]](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/identity-center-grant-perm.png)  
**IAM 使用者和角色**  
從 **IAM 使用者和角色清單中選擇一或多個使用者或角色**。  
**IAM Identity Center**  
從使用者和群組清單中選擇一或多個**使用者或群組**。選取**新增**以新增更多使用者或群組。  
**SAML 使用者和群組**  
對於 **SAML 和快速使用者和群組**，輸入透過 SAML 聯合的使用者或群組的一或多個 Amazon Resource Name (ARNs)，或 Amazon Quick 使用者或群組ARNs。在每個 ARN 後按下 Enter 鍵。  
如需如何建構 ARNs 的資訊，請參閱 [Lake Formation 授予和撤銷 AWS CLI 命令](lf-permissions-reference.md#perm-command-format)。  
僅 Quick Enterprise Edition 支援 Lake Formation 與 Quick 整合。  
**外部帳戶**  
針對 **AWS 帳戶、 AWS organization** 或 **IAM Principal**，輸入 IAM 使用者或角色的一或多個有效 AWS 帳戶 IDs、組織 IDs、組織單位 IDs 或 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-section-2.png)

1. 從資料庫清單中選擇一或多個**資料庫**。您也可以選擇一或多個**資料表**和/或**資料篩選條件**。

1. 在**許可**區段中，選取權限和可授予的權限。在**資料庫許可**下，選取要授予的一或多個許可。  
![\[許可區段包含兩個水平排列的圖磚。每個圖磚都包含選項按鈕和文字。已選取資料庫許可圖磚。另一個以資料欄為基礎的並排許可會停用，因為它與資料表許可相關。圖磚下方是一組核取方塊，用於授予資料庫許可。核取方塊包括建立資料表、更改、捨棄、描述和超級。在該群組下方是可授予許可的另一個相同核取方塊群組。\]](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/grant-target-db-permissions-section.png)
**注意**  
在具有指向已註冊位置之位置屬性的資料庫`Alter`上授予 `Create Table`或 之後，請務必同時將位置上的資料位置許可授予委託人。如需詳細資訊，請參閱[授予資料位置許可](granting-location-permissions.md)。

1. （選用） 在**可授予許可**下，選取授予收件人可以授予其 AWS 帳戶中其他主體的許可。當您從外部帳戶授予 IAM 主體權限時，此選項不受支援。

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

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

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

**使用 授予資料庫許可 AWS CLI**
+ 執行`grant-permissions`命令，並指定資料庫或 Data Catalog 做為資源，視授予的許可而定。

  在下列範例中，將 *<account-id>* 取代為有效的 AWS 帳戶 ID。  
**Example – 授予 以建立資料庫**  

  此範例`CREATE_DATABASE`會授予使用者 `datalake_user1`。由於授與此許可的資源是 Data Catalog，因此 命令會指定空`CatalogResource`結構做為 `resource` 參數。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'
  ```  
**Example – 授予 在指定的資料庫中建立資料表**  

  下一個範例會將資料庫`CREATE_TABLE`上的 授予`retail`使用者 `datalake_user1`。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
  ```  
**Example – 使用授予選項授予外部 AWS 帳戶**  

  下一個範例`CREATE_TABLE`會將 資料庫上的授予選項授予`retail`外部帳戶 1111-2222-3333。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
  ```  
**Example – 授予組織**  

  下一個範例`ALTER`會將 資料庫上的授予選項`issues`授予組織 `o-abcdefghijkl`。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "Database": {"Name":"issues"}}'
  ```  
**Example - 授予相同帳戶中`ALLIAMPrincipals`的**  

  下一個範例會將資料庫的`CREATE_TABLE`許可授予相同帳戶中`retail`的所有主體。此選項可讓帳戶中的每個主體在資料庫中建立資料表，並建立資料表資源連結，允許整合式查詢引擎存取共用資料庫和資料表。當委託人收到跨帳戶授予，而且沒有建立資源連結的許可時，此選項特別有用。在此案例中，資料湖管理員可以建立預留位置資料庫，並將`CREATE_TABLE`許可授予`ALLIAMPrincipal`群組，讓帳戶中的每個 IAM 主體都能在預留位置資料庫中建立資源連結。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "CREATE_TABLE"  --resource '{ "Database": {"Name":"temp","CatalogId":"111122223333"}}' 
  ```  
**Example - 授予外部帳戶中`ALLIAMPrincipals`的**  

  下一個範例會將資料庫`CREATE_TABLE`上的 授予外部帳戶`retail`中的所有主體。此選項可讓帳戶中的每個主體在資料庫中建立資料表。

  ```
  1. aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "CREATE_TABLE"  --resource '{ "Database": {"Name":"retail","CatalogId":"123456789012"}}'
  ```

**注意**  
在具有指向已註冊位置之位置屬性的資料庫`ALTER`上授予 `CREATE_TABLE`或 之後，請務必同時將位置上的資料位置許可授予委託人。如需詳細資訊，請參閱[授予資料位置許可](granting-location-permissions.md)。

------

**另請參閱**  
 [Lake Formation 許可參考](lf-permissions-reference.md) 
 [授予與您帳戶共用之資料庫或資料表的許可](regranting-shared-resources.md) 
 [存取和檢視共用的 Data Catalog 資料表和資料庫](viewing-shared-resources.md) 