指派和管理 EMR Studio 使用者 - Amazon EMR

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

指派和管理 EMR Studio 使用者

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

  • 當您使用IAM身分驗證模式時,您可以在 中設定 EMR Studio 使用者指派和許可,IAM或與您的身分提供者IAM搭配使用。

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

若要進一步了解 Amazon EMR Studio 的身分驗證,請參閱選擇 Amazon EMR Studio 的身分驗證模式

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

IAM

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

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

範例 使用 Studio 將使用者指派給 Studio ARN

下列範例政策可讓使用者存取特定 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:<region>:<account-id>:studio/<studio-id>" } ] }
範例 使用 將使用者指派給 Studio ABAC進行IAM身分驗證

設定 Studio 的屬性型存取控制 (ABAC) 有多種方式。例如,您可以將一或多個標籤連接至 EMR Studio,然後建立IAM政策,將CreateStudioPresignedUrl動作限制為特定 Studio 或一組具有這些標籤的 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"

下列範例許可政策允許使用標籤鍵/值對 的 EMR Studio CreateStudioPresignedUrl動作Team = DataAnalytics。如需有關使用標籤來控制存取的詳細資訊,請參閱使用標籤來控制使用者和角色的存取權使用標籤來控制對 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 global 條件金鑰將使用者指派給 Studio

當您使用IAM聯合時,您可以在許可政策aws:SourceIdentity中使用全域條件金鑰,在使用者擔任聯合IAM角色時為他們提供 Studio 存取權。

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

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

下列範例政策允許 CreateStudioPresignedUrl動作,並給予具有 的使用者aws:SourceIdentity符合 所指定 EMR Studio <example-source-identity>存取權的 <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 Studio
  1. 導覽至新的 Amazon EMR主控台,然後從側邊導覽選取切換至舊主控台。如需有關切換至舊主控台時預期情況的詳細資訊,請參閱使用舊主控台

  2. 從左側導覽中選擇 EMR Studio

  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 - 身分存放區中使用者或群組的名稱。如需詳細資訊,請參閱 Identity Store API參考中的UserName適用於 使用者和DisplayName適用於 群組的 。

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

  • --session-policy-arn – 您要與使用者或群組建立關聯的工作階段政策的 Amazon Resource Name (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 命令來驗證新的指派。<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 的使用者或群組的許可

IAM

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

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

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

  2. 從左側導覽中選擇 EMR Studio

  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 命令來驗證新工作階段政策指派。<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 中移除使用者或群組

IAM

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

在下列範例政策中,假設您有一個具有標籤鍵/值對 的 EMR StudioTeam = Quality Assurance。根據該政策,使用者可以存取標記有 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 Studio

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