建立 Session Manager 的自訂 IAM 角色 - AWS Systems Manager

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

建立 Session Manager 的自訂 IAM 角色

您可以建立 AWS Identity and Access Management (IAM) 角色,以授予 Session Manager 在 Amazon EC2 受管執行個體上執行動作的許可。您也可以包含一項政策,以授予將工作階段日誌傳送到 Amazon Simple Storage Service (Amazon S3) 和 Amazon CloudWatch Logs 所需的許可。

建立 IAM 角色後,如需有關如何將連接至執行個體的資訊,請參閱 AWS re:Post 網站的連接或取代執行個體設定檔部分。如需詳有關 IAM 執行個體設定檔和角色的細資訊,請參閱《IAM 使用者指南》中的使用執行個體描述檔一節,以及《適用於 Linux 的 Amazon Elastic Compute Cloud 使用者指南》中的 Amazon EC2 IAM 角色一節。如需為內部部署機器建立 IAM 服務角色的詳細資訊,請參閱為混合式環境建立 IAM 服務角色

建立具有最小 Session Manager 許可的 IAM 角色 (主控台)

請使用下列處理程序來建立具有政策的自訂 IAM 角色,該政策在您的執行個體上只提供唯一的 Session Manager 動作許可。

建立含最小 Session Manager 許可的執行個體設定檔 (主控台)
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇 Policies (政策),然後選擇 Create policy (建立政策)。(顯示 Get Started (開始使用) 按鈕時先選擇它,然後選擇 Create Policy (建立政策)。)

  3. 請選擇 JSON 標籤。

  4. 將預設內容取代為以下政策。若要使用 AWS Key Management Service (AWS KMS) 加密工作階段資料,請將 key-name 替換為您想要使用的 AWS KMS key 的 Amazon Resource Name (ARN)。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:UpdateInstanceInformation", "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "key-name" } ] }

    如需使用 KMS 金鑰來加密工作階段資料的詳細資訊,請參閱 開啟工作階段資料的 KMS 金鑰加密 (主控台)

    如果您不使用 AWS KMS 來加密工作階段資料,您可以將以下內容從政策中移除:

    , { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "key-name" }
  5. 選擇 下一步:標籤

  6. (選用) 透過選擇 Add tag (新增標籤),然後輸入政策的首選標籤來新增標籤。

  7. 選擇 下一步:檢閱

  8. Review Policy (檢閱政策) 頁面上 Name (名稱)中,輸入該內嵌政策的名稱,例如 SessionManagerPermissions

  9. (選用) Description (說明),輸入政策的說明。

  10. 選擇 建立政策

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

  12. Create role (建立角色) 頁面上,選擇 AWS service (服務),針對 Use case (使用案例),選擇 EC2

  13. 選擇 Next (下一步)

  14. Add permissions (新增許可) 頁面,選取您剛建立政策左側的核取方塊,例如 SessionManagerPermissions

  15. 選擇 Next (下一步)

  16. Name, review, and create (名稱、檢閱和建立) 頁面的 Role name (角色名稱) 中,輸入 IAM 角色的名稱,例如 MySessionManagerRole

  17. (選用) Role description (角色說明),輸入執行個體設定檔的說明。

  18. (選用) 透過選擇 Add tag (新增標籤),然後輸入角色的首選標籤來新增標籤。

    選擇 建立角色

如需有關 ssmmessages 動作的資訊,請參閱 參考:ec2messages、ssmmessages 和其他 API 操作

建立具有 Session Manager、Amazon Simple Storage Service (Amazon S3) 和 CloudWatch Logs (主控台) 許可的 IAM 角色

請使用下列處理程序來建立具有政策自訂 IAM 角色,該政策在您的執行個體上提供 Session Manager 動作許可。此政策還提供在 Amazon Simple Storage Service (Amazon S3) 儲存貯體和 Amazon CloudWatch Logs 日誌群組中存放工作階段日誌的所需許可。

重要

若要將工作階段日誌輸出到不同 AWS 帳戶 所擁有的 Amazon Simple Storage Service (Amazon S3) 儲存貯體,您必須將 s3:PutObjectAcl 許可新增至該 IAM 角色政策。此外,您必須確保該儲存貯體政策將跨帳戶存取權授予擁有該儲存貯體的帳戶,用於授予受管執行個體 Systems Manager 許可所使用的 IAM 角色。如果該儲存貯體使用 Key Management Service (KMS) 加密,則該儲存貯體的 KMS 政策也必須授予此跨帳戶存取權。如需有關在 Amazon S3 中設定跨帳戶儲存貯體許可的更多資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的授予跨帳戶儲存貯體許可一節。如果未新增此許可,則擁有該 Amazon Simple Storage Service (Amazon S3) 儲存貯體的帳戶無法存取工作階段輸出日誌。

如需有關指定儲存工作階段日誌偏好的更多資訊,請參閱啟用和停用工作階段活動記錄

建立具有 Session Manager、Amazon Simple Storage Service (Amazon S3) 和 CloudWatch Logs (主控台) 許可的 IAM 角色
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇 Policies (政策),然後選擇 Create policy (建立政策)。(顯示 Get Started (開始使用) 按鈕時先選擇它,然後選擇 Create Policy (建立政策)。)

  3. 請選擇 JSON 標籤。

  4. 將預設內容取代為以下政策。將每個範例資源預留位置取代為您自己的資訊。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel", "ssm:UpdateInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/s3-bucket-prefix/*" }, { "Effect": "Allow", "Action": [ "s3:GetEncryptionConfiguration" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "key-name" }, { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "*" } ] }
  5. 選擇 下一步:標籤

  6. (選用) 透過選擇 Add tag (新增標籤),然後輸入政策的首選標籤來新增標籤。

  7. 選擇 下一步:檢閱

  8. Review Policy (檢閱政策) 頁面上 Name (名稱)中,輸入該內嵌政策的名稱,例如 SessionManagerPermissions

  9. (選用) Description (說明),輸入政策的說明。

  10. 選擇 建立政策

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

  12. Create role (建立角色) 頁面上,選擇 AWS service (服務),針對 Use case (使用案例),選擇 EC2

  13. 選擇 Next (下一步)

  14. Add permissions (新增許可) 頁面,選取您剛建立政策左側的核取方塊,例如 SessionManagerPermissions

  15. 選擇 Next (下一步)

  16. Name, review, and create (名稱、檢閱和建立) 頁面的 Role name (角色名稱) 中,輸入 IAM 角色的名稱,例如 MySessionManagerRole

  17. (選用) 在 Role description (角色說明) 中,輸入角色的說明。

  18. (選用) 透過選擇 Add tag (新增標籤),然後輸入角色的首選標籤來新增標籤。

  19. 選擇 建立角色