AWSSupport-ResetLinuxUserPassword - AWS Systems Manager 自動化手冊參考

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

AWSSupport-ResetLinuxUserPassword

Description

AWSSupport-ResetLinuxUserPasswordrunbook 可協助您重設本機作業系統 (OS) 使用者的密碼。對於需要使用序列主控台存取 Amazon 彈性運算雲端 (AmazonEC2) 執行個體的使用者,此手冊特別有用。runbook 在您的 AWS Identity and Access Management (IAM)角色中創建一個臨時的 Amazon EC2 實例, AWS 帳戶 並且具有檢索包含密碼的 AWS Secrets Manager 秘密值的權限。

該 runbook 停止你的目標 Amazon EC2 實例,分離根 Amazon 彈性塊存儲(AmazonEBS)卷,並將其附加到臨時 Amazon EC2 實例。使用「執行命令」(Run Command) 時,會在暫存執行個體上執行指令碼,以設定您指定之 OS 使用者的密碼。然後,根 Amazon EBS 磁碟區會重新連接到您的目標執行個體。runbook 還提供了一個選項,用於在自動化開始時創建根磁碟區的快照。

開始之前

使用您要指派給作業系統使用者的密碼值來建立 Secret Secrets Manager 密碼。該值必須是純文本。如需詳細資訊,請參閱《AWS Secrets Manager 使用者指南》中的建立 AWS Secrets Manager 秘密

考量

  • 我們建議您在使用此 runbook 之前備份您的執行個體。請考慮將CreateSnapshot參數值設定為Yes

  • 變更本機使用者密碼需要 runbook 停止執行個體。當執行個體停止時,儲存在記憶體或執行個體儲存磁碟區上的任何資料都會遺失。此外,會釋放任何自動指派的公開IPv4位址。如需停止執行個體時會發生什麼情況的詳細資訊,請參閱 Amazon EC2 使用者指南的停止和啟動執行個體。

  • 如果連接到目標 Amazon EC2 執行個體的 Amazon EBS 磁碟區使用客戶管理 AWS Key Management Service (AWS KMS) 金鑰加密,請確定 AWS KMS 金鑰未加密,deleteddisabled則您的執行個體將無法啟動。

運行此自動化(控制台)

文件類型

 自動化

擁有者

Amazon

平台

Linux

參數

  • AutomationAssumeRole

    類型:字串

    描述:(選用) 允許 Systems Manager 自動化代表您執行動作的 AWS Identity and Access Management (IAM) 角色的 Amazon 資源名稱 ()。ARN如果未指定角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。

  • InstanceId

    類型:字串

    說明:(必填) Amazon EC2 Linux 執行個體的識別碼,該執行個體包含您要重設的作業系統使用者密碼。

  • LinuxUserName

    類型:字串

    默認值:ec2 用戶

    說明:(選擇性) 您要重設密碼的作業系統使用者帳戶。

  • SecretArn

    類型:字串

    說明:(必填)包含新密碼ARN的秘密 Secrets Manager 密碼。

  • SecurityGroupId

    類型:字串

    說明:(選用) 要連接到臨時 Amazon EC2 執行個體的安全群組 ID。如果您未提供此參數的值,則會使用預設的 Amazon Virtual Private Cloud (AmazonVPC) 安全群組。

  • SubnetId

    類型:字串

    說明:(選用) 您要在其中啟動 Amazon EC2 臨時執行個體的子網路 ID。根據預設,自動化操作會選擇與目標執行個體相同的子網路。如果您選擇提供不同的子網路,則該子網路必須與目標執行個體位於相同的可用區域,而且可以存取 Systems Manager 端點。

  • CreateSnapshot

    類型:字串

    有效值:是 | 否

    預設值:是

    說明:(選擇性) 決定是否在自動化執行之前建立目標 Amazon EC2 執行個體的根磁碟區快照。

  • StopConsent

    類型:字串

    有效值:是 | 否

    預設值:否

    說明:輸入Yes以確認您的目標 Amazon EC2 執行個體將在此自動化期間停止。停止 Amazon EC2 執行個體時,儲存在記憶體或執行個體存放磁碟區中的任何資料都會遺失,並釋放自動公用IPv4地址。如需詳細資訊,請參閱 Amazon EC2 使用者指南的停止和啟動執行個體

必要的IAM權限

AutomationAssumeRole參數需要執行下列動作,才能成功使用 Runbook。

  • ssm:DescribeInstanceInformation

  • ssm:ListTagsForResource

  • ssm:SendCommand

  • ec2:AttachVolume

  • ec2:CreateSnapshot

  • ec2:CreateSnapshots

  • ec2:CreateVolume

  • ec2:DescribeImages

  • ec2:DescribeInstances

  • ec2:DescribeInstanceStatus

  • ec2:DescribeSnapshotAttribute

  • ec2:DescribeSnapshots

  • ec2:DescribeSnapshotTierStatus

  • ec2:DescribeVolumes

  • ec2:DescribeVolumeStatus

  • ec2:DetachVolume

  • ec2:RunInstances

  • ec2:StartInstances

  • ec2:StopInstances

  • ec2:TerminateInstances

  • cloudformation:CreateStack

  • cloudformation:DeleteStack

  • cloudformation:DescribeStackResource

  • cloudformation:DescribeStacks

  • cloudformation:ListStacks

  • logs:CreateLogDelivery

  • logs:CreateLogGroup

  • logs:DeleteLogDelivery

  • logs:DeleteLogGroup

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • logs:PutLogEvents

文件步驟

  1. aws:branch— 根據您是否已提供停止目標 Amazon EC2 執行個體的同意進行分支。

  2. aws:assertAwsResourceProperty— 確保 Amazon EC2 執行個體狀態處於running或狀stopped態。否則,自動化結束。

  3. aws:executeAwsApi— 獲取 Amazon EC2 實例屬性。

  4. aws:executeAwsApi— 取得根磁碟區內容。

  5. aws:branch— 根據是否提供臨時 Amazon EC2 執行個體的子網路 ID 來分支自動化。

  6. aws:assertAwsResourceProperty— 確保您在SubnetId參數中指定的子網路與目標 Amazon EC2 執行個體位於相同的可用區域中。

  7. aws:assertAwsResourceProperty— 確保目標 Amazon EC2 實例根卷是一個 Amazon EBS 卷。

  8. aws:assertAwsResourceProperty— 確保 Amazon EC2 執行個體架構為arm64x86_64

  9. aws:assertAwsResourceProperty-確保 Amazon EC2 實例關閉行為是stop和不是terminate

  10. aws:branch— 確保 Amazon EC2 執行個體不是競價型執行個體。否則,自動化結束。

  11. aws:executeScript— 確保 Amazon EC2 執行個體不屬於 auto 擴展群組。如果執行個體屬於自 auto 擴展群組,則自動化會確認 Amazon EC2 執行個體處於Standby生命週期狀態。

  12. aws:createStack— 建立暫時的 Amazon EC2 執行個體,用於為您指定的作業系統使用者重設密碼。

  13. aws:waitForAwsResourceProperty— 等待直到新啟動的臨時 Amazon EC2 實例正在運行。

  14. aws:executeAwsApi— 獲取臨時 Amazon EC2 實例的 ID。

  15. aws:waitForAwsResourceProperty— 等待臨時 Amazon EC2 實例報告由系統管理器管理。

  16. aws:changeInstanceState— 停止目標 Amazon EC2 實例。

  17. aws:changeInstanceState— 強制目標 Amazon EC2 實例停止以防卡在停止狀態。

  18. aws:branch— 根據是否要求目標 Amazon EC2 執行個體的根磁碟區快照來分支自動化。

  19. aws:executeAwsApi— 創建目標 Amazon EC2 實例根 Amazon EBS 卷的快照。

  20. aws:waitForAwsResourceProperty— 等待快照處於某個狀completed態。

  21. aws:executeAwsApi— 從目標 Amazon EC2 執行個體分離 Amazon EBS 根磁碟區。

  22. aws:waitForAwsResourceProperty— 等待 Amazon EBS 根磁碟區與目標 Amazon EC2 執行個體分離。

  23. aws:executeAwsApi— 將根 Amazon EBS 卷附加到臨時 Amazon EC2 實例。

  24. aws:waitForAwsResourceProperty— 等待 Amazon EBS 根卷連接到臨時 Amazon EC2 實例。

  25. aws:runCommand— 使用臨時 Amazon 執行個EC2體上的執行命令執行殼層指令碼,以重設目標使用者密碼。

  26. aws:executeAwsApi— 從臨時 Amazon EC2 實例中分離 Amazon EBS 根磁碟區。

  27. aws:waitForAwsResourceProperty— 等待 Amazon EBS 根磁碟區與臨時 Amazon EC2 執行個體分離。

  28. aws:executeAwsApi— 發生錯誤後,將 Amazon EBS 根磁碟區從暫時的 Amazon EC2 執行個體分離。

  29. aws:waitForAwsResourceProperty— 發生錯誤後,等待 Amazon EBS 根磁碟區與臨時 Amazon EC2 執行個體分離。

  30. aws:branch— 根據是否要求根磁碟區的快照來分支自動化,以便在發生錯誤時判斷復原路徑。

  31. aws:executeAwsApi— 將根 Amazon EBS 卷重新連接到目標 Amazon EC2 實例。

  32. aws:waitForAwsResourceProperty— 等待 Amazon EBS 根卷連接到 Amazon 實EC2例。

  33. aws:executeAwsApi— 從目標 Amazon 執行個EC2體根EBS磁碟區快照建立新的 Amazon 磁碟區。

  34. aws:waitForAwsResourceProperty— 等待,直到新的 Amazon EBS 卷處於一個available狀態。

  35. aws:executeAwsApi— 將新的 Amazon EBS 磁碟區作為根磁碟區附加至目標執行個體。

  36. aws:waitForAwsResourceProperty— 等待 Amazon 體EBS積處於一個狀attached態。

  37. aws:executeAwsApi— 描述執行簿無法建立或更新 AWS CloudFormation 堆疊時的 AWS CloudFormation 堆疊事件。

  38. aws:branch— 根據先前的 Amazon EC2 執行個體狀態分支自動化。如果狀態為running,則會啟動執行個體。如果它處於某個stopped狀態,則自動化會繼續進行。

  39. aws:changeInstanceState— 如果需要,啟動 Amazon EC2 實例。

  40. aws:waitForAwsResourceProperty— 等待 AWS CloudFormation 堆疊處於終端機狀態,然後再刪除。

  41. aws:executeAwsApi— 刪除包含臨時 Amazon EC2 執行個體的 AWS CloudFormation 堆疊。