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

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

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

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

Power 使用者政策

若要授予 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,EMRServerless 應用程式會建立 Amazon EC2 彈性網路介面 (ENIs) 以與 VPC 資源通訊。下列政策可確保僅在無EMR伺服器應用程式的內容中EC2ENIs建立新的 。

注意

我們強烈建議設定此政策,以確保除了啟動 EMR Serverless 應用程式的情況EC2ENIs之外,使用者無法建立 。

{ "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伺服器存取,可以使用標籤條件來標記每個子網路。此IAM政策可確保無EMR伺服器應用程式只能在允許的子網路EC2ENIs內建立。

{ "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對無伺服器使用服務連結角色

下列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伺服器應用程式上唯讀許可,以及提交和偵錯任務功能的範例政策。請切記,因為此政策並未明確拒絕動作,不同的政策陳述式仍有可能用於授予指定動作存取權。

{ "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伺服器應用程式。

{ "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" } } } ] }