建立 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 使用者指南中的使用執行個體設定檔和 Amazon EC2 適用於 Linux 執行個體的 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": [ "s3:GetEncryptionConfiguration" ], "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. 選擇 下一步

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

  15. 選擇 下一步

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

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

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

    選擇 建立角色

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

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

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

重要

若要將工作階段日誌輸出到不同所擁有的 Amazon S3 儲存貯體AWS 帳戶,您必須將s3:PutObjectAcl許可新增至 IAM 角色政策。此外,您必須確保儲存貯體政策授與擁有帳戶所使用的 IAM 角色的跨帳戶存取權,以授予受管執行個體的 Systems Manager 權限。如果儲存貯體使用金鑰管理服務 (KMS) 加密,則儲存貯體的 KMS 政策也必須授予此跨帳戶存取權。如需在 Amazon S3 中設定跨帳戶儲存貯體許可的詳細資訊,請參閱 Amazon 簡單儲存體服務使用者指南中的授予跨帳戶儲存貯體許可。如果未新增跨帳戶許可,擁有 Amazon S3 儲存貯體的帳戶將無法存取工作階段輸出日誌。

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

建立具有 Amazon Simple Storage Service (Amazon S3)Session Manager 和 CloudWatch 日誌 (主控台) 許可的 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. 選擇 下一步

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

  15. 選擇 下一步

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

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

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

  19. 選擇 建立角色