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

建立 Session Manager 的自訂 IAM 角色

您可以建立自訂 AWS Identity and Access Management (IAM) 角色,在您的執行個體上只提供 Session Manager 動作的許可權限。您也可以包含政策,為工作階段日誌提供所需許可,以便傳送到 Amazon Simple Storage Service (Amazon S3) 和 Amazon CloudWatch Logs。

建立 IAM 角色後,請參閱將 IAM 角色連接至執行個體連接或取代執行個體設定檔,了解如何將角色連接到執行個體的詳細資訊。如需 IAM 執行個體設定檔和角色的詳細資訊,請參閱《IAM 使用者指南》中的使用執行個體設定檔適用於 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. 將預設內容取代為以下內容:

    { "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" } ] }

    關於「ssmmessages」

    如需 ssmmessages 的資訊,請參閱「參考:ec2messages、ssmmessages 和其他 API 操作」。

    關於「kms:Decrypt」

    在這個政策中,kms:Decrypt 許可會啟用對工作階段資料的客戶金鑰加密和解密。如果您將使用 AWS Key Management Service (AWS KMS) 來加密工作階段資料,將 key-name 取代為您希望使用的 KMS 金鑰 的 Amazon 資源名稱 (ARN),格式為 arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE

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

    , { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "key-name" }

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

  5. 選擇 Review policy (檢閱政策)。

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

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

  8. 選擇 Create policy (建立政策)

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

  10. Create role (建立角色) 頁面,選擇 AWS service (服務),然後從 Choose the service that will use this role (選擇會使用此角色的服務) 清單,選擇 EC2

  11. 選擇 Next: Permissions (下一步:許可)

  12. Attached permissions policy (連接的許可政策) 頁面,選取您剛建立名稱左側的核取方塊,例如 SessionManagerPermissions

  13. 選擇 Next:Review (下一步:檢閱)。

  14. Review (檢閱) 頁面的 Role name (角色名稱) 中,輸入 IAM 角色的名稱,例如 MySessionManagerRole

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

  16. 選擇 Create Role (建立角色)。

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

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

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

建立具有 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. 將預設內容取代為以下內容。請務必將 DOC-EXAMPLE-BUCKETs3-bucket-prefix 取代為您的儲存貯體的名稱和其字首 (如果有的話)。如需以下政策中 ssmmessages 的相關資訊,請參閱 參考:ec2messages、ssmmessages 和其他 API 操作

    { "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": "*" } ] }
    重要

    若要將工作階段日誌輸出到不同 AWS 帳戶 所擁有的 Amazon S3 儲存貯體,您必須將 IAM s3:PutObjectAcl 許可新增至此政策。如果未新增此許可,擁有 Amazon S3 儲存貯體的帳戶就無法存取工作階段輸出日誌。

  5. 選擇 Review policy (檢閱政策)。

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

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

  8. 選擇 Create policy (建立政策)

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

  10. Create role (建立角色) 頁面,選擇 AWS service (服務),然後從 Choose the service that will use this role (選擇會使用此角色的服務) 清單,選擇 EC2

  11. 選擇 Next: Permissions (下一步:許可)

  12. Attached permissions policy (連接的許可政策) 頁面,選取您剛建立名稱左側的核取方塊,例如 SessionManagerPermissions

  13. 選擇 Next:Review (下一步:檢閱)。

  14. Review (檢閱) 頁面的 Role name (角色名稱) 中,輸入 IAM 角色的名稱,例如 MySessionManagerRole

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

  16. 選擇 Create Role (建立角色)。