設定對 EC2 序列主控台的存取 - Amazon Elastic Compute Cloud

設定對 EC2 序列主控台的存取

若要設定對序列主控台的存取權,您必須在帳戶層級授與序列主控台存取權,然後設定 IAM 政策以授與 IAM 使用者存取權。

EC2 序列主控台的存取層級

依預設,帳戶層級無法存取序列主控台。您需要在帳戶層級明確授予對序列主控台的存取權。如需詳細資訊,請參閱 管理 EC2 序列主控台的帳戶存取

您可以使用服務控制政策 (SCP) 來允許對組織內序列主控台的存取。然後,您可以使用 IAM 政策控制存取,在 IAM 使用者層級進行精細的存取控制。透過組合使用 SCP 和 IAM 政策,您擁有對序列主控台不同層級的存取控制。

組織層級

您可以使用服務控制政策 (SCP) 來允許組織內成員帳戶存取序列主控台。如需 SCP 的詳細資訊,請參閱 AWS Organizations 使用者指南中的服務控制政策

執行個體層級

您可以使用 IAM PrincipalTag 和 ResourceTag 結構,以及依其 ID 指定執行個體來設定序列主控台存取政策。如需詳細資訊,請參閱 設定 EC2 序列主控台存取的 IAM 政策

IAM 使用者層級

您可以設定 IAM 政策,以允許或拒絕指定的使用者將 SSH 公開金鑰推送至特定執行個體的序列主控台服務的權限,從而在使用者層級設定存取。如需詳細資訊,請參閱 設定 EC2 序列主控台存取的 IAM 政策

管理 EC2 序列主控台的帳戶存取

依預設,帳戶層級無法存取序列主控台。您需要在帳戶層級明確授予對序列主控台的存取權。

授與 IAM 使用者管理帳戶存取的權限

若要允許 IAM 使用者管理對 EC2 序列主控台的帳戶存取權,您必須授與他們所需的 IAM 許可。

下列政策會授與檢視帳戶狀態,以及允許和阻止帳戶存取 EC2 序列主控台的權限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:GetSerialConsoleAccessStatus", "ec2:EnableSerialConsoleAccess", "ec2:DisableSerialConsoleAccess" ], "Resource": "*" } ] }

如需詳細資訊,請參閱《IAM 使用者指南》中的建立 IAM 政策

檢視序列主控台的帳戶存取狀態

檢視序列主控台 (主控台) 的帳戶存取狀態

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格中,選擇 EC2 Dashboard (EC2 儀表板)。

  3. 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 }

授與序列主控台的帳戶存取權

授與序列主控台 (主控台) 的帳戶存取權

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格中,選擇 EC2 Dashboard (EC2 儀表板)。

  3. Account attributes (帳戶屬性) 中,選擇 EC2 Serial Console (EC2 序列主控台)。

  4. 選擇 Manage (管理)

  5. 若要允許存取帳戶中所有執行個體的 EC2 序列主控台,請選取 Allow (允許) 核取方塊。

  6. 選擇 Update (更新)。

授與帳戶存取序列主控台 (AWS CLI)

使用 enable-serial-console-access 命令,允許帳戶存取序列主控台。

aws ec2 enable-serial-console-access --region us-east-1

在下面的輸出中,true 表示允許該帳戶存取序列控制台。

{ "SerialConsoleAccessEnabled": true }

拒絕帳戶存取序列主控台

拒絕帳戶存取序列主控台 (主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格中,選擇 EC2 Dashboard (EC2 儀表板)。

  3. Account attributes (帳戶屬性) 中,選擇 EC2 Serial Console (EC2 序列主控台)。

  4. 選擇 Manage (管理)

  5. 若要阻止存取帳戶中所有執行個體的 EC2 序列主控台,請清除 Allow (允許) 核取方塊。

  6. 選擇 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 使用者所需的存取權。如需詳細資訊,請參閱《IAM 使用者指南》中的建立 IAM 政策

若要存取序列主控台,請建立包含 ec2-instance-connect:SendSerialConsoleSSHPublicKey 動作的 JSON 政策文件。此動作會授與 IAM 使用者將公開金鑰推送至序列主控台服務的權限,此服務會啟動序列主控台工作階段。建議限制對特定 EC2 執行個體的存取。否則,擁有此權限的所有 IAM 使用者都可以連線到所有 EC2 執行個體的序列主控台。

明確允許存取序列主控台

依預設,沒有人可以存取序列主控台。若要授與對序列主控台的存取權,您必須設定政策以明確允許存取。建議您設定限制存取特定執行個體的政策。

下列政策允許存取特定執行個體的序列主控台,並依其執行個體 ID 進行識別。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSerialConsoleAccess", "Effect": "Allow", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:GetSerialConsoleAccessStatus" ], "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 資源的標籤來定義許可。例如,下列政策允許 IAM 使用者啟動執行個體的序列主控台連線,只有當該執行個體的資源標籤和主參與者的標籤具有相同的標籤鍵 SerialConsole 值時,才能啟動執行個體的序列主控台連線。

如需使用標籤以控制對 AWS 資源之存取的詳細資訊,請參閱 IAM 使用者指南中的控制對 AWS 資源的存取

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowTagBasedSerialConsoleAccess", "Effect": "Allow", "Action": [ "ec2-instance-connect:SendSerialConsoleSSHPublicKey", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:GetSerialConsoleAccessStatus" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/SerialConsole": "${aws:PrincipalTag/SerialConsole}" } } } ] }