針EMR對無伺服器使用服務連結角色 - Amazon EMR

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

針EMR對無伺服器使用服務連結角色

Amazon EMR 無伺服器使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結至EMR無伺服器的唯一IAM角色類型。服務連結角色由EMR無伺服器預先定義,並包含服務呼叫其他人所需的所有權限 AWS 代表您提供的服務。

服務連結角色可讓EMR無伺服器的設定更容易,因為您不需要手動新增必要的權限。EMR無伺服器會定義其服務連結角色的權限,除非另有定義,否則只有EMR無伺服器可以擔任其角色。定義的權限包括信任原則和權限原則,而且該權限原則無法附加至任何其他IAM實體。

您必須先刪除服務連結角色的相關資源,才能將其刪除。這樣可以保護您的EMR無伺服器資源,因為您無法意外移除存取資源的權限。

如需支援服務連結角色之其他服務的相關資訊,請參閱 AWS 使用的服務,IAM並在服務連結角色欄中尋找具有 [是] 的服務。選擇具有連結的,以檢視該服務的服務連結角色文件。

無伺服器EMR的服務連結角色權限

EMR無伺服器會使用名為的服務連結角色,讓其能AWSServiceRoleForAmazonEMRServerless夠呼叫 AWS APIs代表您。

服 AWSServiceRoleForAmazonEMRServerless 務連結角色會信任下列服務擔任該角色:

  • ops.emr-serverless.amazonaws.com

名為的角色權限原則AmazonEMRServerlessServiceRolePolicy允許EMR無伺服器對指定的資源完成下列動作。

注意

受管理的原則內容會變更,因此此處顯示的政策可能已過期。檢視中最多的 up-to-date 原mazonEMRServerlessServiceRolePolicy則 A AWS Management Console.

  • 動作:ec2:CreateNetworkInterface

  • 動作:ec2:DeleteNetworkInterface

  • 動作:ec2:DescribeNetworkInterfaces

  • 動作:ec2:DescribeSecurityGroups

  • 動作:ec2:DescribeSubnets

  • 動作:ec2:DescribeVpcs

  • 動作:ec2:DescribeDhcpOptions

  • 動作:ec2:DescribeRouteTables

  • 動作:cloudwatch:PutMetricData

以下是完整的AmazonEMRServerlessServiceRolePolicy政策。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2PolicyStatement", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Sid": "CloudWatchPolicyStatement", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "cloudwatch:namespace": [ "AWS/EMRServerless", "AWS/Usage" ] } } } ] }

下列信任原則已附加至此角色,以允許EMR無伺服器主體擔任此角色。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ops.emr-serverless.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

您必須設定權限,才能允許IAM實體 (例如使用者、群組或角色) 建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱IAM使用指南中的服務連結角色權限

建立無伺服器EMR的服務連結角色

您不需要手動建立一個服務連結角色。當您在 EMR AWS Management Console (使用EMR工作室), AWS CLI,或 AWS API,EMR無伺服器會為您建立服務連結角色。您必須設定權限,才能允許IAM實體 (例如使用者、群組或角色) 建立、編輯或刪除服務連結角色。

若要使用建立 AWSServiceRoleForAmazonEMRServerless 服務連結角色 IAM

針對需要建立服務連結角色的IAM實體,將下列陳述式新增至權限原則。

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::*:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*", "Condition": {"StringLike": {"iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"}} }

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。當您建立新的EMR無伺服器應用程式時,EMR無伺服器會再次為您建立服務連結角色。

您也可以使用IAM主控台建立具有EMR無伺服器使用案例的服務連結角色。在 AWS CLI 或 AWS API,建立具有ops.emr-serverless.amazonaws.com服務名稱的服務連結角色。如需詳細資訊,請參閱IAM使用指南中的建立服務連結角色。如果您刪除此服務連結角色,您可以使用此相同的程序以再次建立該角色。

編輯無伺服器EMR的服務連結角色

EMR無伺服器不允許您編輯 AWSServiceRoleForAmazonEMRServerless 服務連結角色,因為各個實體可能會參照該角色。您無法編輯 AWS EMR無伺服器服務連結角色所使用的擁有IAM原則,因為它包含無伺服器需求的所有必要權限EMR。但是,您可以使用編輯角色的描述IAM。

若要使用編輯 AWSServiceRoleForAmazonEMRServerless 服務連結角色的說明 IAM

將下列陳述式新增至需要編輯服務連結角色描述之IAM實體的權限原則。

{ "Effect": "Allow", "Action": [ "iam: UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*", "Condition": {"StringLike": {"iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"}} }

如需詳細資訊,請參閱IAM使用指南中的編輯服務連結角色

刪除無伺服器EMR的服務連結角色

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。這樣您就不會擁有未被主動監視或維護的未使用實體。不過,您必須先刪除所有區域中的所有EMR無伺服器應用程式,才能刪除服務連結角色。

注意

當您嘗試刪除與該角色相關聯的資源時,如果EMR無伺服器服務正在使用該角色,則刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

若要使用刪除 AWSServiceRoleForAmazonEMRServerless 服務連結角色 IAM

將下列陳述式新增至需要刪除服務連結角色之IAM實體的權限原則。

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*", "Condition": {"StringLike": {"iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"}} }

若要使用手動刪除服務連結角色 IAM

使用IAM控制台 AWS CLI,或 AWS API以刪除 AWSServiceRoleForAmazonEMRServerless 服務連結角色。如需詳細資訊,請參閱IAM使用指南中的刪除服務連結角色

EMR無伺服器服務連結角色的支援區域

EMR無伺服器支援在所有提供服務的區域中使用服務連結角色。如需詳細資訊,請參閱 AWS 區域和端點