方法 2:使用 IAM 設定自動化的角色 - AWS Systems Manager

方法 2:使用 IAM 設定自動化的角色

如果您需要為 Automation (AWS Systems Manager 的一項功能) 建立服務角色,請完成以下任務。如需 Automation 需要服務角色之時機的詳細資訊,請參閱 設定自動化

任務 1:建立自動化的服務角色

使用下列處理程序以建立 Systems Manager Automation 的服務角色 (或擔任角色)。

注意

您也可以在 Runbook 中使用此角色,例如 AWS-CreateManagedLinuxInstance Runbook。使用此角色或 AWS Identity and Access Management (IAM) 角色的 Amazon 資源名稱 (ARN),在 Runbook 中讓 Automation 在您的環境中執行動作,例如啟動新的執行個體並代表您執行動作。

建立 IAM 角色並允許 Automation 擔任角色

  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)

  3. Select type of trusted entity (選擇可信任執行個體類型) 下,選擇 AWS service (AWS 服務)。

  4. Choose a use case (選擇使用案例) 區段中,選擇 Systems Manager (系統管理員),然後選擇 Next: Permissions (下一步:許可)

  5. Attached permissions policy (已連接許可政策) 頁面,搜尋 AmazonSSMAutomationRole (AmazonSSMAutomationRole) 政策,選取該政策,接著選擇 Next: Review (下一步:檢閱)

  6. Review (檢閱) 頁面,於 Role name (角色名稱) 方塊輸入名稱,接著輸入描述。

  7. 選擇 Create role (建立角色)。系統會讓您回到 Roles (角色) 頁面。

  8. Roles (角色) 頁面,選擇您剛建立的角色,以開啟 Summary (摘要) 頁面。請記下 Role Name (角色名稱)Role ARN (角色 ARN)。將 iam:PassRole 政策連接至下個程序中的 IAM 帳戶時,您要指定角色 ARN。您也可以在 Runbook 中指定角色名稱和 ARN。

注意

AmazonSSMAutomationRole 政策會指派 Automation 角色許可給您帳戶中一部分的 AWS Lambda 函數。這些函數會以 "Automation" 開頭。如果您打算使用 Automation 搭配 Lambda 函數,Lambda ARN 必須使用以下格式:

"arn:aws:lambda:*:*:function:Automation*"

如果您現有的 Lambda 函數之 ARN 不使用此格式,則您還必須將額外的 Lambda 政策連接至您的自動化角色,例如 AWSLambdaRole 政策。額外的政策或角色必須針對 AWS 帳戶 帳戶內的 Lambda 函數提供更廣泛的存取。

(選用) 新增 Automation 內嵌政策以叫用其他 AWS 服務

如果您執行可使用 IAM 服務角色叫用其他 AWS 服務的自動化,必須為該服務角色設定可叫用這些服務的許可。此要求適用於所有 AWS Automation Runbook (AWS-* Runbook),例如 AWS-ConfigureS3BucketLoggingAWS-CreateDynamoDBBackupAWS-RestartEC2Instance Runbook 等。此要求也適用於您所建立會透過呼叫其他服務的動作來叫用其他 AWS 服務的任何自訂 Runbooks。例如,如果您使用 aws:executeAwsApiaws:CreateStackaws:copyImage 等動作,則您必須為服務角色設定可叫用這些服務的許可。您可新增 IAM 內嵌政策到角色,以啟用其他 AWS 服務的許可。

嵌入服務角色的內嵌政策 (IAM 主控台)

  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇角色

  3. 在清單中,選擇您要編輯的角色名稱。

  4. 選擇 Permissions (許可) 標籤。

  5. 選擇 Add inline policy (新增內嵌政策)

  6. 請選擇 JSON 索引標籤。

  7. 輸入您要叫用的 AWS 服務的 JSON 政策文件。以下是兩個 JSON 政策文件範例。

    Amazon S3 PutObject 和 GetObject 範例

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

    Amazon EC2 CreateSnapshot 和 DescribeSnapShots 範例

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:DescribeSnapshots", "Resource":"*" } ] }

    如需 IAM 政策語言的詳細資訊,請參閱《IAM 使用者指南》中的 IAM JSON 政策參考

  8. 完成時,請選擇 Review policy (檢閱政策)Policy Validator (政策檢查工具) 會回報任何語法錯誤。

  9. Review policy (檢閱政策) 頁面,輸入您所建立政策的 Name (名稱)。檢閱政策 Summary (摘要) 來查看您的政策所授予的許可。然後選擇 Create policy (建立政策) 來儲存您的工作。

  10. 在您建立內嵌政策後,它會自動嵌入您的角色中。

任務 2:將 iam:PassRole 政策連接至自動化角色

使用以下程序將 iam:PassRole 政策連接至您的自動化服務角色。這可讓自動化服務在執行自動化時將角色傳遞至其他服務或 Systems Manager 功能。

將 iam: PassRole 政策連接至您的自動化角色

  1. 在您剛建立的角色之 Summary (摘要) 頁面,選擇 Permissions (許可) 索引標籤。

  2. 選擇 Add inline policy (新增內嵌政策)

  3. Create policy (建立政策) 頁面,選擇 Visual editor (視覺化編輯器) 索引標籤。

  4. 選擇 Service (服務),接著選擇 IAM (IAM)

  5. 選擇 Select actions (選取動作)

  6. Filter actions (篩選動作) 文字方塊中輸入 PassRole,接著選擇 PassRole 選項。

  7. 選擇 Resources (資源)。確認 Specific (特定) 已選取,接著選擇 Add ARN (新增 ARN)

  8. Specify ARN for role (指定角色的 ARN) 欄位中,貼上您在任務 1 結尾複製的自動化角色 ARN。系統會填入 Account (帳戶)Role name with path (角色名稱與路徑) 欄位。

    注意

    如果您想要自動化服務角色將 IAM 執行個體描述檔角色連接到 EC2 執行個體,則必須新增 IAM 執行個體描述檔角色的 ARN。這可讓自動化服務角色傳遞 IAM 執行個體描述檔角色到目標 EC2 執行個體。

  9. 選擇 Add (新增)

  10. 選擇 Review policy (檢閱政策)

  11. Review Policy (檢閱政策) 頁面輸入名稱,接著選擇 Create Policy (建立政策)。

任務 3:設定自動化的使用者存取權

如果您的 AWS Identity and Access Management (IAM) 使用者帳戶、群組或角色受指派管理員許可,則您可以存取 Systems Manager 自動化。如果您沒有管理員許可,則管理員必須指派 AmazonSSMFullAccess 受管政策或提供相當許可的政策給您的 IAM 帳戶、群組或角色,藉此給予您許可。

使用以下程序設定使用者帳戶以使用自動化。您選擇的使用者帳戶會擁有設定和執行自動化的許可。如果您需要建立新的使用者帳戶,請參閱《IAM 使用者指南》中的在您的 AWS 帳戶 中建立 IAM 使用者

設定使用者存取權並將 iam:PassRole 政策連接至使用者帳戶

  1. 在 IAM 導覽窗格中,選擇 Users (使用者),接著選擇要設定的使用者帳戶。

  2. Permissions (許可) 索引標籤,於政策清單中,確認 AmazonSSMFullAccess 政策已列出,或是有同等的政策能夠給予帳戶存取 Systems Manager 的許可。

  3. 選擇 Add inline policy (新增內嵌政策)

  4. Create policy (建立政策) 頁面上,選擇 Visual Editor (視覺化編輯器),然後選擇 Choose a service (選擇服務)

  5. 針對 AWSServices (服務),選擇 AWS Identity and Access Management

  6. 對於 Actions (動作),在 Filter actions (篩選條件動作) 中輸入 PassRole,然後選擇 PassRole (PassRole)。

  7. Resources (資源) 區段中,選擇 Add ARN (新增 ARN)、貼上您在任務 1 結尾複製之自動化服務角色的 ARN,然後選擇 Add (新增)

  8. 選擇 Review policy (檢閱政策)

  9. Review Policy (檢閱政策) 頁面上提供政策的 Name (名稱),然後選擇 Create policy (建立政策)

您已完成設定自動化所需的角色。您現在可以在 Runbook 中使用 Automation 服務角色 ARN。