在 Amazon Glue Studio 中开启笔记本
当您通过 Amazon Glue Studio 开启笔记本时,所有配置步骤都已为您完成,让您在几秒钟后即可浏览数据并开始开发任务脚本。
以下部分介绍如何创建角色并授予在 Amazon Glue Studio for ETL 作业中使用笔记本的适当权限。
有关 Amazon Glue 定义的操作的更多信息,请参阅 Actions defined by Amazon Glue。
为 IAM 角色授予权限
设置 Amazon Glue Studio 是使用笔记本的先决条件。
要在 Amazon Glue 中使用笔记本,您的角色需要满足以下条件:
-
与 Amazon Glue 建立信任关系以进行
sts:AssumeRole
操作,如果您要进行标记操作,则与sts:TagSession
建立信任关系。 -
包含笔记本电脑实例、Amazon Glue 和交互式会话的所有 API 操作的 IAM 策略。
-
传递角色的 IAM policy,因为该角色需要能够将自己从笔记本传递到交互式会话。
例如,在创建新角色时,您可以向该角色添加标准 Amazon 托管策略(如 AWSGlueConsoleFullAccessRole
),然后为笔记本操作添加新策略,为 IAM PassRole 策略添加另一个策略。
与 Amazon Glue 建立信任关系所需的操作
启动笔记本会话时,您必须将 sts:AssumeRole
添加至传递到笔记本的角色的信任关系中。如果您的会话包括标签,您也必须传递 sts:TagSession
操作。如果未进行这些操作,则笔记本会话无法开启。
例如:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
包含笔记本实例的 IAM 权限的策略
以下示例策略描述了笔记本所需的 Amazon IAM 权限。如果您要创建新角色,请创建包含以下内容的策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:StartNotebook", "glue:TerminateNotebook", "glue:GlueNotebookRefreshCredentials", "glue:DeregisterDataPreview", "glue:GetNotebookInstanceStatus", "glue:GlueNotebookAuthorize" ], "Resource": "*" } ] }
您可以使用以下 IAM 策略允许访问特定资源:
-
AwsGlueSessionUserRestrictedNotebookServiceRole:提供对除会话外所有 Amazon Glue 资源的完全访问权限。允许用户仅创建和使用与用户关联的笔记本会话。此策略还包括由 Amazon Glue 管理其他 Amazon 服务中的 Amazon Glue 资源所需的其他权限。
-
AwsGlueSessionUserRestrictedNotebookPolicy:提供允许用户仅创建和使用与用户关联的笔记本会话的权限。此策略还包括明确允许用户传递受限 Amazon Glue 会话角色的权限。
传递角色的 IAM policy
当您创建具有角色的笔记本时,该角色将传递至交互式会话,以便同一角色可以在两个位置使用。因此,iam:PassRole
权限需要成为角色策略的一部分。
使用以下示例为您的角色创建新策略。将账号替换为您的账号,并将角色名称替换为您的角色名称。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
090000000210
:role/<role_name
>" } ] }