

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

# 步驟 3：連接政策到存取 AWS Glue 的使用者或群組
<a name="attach-policy-iam-user"></a>

管理員必須使用AWS Glue主控台或 AWS Command Line Interface () 將許可指派給任何使用者、群組或角色AWS CLI。您可透過政策用 AWS Identity and Access Management (IAM) 提供這些許可。此步驟說明如何將許可指派給使用者或群組。

完成此步驟時，您的使用者或群組將連接以下政策：
+  AWS 受管政策`AWSGlueConsoleFullAccess`或自訂政策 **GlueConsoleAccessPolicy**
+ **`AWSGlueConsoleSageMakerNotebookFullAccess`**
+ **`CloudWatchLogsReadOnlyAccess`**
+ **`AWSCloudFormationReadOnlyAccess`**
+ **`AmazonAthenaFullAccess`**

**連接內嵌政策並內嵌於使用者或群組**

您可以將 AWS 受管政策或內嵌政策連接至使用者或群組，以存取 AWS Glue主控台。此政策指定的部分資源參照 AWS Glue 用於 Amazon S3 儲存貯體、Amazon S3 ETL 指令碼、CloudWatch Logs、 CloudFormation和 Amazon EC2 資源的預設名稱。為了簡化，AWS Glue 寫入部分 Amazon S3 物件到您預設字首為 `aws-glue-*` 之帳戶的儲存貯體內。
**注意**  
如果您使用 AWS 受管政策 ，則可以略過此步驟**`AWSGlueConsoleFullAccess`**。
**重要**  
AWS Glue 需要獲得許可才能擔任代為執行任務的角色。**為了達成這個目標，您新增 `iam:PassRole` 許可至 AWS Glue 使用者或群組。**此政策授予許可給 AWS Glue 服務角色開頭為 `AWSGlueServiceRole` 的角色，和建立筆記本伺服器時需要之角色的 `AWSGlueServiceNotebookRole`。您也可以依照您的命名慣例建立自己的 `iam:PassRole` 許可政策。  
根據安全最佳實務，建議透過限制政策來限制存取，以進一步限制對 Amazon S3 儲存貯體和 Amazon CloudWatch 日誌群組的存取。如需範例 Amazon S3 政策，請參閱[編寫 IAM 政策：如何授予 Amazon S3 儲存貯體的存取](https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/)。

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

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇**群組**或**使用者**。

1. 在清單中，選擇要內嵌政策的使用者或群組名稱。

1. 選擇 **Permissions (許可)** 索引標籤，並在必要時，展開 **Permissions policies (許可政策)** 部分。

1. 選擇 **Add Inline policy** (新增內嵌政策) 連結。

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

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "glue:*",
           "redshift:DescribeClusters",
           "redshift:DescribeClusterSubnetGroups",
           "iam:ListRoles",
           "iam:ListUsers",
           "iam:ListGroups",
           "iam:ListRolePolicies",
           "iam:GetRole",
           "iam:GetRolePolicy",
           "iam:ListAttachedRolePolicies",
           "ec2:DescribeSecurityGroups",
           "ec2:DescribeSubnets",
           "ec2:DescribeVpcs",
           "ec2:DescribeVpcEndpoints",
           "ec2:DescribeRouteTables",
           "ec2:DescribeVpcAttribute",
           "ec2:DescribeKeyPairs",
           "ec2:DescribeInstances",
           "rds:DescribeDBInstances",
           "rds:DescribeDBClusters",
           "rds:DescribeDBSubnetGroups",
           "s3:ListAllMyBuckets",
           "s3:ListBucket",
           "s3:GetBucketAcl",
           "s3:GetBucketLocation",
           "cloudformation:DescribeStacks",
           "cloudformation:GetTemplateSummary",
           "dynamodb:ListTables",
           "kms:ListAliases",
           "kms:DescribeKey",
           "cloudwatch:GetMetricData",
           "cloudwatch:ListDashboards"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:PutObject"
         ],
         "Resource": [
           "arn:aws:s3:::*/*aws-glue-*/*",
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "tag:GetResources"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:CreateBucket",
           "s3:PutBucketPublicAccessBlock"
         ],
         "Resource": [
           "arn:aws:s3:::aws-glue-*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "logs:GetLogEvents"
         ],
         "Resource": [
           "arn:aws:logs:*:*:/aws-glue/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "cloudformation:CreateStack",
           "cloudformation:DeleteStack"
         ],
         "Resource": "arn:aws:cloudformation:*:*:stack/aws-glue*/*"
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:RunInstances"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:instance/*",
           "arn:aws:ec2:*:*:key-pair/*",
           "arn:aws:ec2:*:*:image/*",
           "arn:aws:ec2:*:*:security-group/*",
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:subnet/*",
           "arn:aws:ec2:*:*:volume/*"
         ]
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*",
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "glue.amazonaws.com"
             ]
           }
         }
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:iam::*:role/AWSGlueServiceNotebookRole*",
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "ec2.amazonaws.com"
             ]
           }
         }
       },
       {
         "Action": [
           "iam:PassRole"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:iam::*:role/service-role/AWSGlueServiceRole*"
         ],
         "Condition": {
           "StringLike": {
             "iam:PassedToService": [
               "glue.amazonaws.com"
             ]
           }
         }
       }
     ]
   }
   ```

------

   下表說明此政策授予的許可。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/attach-policy-iam-user.html)

1. 在 **Review policy (檢閱政策)** 頁面上，輸入政策名稱 (例如 **GlueConsoleAccessPolicy**)。當您滿意時，選擇 **Create policy (建立政策)**。確認畫面頂端的紅色方塊未出現任何錯誤。如出現任何錯誤，請加以修正。
**注意**  
如果選取 **Use autoformatting** (使用自動格式化)，每當您開啟政策或選擇 **Validate Policy** (驗證政策) 時，政策都會重新格式化。

**附加 AWSGlueConsoleFullAccess 受管政策**

您可連接 `AWSGlueConsoleFullAccess` 政策，以提供 AWS Glue 主控台使用者所需要的許可。
**注意**  
如果您已自行為 AWS Glue 主控台存取建立政策，可跳過此步驟。

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇**政策**。

1. 在政策清單中，選取 **AWSGlueConsoleFullAccess** 旁的核取方塊。您可用**篩選**功能表和搜尋方塊來篩選政策清單。

1. 選擇**政策動作**，再選擇**附加**。

1. 選擇要附加政策的使用者。您可用**篩選**功能表和搜尋方塊來篩選主體實體清單。選擇要附加的使用者後，選擇**附加政策**。

**連接 `AWSGlueConsoleSageMakerNotebookFullAccess` 受管政策**

您可以將 `AWSGlueConsoleSageMakerNotebookFullAccess` 政策連接至使用者，以管理在 AWS Glue 主控台中建立的 SageMaker AI 筆記本。除了其他必要的 AWS Glue 主控台許可之外，此政策會授予管理 SageMaker AI 筆記本所需的資源存取權。

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇**政策**。

1. 在政策清單中，選取 **AWSGlueConsoleSageMakerNotebookFullAccess** 旁的核取方塊。您可用**篩選**功能表和搜尋方塊來篩選政策清單。

1. 選擇**政策動作**，再選擇**附加**。

1. 選擇要附加政策的使用者。您可用**篩選**功能表和搜尋方塊來篩選主體實體清單。選擇要附加的使用者後，選擇**附加政策**。

**附加 CloudWatchLogsReadOnlyAccess 受管政策**

您可以將 **CloudWatchLogsReadOnlyAccess** 政策連接到使用者，以在 CloudWatch Logs 主控台上檢視 AWS Glue 建立的日誌。

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇**政策**。

1. 在政策清單中，選取 **CloudWatchLogsReadOnlyAccess** 旁的核取方塊。您可用**篩選**功能表和搜尋方塊來篩選政策清單。

1. 選擇**政策動作**，再選擇**附加**。

1. 選擇要附加政策的使用者。您可用**篩選**功能表和搜尋方塊來篩選主體實體清單。選擇要附加的使用者後，選擇**附加政策**。

**附加 AWSCloudFormationReadOnlyAccess 受管政策**

您可以將 **AWSCloudFormationReadOnlyAccess** 政策連接至使用者，以在 CloudFormation 主控台AWS Glue上檢視 使用的 CloudFormation 堆疊。

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇**政策**。

1. 在政策清單中，選取 **AWSCloudFormationReadOnlyAccess** 旁的核取方塊。您可用**篩選**功能表和搜尋方塊來篩選政策清單。

1. 選擇**政策動作**，再選擇**附加**。

1. 選擇要附加政策的使用者。您可用**篩選**功能表和搜尋方塊來篩選主體實體清單。選擇要附加的使用者後，選擇**附加政策**。

**連接 AmazonAthenaFullAccess 受管政策**

您可以將 **AmazonAthenaFullAccess** 政策連接到使用者，以在 Athena 主控台中檢視 Amazon S3 資料。

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇**政策**。

1. 在政策清單中，選取 **AmazonAthenaFullAccess** 旁的核取方塊。您可用**篩選**功能表和搜尋方塊來篩選政策清單。

1. 選擇**政策動作**，再選擇**附加**。

1. 選擇要附加政策的使用者。您可用**篩選**功能表和搜尋方塊來篩選主體實體清單。選擇要附加的使用者後，選擇**附加政策**。