本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
EMR 筆記本的服務角色
每個EMR筆記本都需要存取其他 AWS 資源和執行動作的許可。附加至此服務角色IAM的政策提供許可,讓筆記本與其他 AWS 服務交互操作。當您使用 建立筆記本時 AWS Management Console,您可以指定AWS 服務角色。您可以使用預設的角色 EMR_Notebooks_DefaultRole
或指定您建立的角色。如果先前未建立筆記本,您可以選擇建立預設的角色。
-
預設角色名稱為
EMR_Notebooks_DefaultRole
。 -
附接至
EMR_Notebooks_DefaultRole
的預設受管政策是AmazonElasticMapReduceEditorsRole
和S3FullAccessPolicy
。
您的服務角色應使用下列信任政策。
重要
下列信任政策包含 aws:SourceArn
和 aws:SourceAccount
全域條件金鑰,這會限制您授予 Amazon EMR給帳戶中特定資源的許可。使用它們可以保護您免受混淆代理人問題。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "elasticmapreduce.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
<account-id>
" }, "ArnLike": { "aws:SourceArn": "arn:aws:elasticmapreduce:<region>
:<account-id>
:*" } } } ] }
AmazonElasticMapReduceEditorsRole
第 1 版的內容如下。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:RevokeSecurityGroupEgress", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "elasticmapreduce:ListInstances", "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListSteps" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "aws:elasticmapreduce:editor-id", "aws:elasticmapreduce:job-flow-id" ] } } } ] }
以下是 S3FullAccessPolicy
的內容。S3FullAccessPolicy
可讓您的服務角色讓EMR筆記本對 中的物件執行所有 Amazon S3 動作 AWS 帳戶。當您為EMR筆記本建立自訂服務角色時,您必須提供您的服務角色 Amazon S3 許可。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }
您可以將服務角色的讀取和寫入存取權範圍縮減至要儲存筆記本檔案的 Amazon S3 位置。請使用下列最小 Amazon S3 許可集。
"s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:ListBucket", "s3:DeleteObject"
如果您的 Amazon S3 儲存貯體已加密,您必須包含 AWS Key Management Service的下列許可。
"kms:Decrypt", "kms:GenerateDataKey", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey"
當您將 Git 儲存庫連結至筆記本,且需要為儲存庫建立秘密時,您必須在連接至 Amazon EMR筆記本服務角色IAM的政策中新增secretsmanager:GetSecretValue
許可。範例政策如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
EMR 筆記本服務角色許可
此資料表列出EMR筆記本使用服務角色採取的動作,以及每個動作所需的許可。
動作 | 許可 |
---|---|
在筆記本和 Amazon EMR叢集之間建立安全網路通道,並執行必要的清除動作。 |
|
使用儲存在 AWS Secrets Manager 中的 Git 憑證,以將 Git 儲存庫連結至筆記本。 |
|
將 AWS 標籤套用至EMR筆記本在設定安全網路頻道時建立的網路介面和預設安全群組。如需詳細資訊,請參閱標記 AWS 資源。 |
|
存取筆記本檔案和中繼資料或將其上傳至 Amazon S3。 |
僅當您使用加密的 Amazon S3 儲存貯體時,才需要下列許可。
|
EMR AWS 受管政策的筆記本更新
檢視自 2021 年 3 月 1 日起EMR對筆記本的 AWS 受管政策更新的詳細資訊。
變更 | 描述 | 日期 |
---|---|---|
AmazonElasticMapReduceEditorsRole - Added
permissions |
EMR 筆記本已新增 |
2023 年 2 月 8 日 |
EMR 筆記本開始追蹤變更 |
EMR 筆記本開始追蹤其 AWS 受管政策的變更。 |
2023 年 2 月 8 日 |