

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

# 指派和管理 EMR Studio 使用者
<a name="emr-studio-manage-users"></a>

建立 EMR Studio 之後，可以為其指派使用者和群組。用來指派、更新和移除使用者的方法取決於 Studio 身分驗證模式。
+ 使用 IAM 身分驗證模式時，可以在 IAM 中或透過 IAM 和身分提供者來設定 EMR Studio 使用者指派和許可。
+ 透過 IAM Identity Center 身分驗證模式，您可以使用 Amazon EMR 管理主控台或 AWS CLI 來管理使用者。

若要進一步了解 Amazon EMR Studio 的身分驗證，請參閱 [選擇 Amazon EMR Studio 的身分驗證模式](emr-studio-authentication.md)。

## 將使用者或群組指派給 EMR Studio
<a name="emr-studio-assign-users-groups"></a>

------
#### [ IAM ]

使用 [設定 Amazon EMR Studio 的 IAM 身分驗證模式](emr-studio-authentication.md#emr-studio-iam-authentication) 時，必須允許使用者 IAM 許可政策中的 `CreateStudioPresignedUrl` 動作，並將使用者限制到特定 Studio。可以將 `CreateStudioPresignedUrl` 包含在 [IAM 身分驗證模式的使用者許可](how-emr-studio-works.md#emr-studio-iam-authorization) 中或使用單獨的政策。

若要將使用者限制到某個 Studio (或一組 Studio)，可以使用屬性型存取控制 (ABAC)，或在許可政策的 `Resource` 元素中指定 Studio 的 Amazon Resource Name (ARN)。

**Example 使用 Studio ARN 將使用者指派給 Studio**  
下列範例政策允許使用者存取特定 EMR Studio，方法是允許 `CreateStudioPresignedUrl` 動作並在 `Resource` 元素中指定 Studio 的 Amazon Resource Name (ARN)。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateStudioPresignedUrl",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:CreateStudioPresignedUrl"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:studio/studio-id"
      ]
    }
  ]
}
```

**Example 將使用者指派給具有 ABAC 的 Studio 以進行 IAM 身分驗證**  
有多種方法可以為 Studio 設定屬性型存取控制 (ABAC)。例如，可以將一個或多個標籤附接至 EMR Studio，然後建立 IAM 政策，該政策可將 `CreateStudioPresignedUrl` 動作限制到具有這些標籤的特定 Studio 或 Studio 集合。  
您可以在 Studio 建立期間或之後新增標籤。若要將標籤新增至現有 Studio，請使用 [AWS CLI`emr add-tags`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/emr/add-tags.html) 命令。下列範例會將含有鍵值對 `Team = Data Analytics` 的標籤新增至 EMR Studio。  

```
aws emr add-tags --resource-id {{<example-studio-id>}} --tags Team="Data Analytics"
```
對於具有標籤鍵值對 `Team = DataAnalytics` 的 EMR Studio，下列範例許可政策允許 `CreateStudioPresignedUrl` 動作。如需有關使用標籤來控制存取的詳細資訊，請參閱[使用標籤來控制使用者和角色的存取權](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)或[使用標籤來控制對 AWS 資源的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateStudioPresignedUrl",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:CreateStudioPresignedUrl"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:*:123456789012:studio/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/Team": "Data Analytics"
        }
      }
    }
  ]
}
```

**Example 使用 aws:SourceIdentity 全域條件金鑰，將使用者指派給 Studio**  
當您使用 IAM 聯合身分時，可以使用許可政策中的全域條件金鑰 `aws:SourceIdentity`，以便在使用者擔任 IAM 聯合角色時，為使用者提供 Studio 存取權。  
當使用者驗證並擔任 IAM 聯合角色時，您必須先設定身分提供者 (IdP)，以傳回識別字串，例如電子郵件地址或使用者名稱。IAM 將全域條件金鑰 `aws:SourceIdentity` 設定為 IdP 傳回的識別字串。  
如需詳細資訊，請參閱「 AWS 安全部落格」中的[如何將 IAM 角色活動與企業身分建立關聯](https://aws.amazon.com/blogs/security/how-to-relate-iam-role-activity-to-corporate-identity/)部落格文章，以及全域條件金鑰參考中的 [aws:SourceIdentity](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceidentity) 項目。  
下列範例政策允許 `CreateStudioPresignedUrl` 動作，並允許具有 `aws:SourceIdentity` (符合 {{<example-source-identity>}}) 的使用者存取 {{<example-studio-arn>}} 指定的 EMR Studio。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:CreateStudioPresignedUrl"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:studio/studio-name"
      ],
      "Condition": {
        "StringLike": {
          "aws:SourceIdentity": "example-source-identity"
        }
      },
      "Sid": "AllowELASTICMAPREDUCECreatestudiopresignedurl"
    }
  ]
}
```

------
#### [ IAM Identity Center ]

當您將使用者或群組指派給 EMR Studio 時，可以指定定義精細許可的工作階段政策，例如為該使用者或群組建立新 EMR 叢集的能力。Amazon EMR 會儲存這些工作階段政策映射。可以在指派之後更新使用者或群組的工作階段政策。

**注意**  
使用者或群組的最終許可是 EMR Studio 使用者角色中定義的許可，以及在該使用者或群組的工作階段政策中定義的許可的交集。如果使用者屬於指派給 Studio 的多個群組，則 EMR Studio 會使用該使用者的許可集。

**使用 Amazon EMR 主控台將使用者或群組指派給 EMR Studio**

1. 導覽至新的 Amazon EMR 主控台，然後從側邊導覽選取**切換至舊主控台**。如需有關切換至舊主控台時預期情況的詳細資訊，請參閱[使用舊主控台](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in)。

1. 從左側導覽列中選擇 **EMR Studio**。

1. 從 **Studio** 清單中選擇您的 Studio 名稱，或選取 Studio 並選擇**檢視詳細資訊**以開啟 Studio 詳細資訊頁面。

1. 選擇**新增使用者**，以查看**使用者**和**群組**搜尋資料表。

1. 選取**使用者**索引標籤或**群組**索引標籤，然後在搜尋列中輸入搜尋詞彙以尋找使用者或群組。

1. 從搜尋結果清單中選取一個或多個使用者或群組。可以在**使用者**索引標籤和**群組**標籤之間來回切換。

1. 選取要新增至 Studio 的使用者和群組之後，請選擇**新增**。您應該會看到使用者和群組出現在 **Studio 使用者**清單中。重新整理清單可能需要幾秒鐘。

1. 遵循 [更新指派給 Studio 的使用者或群組的許可](#emr-studio-update-user) 中的指示，為使用者或群組完善 Studio 許可。

**使用 AWS CLI將使用者或群組指派給 EMR Studio**

為下列 `create-studio-session-mapping` 引數插入您自己的值。如需 `create-studio-session-mapping` 命令的詳細資訊，請參閱[《AWS CLI 命令參考》](https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html)。**
+ **`--studio-id`** - 要為其指派使用者或群組的 Studio 的 ID。如需有關如何擷取 Studio ID 的說明，請參閱 [檢視 Studio 詳細資訊](emr-studio-manage-studio.md#emr-studio-get-studio-id)。
+ `--identity-name` - 身分存放區中使用者或群組的名稱。如需詳細資訊，請參閱《身分存放區 API 參考》**中使用者的 [UserName](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName) 和群組的 [DisplayName](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName)。
+ **`--identity-type`** - 使用 `USER` 或 `GROUP` 指定身分類型。
+ **`--session-policy-arn`** - 要與使用者或群組建立關聯的工作階段政策的 Amazon Resource Name (ARN)。例如 `arn:aws:iam::{{<aws-account-id>}}:policy/{{EMRStudio_Advanced_User_Policy}}`。如需詳細資訊，請參閱[建立 EMR Studio 使用者的許可政策](emr-studio-user-permissions.md#emr-studio-permissions-policies)。

```
aws emr create-studio-session-mapping \
 --studio-id {{<example-studio-id>}} \
 --identity-name {{<example-identity-name>}} \
 --identity-type {{<USER-or-GROUP>}} \
 --session-policy-arn {{<example-session-policy-arn>}}
```

**注意**  
包含 Linux 行接續字元 (\\) 是為了提高可讀性。它們可以在 Linux 命令中移除或使用。對於 Windows，請將其移除或取代為插入符號 (^)。

使用 `get-studio-session-mapping` 命令來驗證新的指派。將 {{<example-identity-name>}} 取代為您更新的使用者或群組的 IAM Identity Center 名稱。

```
aws emr get-studio-session-mapping \
 --studio-id {{<example-studio-id>}} \
 --identity-type {{<USER-or-GROUP>}} \
 --identity-name {{<user-or-group-name>}} \
```

------

## 更新指派給 Studio 的使用者或群組的許可
<a name="emr-studio-update-user"></a>

------
#### [ IAM ]

若要在使用 IAM 身分驗證模式時更新使用者或群組許可，請使用 IAM 來變更附接至 IAM 身分 (使用者、群組或角色) 的 IAM 許可政策。

如需詳細資訊，請參閱[IAM 身分驗證模式的使用者許可](how-emr-studio-works.md#emr-studio-iam-authorization)。

------
#### [ IAM Identity Center ]

****使用主控台更新使用者或群組的 EMR Studio 許可****

1. 導覽至新的 Amazon EMR 主控台，然後從側邊導覽選取**切換至舊主控台**。如需有關切換至舊主控台時預期情況的詳細資訊，請參閱[使用舊主控台](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in)。

1. 從左側導覽列中選擇 **EMR Studio**。

1. 從 **Studio** 清單中選擇您的 Studio 名稱，或選取 Studio 並選擇**檢視詳細資訊**以開啟 Studio 詳細資訊頁面。

1. 在 Studio 詳細資訊頁面的 **Studio 使用者**清單中，搜尋要更新的使用者或群組。可以按名稱或身分類型進行搜尋。

1. 選取要更新的使用者或群組，然後選擇**指派政策**以開啟**工作階段政策**對話方塊。

1. 選取要套用至您在步驟 5 中所選使用者或群組的政策，然後選擇**套用政策**。**Studio 使用者**清單應該會在您更新的使用者或群組的**工作階段政策**資料欄中顯示政策名稱。

**使用 更新使用者或群組的 EMR Studio 許可 AWS CLI**

為下列 `update-studio-session-mappings` 引數插入您自己的值。如需 `update-studio-session-mappings` 命令的詳細資訊，請參閱[《AWS CLI 命令參考》](https://docs.aws.amazon.com/cli/latest/reference/emr/update-studio-session-mapping.html)。**

```
aws emr update-studio-session-mapping \
 --studio-id {{<example-studio-id>}} \
 --identity-name {{<name-of-user-or-group-to-update>}} \
 --session-policy-arn {{<new-session-policy-arn-to-apply>}} \
 --identity-type {{<USER-or-GROUP>}} \
```

使用 `get-studio-session-mapping` 命令來驗證新工作階段政策指派。將 {{<example-identity-name>}} 取代為您更新的使用者或群組的 IAM Identity Center 名稱。

```
aws emr get-studio-session-mapping \
 --studio-id {{<example-studio-id>}} \
 --identity-type {{<USER-or-GROUP>}} \
 --identity-name {{<user-or-group-name>}} \
```

------

## 從 Studio 中移除使用者或群組
<a name="emr-studio-remove-user"></a>

------
#### [ IAM ]

若要在使用 IAM 身分驗證模式時從 EMR Studio 中移除使用者或群組，必須透過重新設定使用者的 IAM 許可政策，來撤銷使用者對 Studio 的存取權限。

在以下範例政策中，假設您有一個 EMR Studio，它含有標籤鍵值對 `Team = Quality Assurance`。根據該政策，使用者可以存取標記有 `Team` 金鑰的 Studio，該金鑰的值等於 `Data Analytics` 或 `Quality Assurance`。若要從標記有 `Team = Quality Assurance` 的 Studio 中移除使用者，請從標籤值清單中移除 `Quality Assurance`。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateStudioPresignedUrl",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:CreateStudioPresignedUrl"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:studio/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/Team": [
            "Data Analytics",
            "Quality Assurance"
          ]
        }
      }
    }
  ]
}
```

------

------
#### [ IAM Identity Center ]

****使用主控台從 EMR Studio 中移除使用者或群組****

1. 導覽至新的 Amazon EMR 主控台，然後從側邊導覽選取**切換至舊主控台**。如需有關切換至舊主控台時預期情況的詳細資訊，請參閱[使用舊主控台](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in)。

1. 從左側導覽列中選擇 **EMR Studio**。

1. 從 **Studio** 清單中選擇您的 Studio 名稱，或選取 Studio 並選擇**檢視詳細資訊**以開啟 Studio 詳細資訊頁面。

1. 在 Studio 詳細資訊頁面的 **Studio 使用者**清單中，尋找要從 Studio 中移除的使用者或群組。可以按名稱或身分類型進行搜尋。

1. 選取您要刪除的使用者或群組，然後選擇**刪除**並確認。刪除的使用者或群組會從 **Studio 使用者**清單中消失。

**使用 AWS CLI從 EMR Studio 中移除使用者或群組**

為下列 `delete-studio-session-mapping` 引數插入您自己的值。如需 `delete-studio-session-mapping` 命令的詳細資訊，請參閱[《AWS CLI 命令參考》](https://docs.aws.amazon.com/cli/latest/reference/emr/delete-studio-session-mapping.html)。**

```
aws emr delete-studio-session-mapping \
 --studio-id {{<example-studio-id>}} \
 --identity-type {{<USER-or-GROUP>}} \
 --identity-name {{<name-of-user-or-group-to-delete>}} \
```

------