本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 EMR Studio 之後,可以為其指派使用者和群組。用來指派、更新和移除使用者的方法取決於 Studio 身分驗證模式。
-
使用 IAM 身分驗證模式時,可以在 IAM 中或透過 IAM 和身分提供者來設定 EMR Studio 使用者指派和許可。
-
透過 IAM Identity Center 身分驗證模式,您可以使用 Amazon EMR 管理主控台或 AWS CLI 來管理使用者。
若要進一步了解 Amazon EMR Studio 的身分驗證,請參閱 選擇 Amazon EMR Studio 的身分驗證模式。
將使用者或群組指派給 EMR Studio
使用 設定 Amazon EMR Studio 的 IAM 身分驗證模式 時,必須允許使用者 IAM 許可政策中的 CreateStudioPresignedUrl
動作,並將使用者限制到特定 Studio。可以將 CreateStudioPresignedUrl
包含在 IAM 身分驗證模式的使用者許可 中或使用單獨的政策。
若要將使用者限制到某個 Studio (或一組 Studio),可以使用屬性型存取控制 (ABAC),或在許可政策的 Resource
元素中指定 Studio 的 Amazon Resource Name (ARN)。
範例 使用 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:<region>
:<account-id>
:studio/<studio-id>
"
}
]
}
範例 將使用者指派給具有 ABAC 的 Studio 以進行 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"
對於具有標籤鍵值對 Team = DataAnalytics
的 EMR Studio,下列範例許可政策允許 CreateStudioPresignedUrl
動作。如需有關使用標籤來控制存取的詳細資訊,請參閱使用標籤來控制使用者和角色的存取權或使用標籤來控制對 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 全域條件金鑰,將使用者指派給 Studio
當您使用 IAM 聯合身分時,可以使用許可政策中的全域條件金鑰 aws:SourceIdentity
,以便在使用者擔任 IAM 聯合角色時,為使用者提供 Studio 存取權。
當使用者驗證並擔任 IAM 聯合角色時,您必須先設定身分提供者 (IdP),以傳回識別字串,例如電子郵件地址或使用者名稱。IAM 將全域條件金鑰 aws:SourceIdentity
設定為 IdP 傳回的識別字串。
如需詳細資訊,請參閱「 AWS
安全部落格」中的如何將 IAM 角色活動與企業身分建立關聯
下列範例政策允許 CreateStudioPresignedUrl
動作,並允許具有 aws:SourceIdentity
(符合 <example-source-identity>
) 的使用者存取 <example-studio-arn>
指定的 EMR Studio。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "elasticmapreduce:CreateStudioPresignedUrl",
"Resource": "<example-studio-arn>
",
"Condition": {
"StringLike": {
"aws:SourceIdentity": "<example-source-identity>
"
}
}
}
]
}
更新指派給 Studio 的使用者或群組的許可
若要在使用 IAM 身分驗證模式時更新使用者或群組許可,請使用 IAM 來變更附接至 IAM 身分 (使用者、群組或角色) 的 IAM 許可政策。
如需詳細資訊,請參閱IAM 身分驗證模式的使用者許可。
從 Studio 中移除使用者或群組
若要在使用 IAM 身分驗證模式時從 EMR Studio 中移除使用者或群組,必須透過重新設定使用者的 IAM 許可政策,來撤銷使用者對 Studio 的存取權限。
在以下範例政策中,假設您有一個 EMR Studio,它含有標籤鍵值對 Team = Quality Assurance
。根據該政策,使用者可以存取標記有 Team
金鑰的 Studio,該金鑰的值等於 Data Analytics
或 Quality
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"
]
}
}
}
]
}