為 Linux 和 macOS 受管節點開啟執行身分支援 - AWS Systems Manager

為 Linux 和 macOS 受管節點開啟執行身分支援

在預設情況下,系統會使用在受管節點上建立的系統產生之 ssm-user 帳戶登入資料來啟動工作階段。在 Linux 和 macOS 機器上,帳戶新增到 /etc/sudoers/。您可以改用作業系統 (OS) 帳戶的登入資料來啟動工作階段。作業系統層級和目錄原則 (例如登入限制或系統資源使用限制) 可能不適用於作業系統帳戶,因為工作階段由 AWS Identity and Access Management (IAM) 授權,並在您指定的作業系統帳戶環境中執行。AWS Systems Manager Session Manager 會在啟動工作階段之前驗證您指定的作業系統帳戶是否存在。如果您指定的作業系統帳戶不存在,工作階段將無法啟動。Session Manager 提供兩種方法來指定要使用的作業系統帳戶。

方式 1:標記 IAM 使用者或角色 (建議)

您可以透過為 IAM 使用者或關聯的角色標記 AWS 提供的金鑰名稱 SSMSessionRunAs,並將作業系統使用者名稱指定為其值,來指定開始工作階段所要使用的作業系統使用者帳戶。例如,如果 OS 使用者帳戶名稱為 DevRoleLogin,要使用的對應標籤則為 SSMSessionRunAs = DevRoleLogin

使用這個方法,您就可以為您標記的每個 IAM 使用者或角色指定不同的作業系統帳戶名稱,或為它們都使用相同的作業系統使用者名稱。

如需標記 IAM 實體的詳細資訊,請參閱下列主題:

方法 2:在 Session Manager 偏好設定中指定作業系統的使用者名稱

在主控台或使用 AWS Command Line Interface (AWS CLI) 來設定 Session Manager 偏好設定時,您可以指定要用來開始工作階段的作業系統使用者名稱。

使用此方法,相同的作業系統使用者會為您帳戶中的所有 IAM 使用者執行所有工作階段,這些 IAM 使用者會使用 Session Manager 連接到受管節點。

運作方式

如果您為工作階段開啟執行身分支援,系統會如下檢查存取許可:

  1. 對於開始工作階段的使用者,其 IAM 使用者帳戶或角色是否都已標記 SSMSessionRunAs = os-user-account-name

    如果是,該受管節點上是否存在使用者名稱? 如果有,就開始工作階段。如果沒有,則不允許工作階段開始。

    如果 IAM 使用者的帳戶或角色 沒有標記 SSMSessionRunAs = os-user-account-name,則繼續步驟 2。

  2. 如果 IAM 使用者的帳戶或角色尚未標記 SSMSessionRunAs = os-user-account-name,是否在 AWS 帳戶 的 Session Manager 偏好設定中已指定作業系統使用者名稱?

    如果是,該受管節點上是否存在使用者名稱? 如果有,就開始工作階段。如果沒有,則不允許工作階段開始。

    此時,Session Manager 不會在預設的 ssm-user 帳戶上回復。換言之,啟用執行身分支援可避免在使用受管節點上的 ssm-user 帳戶的情形下開始工作階段。

為 Linux 和 macOS 受管節點開啟「執行身分」支援

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Session Manager

  3. 選擇 Preferences (偏好) 標籤,然後選擇 Edit (編輯)

  4. 選取 Enable Run As support for Linux instances (為 Linux 執行個體啟用執行身分支援) 旁的核取方塊。

  5. 執行下列任一步驟:

    • 選項 1:對於 (Optional) Enter an operating system user name for starting sessions ((選用) 輸入作業系統使用者名稱來開始工作階段),輸入在目標受管節點上您要用來開始工作階段的作業系統使用者帳戶名稱。

    • 選項 2:選擇 IAM console (IAM 主控台) 連結。在導覽窗格中,選擇 Users (使用者) 或者 Roles (角色)。選擇要新增標籤的實體 (使用者或角色),然後選擇 Tags (標籤) 標籤。在金鑰名稱輸入 SSMSessionRunAs。在鍵值中輸入目標受管節點上使用者帳戶的名稱。選擇 Save changes (儲存變更)。

      以下是範例。

      
                                        指定 Session Manager 執行身分許可標籤的螢幕擷取畫面。Key = SSMSessionRunAs,Value=My-OS-User-Name
  6. 選擇 Save (儲存)。