步驟 4:建立適用於筆記本伺服器的 IAM 政策 - AWS Glue

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

步驟 4:建立適用於筆記本伺服器的 IAM 政策

如果您計劃使用筆記本搭配開發端點,您必須指定建立筆記本伺服器時的許可。您可用 AWS Identity and Access Management (IAM) 來提供這些許可。

此政策授予部分 Amazon S3 動作的許可,在 AWS Glue 擔任使用此政策的角色時可用於管理其所需的帳戶內資源。此政策指定的部分資源參照 AWS Glue 用於 Amazon S3 儲存貯體、Amazon S3 ETL 指令碼和 Amazon EC2 資源的預設名稱。為了簡化,AWS Glue 預設寫入部分 Amazon S3 物件到您預設字首為 aws-glue-* 之帳戶的儲存貯體內。

注意

如果您使用 AWS 受管政策 AWSGlueServiceNotebookRole,可跳過此步驟。

在本步驟中,您將建立一個類似 AWSGlueServiceNotebookRole 的政策。最新版本的 AWSGlueServiceNotebookRole 可在 IAM 主控台找到。

建立適用於筆記本的 IAM 政策
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在左側導覽窗格中選擇 Policies (政策)。

  3. 選擇 建立政策

  4. Create Policy (建立政策) 畫面上導覽至索引標籤,以編輯 JSON。使用下列 JSON 陳述式建立政策文件,然後選擇 Review policy (檢閱政策)。

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "glue:CreateDatabase", "glue:CreatePartition", "glue:CreateTable", "glue:DeleteDatabase", "glue:DeletePartition", "glue:DeleteTable", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartition", "glue:GetPartitions", "glue:GetTable", "glue:GetTableVersions", "glue:GetTables", "glue:UpdateDatabase", "glue:UpdatePartition", "glue:UpdateTable", "glue:GetJobBookmark", "glue:ResetJobBookmark", "glue:CreateConnection", "glue:CreateJob", "glue:DeleteConnection", "glue:DeleteJob", "glue:GetConnection", "glue:GetConnections", "glue:GetDevEndpoint", "glue:GetDevEndpoints", "glue:GetJob", "glue:GetJobs", "glue:UpdateJob", "glue:BatchDeleteConnection", "glue:UpdateConnection", "glue:GetUserDefinedFunction", "glue:UpdateUserDefinedFunction", "glue:GetUserDefinedFunctions", "glue:DeleteUserDefinedFunction", "glue:CreateUserDefinedFunction", "glue:BatchGetPartition", "glue:BatchDeletePartition", "glue:BatchCreatePartition", "glue:BatchDeleteTable", "glue:UpdateDevEndpoint", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketAcl" ], "Resource":[ "*" ] }, { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":[ "arn:aws:s3:::crawler-public*", "arn:aws:s3:::aws-glue*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:DeleteObject" ], "Resource":[ "arn:aws:s3:::aws-glue*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateTags", "ec2:DeleteTags" ], "Condition":{ "ForAllValues:StringEquals":{ "aws:TagKeys":[ "aws-glue-service-resource" ] } }, "Resource":[ "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:instance/*" ] } ] }

    下表說明此政策授予的許可。

    Action Resource Description (描述)

    "glue:*"

    "*"

    授予執行所有 AWS Glue API 操作的許可。

    "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketAcl"

    "*"

    允許從筆記本伺服器列出 Amazon S3 儲存貯體。

    "s3:GetObject"

    "arn:aws:s3:::crawler-public*", "arn:aws:s3:::aws-glue-*"

    允許從筆記本取得範例和教學所用的 Amazon S3 物件。

    命名慣例:名稱開頭為 crawler-publicaws-glue- 的 Amazon S3 儲存貯體。

    "s3:PutObject", "s3:DeleteObject"

    "arn:aws:s3:::aws-glue*"

    允許從筆記本在您的帳戶內放入和刪除 Amazon S3 物件。

    命名慣例:使用名為 aws-glue- 的 Amazon S3 資料夾。

    "ec2:CreateTags", "ec2:DeleteTags"

    "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:instance/*"

    允許標記專為筆記本伺服器建立的 Amazon EC2 資源。

    命名慣例:AWS Glue 會在 Amazon EC2 執行個體加上 aws-glue-service-resource 標籤。

  5. Review Policy (檢閱政策) 畫面上,輸入 Policy Name (政策名稱),例如 GlueServiceNotebookPolicyDefault。輸入選用的說明,當您對政策滿意時,即可選擇 Create policy (建立政策)