指派和管理EMR工作室使用者 - Amazon EMR

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

指派和管理EMR工作室使用者

建立 EMR Studio 之後,您可以為其指派使用者和群組。用來指派、更新和移除使用者的方法取決於 Studio 身分驗證模式。

  • 當您使用IAM驗證模式時,您可以在或使用您的身分識別提供IAM者中設定 EMR Studio 使用者指派IAM和權限。

  • 透過IAM身分識別中心身份驗證模式,您可 AWS CLI 以使用 Amazon EMR 管理主控台或管理使用者。

若要進一步了解 Amazon EMR 工作室的身份驗證,請參閱選擇 Amazon EMR 工作室的身份驗證模式

將使用者或群組指派給EMR工作室

IAM

當您使用時為 Amazon EMR 工作室設置IAM身份驗證模式,您必須允許使用者IAM權限原則中的CreateStudioPresignedUrl動作,並將使用者限制在特定的 Studio。可以將 CreateStudioPresignedUrl 包含在 IAM 身分驗證模式的使用者許可 中或使用單獨的政策。

若要限制使用者使用 Studio (或一組工作室),您可以使用以屬性為基礎的存取控制 (ABAC),或在許可政策的Resource元素中指定 Studio 的 Amazon 資源名稱 (ARN)。

範例 使用工作室將用戶分配給工作室 ARN

下列範例政策透過允許CreateStudioPresignedUrl動作並在Resource元素中指定 EMR Studio 的 Amazon 資源名稱 (ARN),為使用者提供存取特定 Studio 的權限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateStudioPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreateStudioPresignedUrl" ], "Resource": "arn:aws:elasticmapreduce:<region>:<account-id>:studio/<studio-id>" } ] }
範例 將用戶分配給 Studio ABAC 進行IAM身份驗證

有多種方法可以為 Studio 配置基於屬性的訪問控制(ABAC)。例如,您可以將一個或多個標籤附加到 EMR Studio,然後創建一個IAM策略,將CreateStudioPresignedUrl操作限制在具有這些標記的特定 Studio 或工作室集。

您可以在 Studio 建立期間或之後新增標籤。若要將標籤新增至現有 Studio,請使用 AWS CLIemr add-tags 命令。下列範例會將含有索引鍵值配對的標籤新增Team = Data Analytics至 EMR Studio。

aws emr add-tags --resource-id <example-studio-id> --tags Team="Data Analytics"

以下示例權限策略允許CreateStudioPresignedUrl對具有標籤鍵值對Team = DataAnalytics的 EMR Studios 執行操作。如需有關使用標籤來控制存取的詳細資訊,請參閱使用標籤來控制使用者和角色的存取權使用標籤來控制對 AWS 資源的存取

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateStudioPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreateStudioPresignedUrl" ], "Resource": "arn:aws:elasticmapreduce:<region>:<account-id>:studio/*", "Condition": { "StringEquals": { "elasticmapreduce:ResourceTag/Team": "Data Analytics" } } } ] }
範例 使用 aws:SourceIdentity 全局條件密鑰將用戶分配給工作室

當您使用IAM同盟時,您可以使用權限原則中的全域條件金鑰,aws:SourceIdentity在使用者擔任您的同盟IAM角色時,為使用者提供 Studio 存取權。

您必須先將身分識別提供者 (IdP) 設定為在使用者驗證並擔任您的同盟IAM角色時傳回識別字串,例如電子郵件地址或使用者名稱。IAMaws:SourceIdentity將全域條件索引鍵設定為 IdP 傳回的識別字串。

如需詳細資訊,請參閱 AWS 安全部落格中的如何將IAM角色活動與企業身分部落格建立關聯,以及全域條件金鑰參考中的 aws: SourceIdentity 項目。

下列範例原則允許CreateStudioPresignedUrl執行動作aws:SourceIdentity,並為使用者提供符合 <example-source-identity> 訪問由指定的EMR工作室 <example-studio-arn>.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticmapreduce:CreateStudioPresignedUrl", "Resource": "<example-studio-arn>", "Condition": { "StringLike": { "aws:SourceIdentity": "<example-source-identity>" } } } ] }
IAM Identity Center

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

注意

使用者或群組的最終權限是您的 EMR Studio 使用者角色中定義的權限,以及在該使用者或群組的工作階段原則中定義的權限的交集。如果使用者屬於指派給 Studio 的多個群組,EMRStudio 會使用該使用者的權限聯集。

使用 Amazon EMR 主控台將使用者或群組指派給EMR工作室
  1. 導覽至新的 Amazon EMR 主控台,然後從側邊導覽選取「切換至舊主控台」。如需有關切換至舊主控台時預期情況的詳細資訊,請參閱使用舊主控台

  2. 從左側導航中選擇「EMR工作室」。

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

  4. 選擇新增使用者,以查看使用者群組搜尋資料表。

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

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

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

  8. 遵循 更新指派給 Studio 的使用者或群組的許可 中的指示,為使用者或群組完善 Studio 許可。

若要將使用者或群組指派給 EMR Studio,請使用 AWS CLI

為下列 create-studio-session-mapping 引數插入您自己的值。如需 create-studio-session-mapping 命令的詳細資訊,請參閱《AWS CLI 命令參考》

  • --studio-id - 要為其指派使用者或群組的 Studio 的 ID。如需有關如何擷取 Studio ID 的說明,請參閱 檢視 Studio 詳細資訊

  • --identity-name - 身分存放區中使用者或群組的名稱。如需詳細資訊,請參UserName識別身分存放區API參考中的DisplayName針對使用者和群組。

  • --identity-type - 使用 USERGROUP 指定身分類型。

  • --session-policy-arn— 您要與使用者或群組產生關聯的工作階段政策的 Amazon 資源名稱 (ARN)。例如:arn:aws:iam::<aws-account-id>:policy/EMRStudio_Advanced_User_Policy。如需詳細資訊,請參閱為 EMR Studio 使用者建立權限原則

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 命令來驗證新的指派。Replace (取代) <example-identity-name> 使用您更新之使用者或群組的IAM身分識別中心名稱。

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

更新指派給 Studio 的使用者或群組的許可

IAM

若要在使用IAM驗證模式時更新使用者或群組IAM權限,請使用IAM變更附加至IAM身分識別 (使用者、群組或角色) 的權限原則。

如需詳細資訊,請參閱IAM 身分驗證模式的使用者許可

IAM Identity Center
使用主控台更新使用者或群組的 EMR Studio 權限
  1. 導覽至新的 Amazon EMR 主控台,然後從側邊導覽選取「切換至舊主控台」。如需有關切換至舊主控台時預期情況的詳細資訊,請參閱使用舊主控台

  2. 從左側導航中選擇「EMR工作室」。

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

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

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

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

若要更新使用者或群組的 EMR Studio 權限,請使用 AWS CLI

為下列 update-studio-session-mappings 引數插入您自己的值。如需 update-studio-session-mappings 命令的詳細資訊,請參閱《AWS CLI 命令參考》

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 命令來驗證新工作階段政策指派。Replace (取代) <example-identity-name> 使用您更新之使用者或群組的IAM身分識別中心名稱。

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

從 Studio 中移除使用者或群組

IAM

若要在使用IAM驗證模式時從 EMR Studio 移除使用者或群組,您必須重新設定使用者的權限原則來撤銷使用者對 Studio 的存取IAM權。

在下列範例原則中,假設您有具有標籤索引鍵值配對Team = Quality Assurance的 EMR Studio。根據該政策,使用者可以存取標記有 Team 金鑰的 Studio,該金鑰的值等於 Data AnalyticsQuality Assurance。若要從標記有 Team = Quality Assurance 的 Studio 中移除使用者,請從標籤值清單中移除 Quality Assurance

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateStudioPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreateStudioPresignedUrl" ], "Resource": "arn:aws:elasticmapreduce:<region>:<account-id>:studio/*", "Condition": { "StringEquals": { "emr:ResourceTag/Team": [ "Data Analytics", "Quality Assurance" ] } } } ] }
IAM Identity Center
若要使用主控台從 EMR Studio 移除使用者或群組
  1. 導覽至新的 Amazon EMR 主控台,然後從側邊導覽選取「切換至舊主控台」。如需有關切換至舊主控台時預期情況的詳細資訊,請參閱使用舊主控台

  2. 從左側導航中選擇「EMR工作室」。

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

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

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

若要從 EMR Studio 中移除使用者或群組,請使用 AWS CLI

為下列 delete-studio-session-mapping 引數插入您自己的值。如需 delete-studio-session-mapping 命令的詳細資訊,請參閱《AWS CLI 命令參考》

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