設定對 EC2 序列主控台的存取
若要設定對序列主控台的存取權,您必須在帳戶層級授與序列主控台存取權,然後設定 IAM 政策以授予使用者存取權。您還必須在每個執行個體上設定以密碼為基礎的使用者,以便使用者可以使用序列主控台進行疑難排解。
在開始之前,請務必檢查先決條件。
EC2 序列主控台的存取層級
依預設,帳戶層級無法存取序列主控台。您需要在帳戶層級明確授予對序列主控台的存取權。如需詳細資訊,請參閱 管理 EC2 序列主控台的帳戶存取。
您可以使用服務控制政策 (SCP) 來允許對組織內序列主控台的存取。然後,您可以使用 IAM 政策控制存取,在使用者層級進行精細的存取控制。透過組合使用 SCP 和 IAM 政策,您擁有對序列主控台不同層級的存取控制。
- 組織層級
-
您可以使用服務控制政策 (SCP) 來允許組織內成員帳戶存取序列主控台。如需 SCP 的詳細資訊,請參閱 AWS Organizations 使用者指南中的服務控制政策。
- 執行個體層級
-
您可以使用 IAM PrincipalTag 和 ResourceTag 結構,以及依其 ID 指定執行個體來設定序列主控台存取政策。如需更多詳細資訊,請參閱 設定 EC2 序列主控台存取的 IAM 政策。
- 使用者層級
-
您可以設定 IAM 政策,以允許或拒絕指定的使用者將 SSH 公開金鑰推送至特定執行個體的序列主控台服務的權限,從而在使用者層級設定存取。如需詳細資訊,請參閱 設定 EC2 序列主控台存取的 IAM 政策。
- 作業系統層級
-
您可以在客體作業系統層級設定使用者密碼。在某些使用案例下,這可讓您存取序列主控台。不過,若要監控日誌,您不需要以密碼為基礎的使用者。如需詳細資訊,請參閱 設定 OS 使用者密碼。
管理 EC2 序列主控台的帳戶存取
依預設,帳戶層級無法存取序列主控台。您需要在帳戶層級明確授予對序列主控台的存取權。
授予使用者管理帳戶存取的許可
若要允許使用者管理對 EC2 序列主控台的帳戶存取權,您必須授予他們所需的 IAM 許可。
下列政策會授與檢視帳戶狀態,以及允許和阻止帳戶存取 EC2 序列主控台的權限。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:GetSerialConsoleAccessStatus", "ec2:EnableSerialConsoleAccess", "ec2:DisableSerialConsoleAccess" ], "Resource": "*" } ] }
如需詳細資訊,請參閱《IAM 使用者指南》中的建立 IAM 政策。
檢視序列主控台的帳戶存取狀態
檢視序列主控台 (主控台) 的帳戶存取狀態
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在左側導覽窗格中,選擇 EC2 Dashboard (EC2 儀表板)。
-
在 Account attributes (帳戶屬性) 中,選擇 EC2 Serial Console (EC2 序列主控台)。
EC2 Serial Console access (EC2 序列主控台存取) 欄位會指出是 Allowed (允許) 還是 Prevented (禁止) 帳戶存取。
下列螢幕擷取畫面顯示該帳戶被禁止使用 EC2 序列主控台。
檢視序列主控台的帳戶存取狀態 (AWS CLI)
使用 get-serial-console-access-status 命令來檢視序列主控台的帳戶存取狀態。
aws ec2 get-serial-console-access-status --region
us-east-1
在下面的輸出中,true
表示允許該帳戶存取序列控制台。
{ "SerialConsoleAccessEnabled": true }
授與序列主控台的帳戶存取權
授與序列主控台 (主控台) 的帳戶存取權
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在左側導覽窗格中,選擇 EC2 Dashboard (EC2 儀表板)。
-
在 Account attributes (帳戶屬性) 中,選擇 EC2 Serial Console (EC2 序列主控台)。
-
選擇 Manage (管理)。
-
若要允許存取帳戶中所有執行個體的 EC2 序列主控台,請選取 Allow (允許) 核取方塊。
-
選擇 Update (更新)。
授與帳戶存取序列主控台 (AWS CLI)
使用 enable-serial-console-access 命令,允許帳戶存取序列主控台。
aws ec2 enable-serial-console-access --region
us-east-1
在下面的輸出中,true
表示允許該帳戶存取序列控制台。
{ "SerialConsoleAccessEnabled": true }
拒絕帳戶存取序列主控台
拒絕帳戶存取序列主控台 (主控台)
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在左側導覽窗格中,選擇 EC2 Dashboard (EC2 儀表板)。
-
在 Account attributes (帳戶屬性) 中,選擇 EC2 Serial Console (EC2 序列主控台)。
-
選擇 Manage (管理)。
-
若要阻止存取帳戶中所有執行個體的 EC2 序列主控台,請清除 Allow (允許) 核取方塊。
-
選擇 Update (更新)。
拒絕帳戶存取序列主控台 (AWS CLI)
使用 disable-serial-console-access 命令來阻止帳戶存取序列主控台。
aws ec2 disable-serial-console-access --region
us-east-1
在下面的輸出中,false
表示該帳戶被拒絕存取序列控制台。
{ "SerialConsoleAccessEnabled": false }
設定 EC2 序列主控台存取的 IAM 政策
依預設,使用者無法存取序列主控台。您的組織必須設定 IAM 政策,以授予使用者所需的存取權。如需詳細資訊,請參閱《IAM 使用者指南》中的建立 IAM 政策。
若要存取序列主控台,請建立包含 ec2-instance-connect:SendSerialConsoleSSHPublicKey
動作的 JSON 政策文件。此動作會授予使用者將公有金鑰推送至序列主控台服務的許可,此服務會啟動序列主控台工作階段。建議限制對特定 EC2 執行個體的存取。否則,擁有此許可的所有使用者都可以連線到所有 EC2 執行個體的序列主控台。
明確允許存取序列主控台
依預設,沒有人可以存取序列主控台。若要授與對序列主控台的存取權,您必須設定政策以明確允許存取。建議您設定限制存取特定執行個體的政策。
下列政策允許存取特定執行個體的序列主控台,並依其執行個體 ID 進行識別。
請注意,DescribeInstances
、DescribeInstanceTypes
、和 GetSerialConsoleAccessStatus
動作不支援資源層級許可,因此為這些動作指定所有資源,以 *
(星號) 表示。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDescribeInstances", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:GetSerialConsoleAccessStatus" ], "Resource": "*" }, { "Sid": "AllowinstanceBasedSerialConsoleAccess", "Effect": "Allow", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey" ], "Resource": "arn:aws:ec2:
region
:account-id
:instance/i-0598c7d356eba48d7
" } ] }
明確拒絕存取序列主控台
下列 IAM 政策允許存取所有執行個體的序列主控台 (以 *
(星號) 表示),並明確拒絕存取特定執行個體的序列主控台 (依其 ID 進行識別)。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSerialConsoleAccess", "Effect": "Allow", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:GetSerialConsoleAccessStatus" ], "Resource": "*" }, { "Sid": "DenySerialConsoleAccess", "Effect": "Deny", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey" ], "Resource": "arn:aws:ec2:
region
:account-id
:instance/i-0598c7d356eba48d7
" } ] }
使用資源標籤來控制對序列主控台的存取
您可以使用資源標籤來控制對執行個體序列主控台的存取。
依屬性的存取控制是一種授權策略,根據可附加至使用者和 AWS 資源的標籤來定義許可。例如,下列政策允許使用者啟動執行個體的序列主控台連線,只有當該執行個體的資源標籤和主參與者的標籤具有相同的標籤鍵 SerialConsole
值時,才能啟動執行個體的序列主控台連線。
如需使用標籤以控制對 AWS 資源之存取的詳細資訊,請參閱 IAM 使用者指南中的控制對 AWS 資源的存取。
請注意,DescribeInstances
、DescribeInstanceTypes
、和 GetSerialConsoleAccessStatus
動作不支援資源層級許可,因此為這些動作指定所有資源,以 *
(星號) 表示。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDescribeInstances", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:GetSerialConsoleAccessStatus" ], "Resource": "*" }, { "Sid": "AllowTagBasedSerialConsoleAccess", "Effect": "Allow", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey" ], "Resource": "arn:aws:ec2:
region
:account-id
:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/SerialConsole
": "${aws:PrincipalTag/SerialConsole
}" } } } ] }
設定 OS 使用者密碼
您無需密碼即可連線到序列主控台。不過,若要使用序列主控台進行執行個體疑難排解,執行個體必須具有以密碼為基礎的 OS 使用者。
您可以為任何 OS 使用者 (包括根使用者) 設定密碼。請注意,根使用者可以修改所有檔案,而每個 OS 使用者的許可有限制。
您必須為每個要使用序列主控台的執行個體設定使用者密碼。這是每個執行個體都有的一次性要求。
注意
下列指示僅在使用 AWS 提供的 AMI 啟動執行個體時適用,因為根據預設,AWS 提供的 AMI 未設定密碼型使用者。如果您使用已設定根使用者密碼的 AMI 啟動執行個體,則可以略過這些指示。
設定 OS 使用者密碼
-
連線您的執行個體。您可以使用任何方法連線到執行個體,EC2 序列主控台連線方法除外。
-
若要設定使用者的密碼,請使用 passwd 命令。在下列範例中,使用者是
root
。[ec2-user ~]$
sudo passwd root
下列為範例輸出。
Changing password for user root. New password:
-
出現
New password
提示時,輸入新密碼。 -
出現提示時,重新輸入密碼。