EMR Serverless 的使用者存取政策範例 - Amazon EMR

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

EMR Serverless 的使用者存取政策範例

您可以根據您希望每個使用者在與 EMR Serverless 應用程式互動時執行的動作,為使用者設定精細的政策。下列政策範例可能有助於為您的使用者設定正確的許可。本節僅著重於 EMR Serverless 政策。如需 EMR Studio 使用者政策的範例,請參閱設定 EMR Studio 使用者許可。如需如何將政策連接至 IAM 使用者 (原則) 的詳細資訊,請參閱《IAM 使用者指南》中的管理 IAM 政策

進階使用者政策

若要授予 EMR Serverless 的所有必要動作,請建立AmazonEMRServerlessFullAccess政策並將其連接至所需的 IAM 使用者、角色或群組。

以下是允許進階使用者建立和修改 EMR Serverless 應用程式,以及執行其他動作的範例政策,例如提交和偵錯任務。它會顯示 EMR Serverless 對其他服務所需的所有動作。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessActions", "Effect": "Allow", "Action": [ "emr-serverless:CreateApplication", "emr-serverless:UpdateApplication", "emr-serverless:DeleteApplication", "emr-serverless:ListApplications", "emr-serverless:GetApplication", "emr-serverless:StartApplication", "emr-serverless:StopApplication", "emr-serverless:StartJobRun", "emr-serverless:CancelJobRun", "emr-serverless:ListJobRuns", "emr-serverless:GetJobRun" ], "Resource": "*" } ] }

當您啟用 VPC 的網路連線時,EMR Serverless 應用程式會建立 Amazon EC2 彈性網路介面 (ENIs) 來與 VPC 資源通訊。下列政策可確保僅在 EMR Serverless 應用程式的內容中建立新的 EC2 ENIs。

注意

我們強烈建議設定此政策,以確保使用者無法建立 EC2 ENIs除非在啟動 EMR Serverless 應用程式的情況下。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEC2ENICreationWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ], "Condition": { "StringEquals": { "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com" } } } }

如果您想要限制對特定子網路的 EMR Serverless 存取,您可以使用標籤條件來標記每個子網路。此 IAM 政策可確保 EMR Serverless 應用程式只能在允許的子網路內建立 EC2 ENIs。

{ "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/KEY": "VALUE" } } }
重要

如果您是建立第一個應用程式的管理員或進階使用者,您必須設定許可政策,以允許您建立 EMR Serverless 服務連結角色。如需詳細資訊,請參閱 使用 EMR Serverless 的服務連結角色

下列 IAM 政策可讓您為帳戶建立 EMR Serverless 服務連結角色。

{ "Sid":"AllowEMRServerlessServiceLinkedRoleCreation", "Effect":"Allow", "Action":"iam:CreateServiceLinkedRole", "Resource":"arn:aws:iam::account-id:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless" }

資料工程師政策

以下是允許使用者在 EMR Serverless 應用程式上唯讀許可的範例政策,以及提交和偵錯任務的功能。請切記,因為此政策並未明確拒絕動作,不同的政策陳述式仍有可能用於授予指定動作存取權。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessActions", "Effect": "Allow", "Action": [ "emr-serverless:ListApplications", "emr-serverless:GetApplication", "emr-serverless:StartApplication", "emr-serverless:StartJobRun", "emr-serverless:CancelJobRun", "emr-serverless:ListJobRuns", "emr-serverless:GetJobRun" ], "Resource": "*" } ] }

使用存取控制的標籤

您可以使用標籤條件進行精細存取控制。例如,您可以限制一個團隊的使用者,讓他們只能將任務提交至標示其團隊名稱的 EMR Serverless 應用程式。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessActions", "Effect": "Allow", "Action": [ "emr-serverless:ListApplications", "emr-serverless:GetApplication", "emr-serverless:StartApplication", "emr-serverless:StartJobRun", "emr-serverless:CancelJobRun", "emr-serverless:ListJobRuns", "emr-serverless:GetJobRun" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Team": "team-name" } } } ] }