使用 AWS Cloud9 的共用環境 - AWS Cloud9

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

使用 AWS Cloud9 的共用環境

共用環境是多個使用者受邀參與的 AWS Cloud9 開發環境。本主題提供在 AWS Cloud9 共用環境,以及如何參與共用環境的指示。

若要邀請使用者參與您擁有的環境,請遵循下列其中一組程序進行。根據您要邀請的使用者類型選擇。

共用環境使用案例

共用環境適用於以下使用案例:

  • 對編程也稱為對等編程這是兩個用戶在單個環境中共同處理相同代碼的地方。在結對程式設計中,通常由一名使用者撰寫程式碼,另一名使用者觀察所寫的程式碼。觀察者可以立即提供輸入和意見回饋給程式碼撰寫者。在專案期間,這兩種角色會經常切換。在沒有共用環境的情況下,程式設計人員團隊通常是坐在一部機器前。一次只有一名使用者可以撰寫程式碼。使用共用環境,兩個使用者可以坐在自己的機器前。此外,即使他們在不同的實體辦公室,仍可以同時撰寫程式碼。

  • 電腦科學課:如果老師或助教想要存取學生的環境,這項功能就很有用。這樣做可以檢閱學生的家庭作業,或即時修正其環境問題。學生也可以在單一環境中即時撰寫程式碼,和同學一起完成共用的家庭作業專案。即使他們可能在不同的位置、使用不同的電腦作業系統和 Web 瀏覽器類型,也可以做到。

  • 任何需要多名使用者即時協同合作相同程式碼的其他情況。

關於環境成員的存取角色

在您共用環境或參與 AWS Cloud9 的共用環境之前,您應先了解共用環境的存取許可層級。我們稱這些許可層級為「環境成員存取角色」

AWS Cloud9 中的共用環境提供三種環境存取角色:擁有者讀取/寫入唯讀

  • 擁有者具有環境的完整控制權。每個環境只能有一個擁有者,亦即環境的建立者。擁有者可以執行下列動作。

    • 新增、變更和移除環境成員

    • 開啟、檢視和編輯檔案

    • 執行程式碼

    • 變更環境設定

    • 與其他成員聊天

    • 刪除現有的聊天訊息

    在 AWS Cloud9 IDE 中,環境擁有者會顯示 Read+Write (讀取+寫入) 存取權。

  • 讀取/寫入成員可以執行下列動作。

    • 開啟、檢視和編輯檔案

    • 執行程式碼

    • 變更 AWS Cloud9 IDE 內的各種環境設定

    • 與其他成員聊天

    • 刪除現有的聊天訊息

    在 AWS Cloud9 IDE 中,讀取/寫入成員會顯示 Read+Write (讀取+寫入) 存取權。

  • 唯讀成員可以執行下列動作。

    • 開啟和檢視檔案

    • 與其他成員聊天

    • 刪除現有的聊天訊息

    在 AWS Cloud9 IDE 中,唯讀成員會顯示 Read Only (唯讀) 存取權。

使用者必須符合下列其中一個條件,才能成為環境擁有者或成員。

  • 使用者為 AWS 帳戶根使用者

  • 使用者為管理員使用者。如需詳細資訊,請參閱 IAM 使用者指南中的建立您的第一個 IAM 管理員使用者和群組

  • 使用者為隸屬於 IAM 群組的使用者擔任角色的使用者擔任角色的聯合身分使用者而且該群組或角色需連接 AWS 受管政策 AWSCloud9AdministratorAWSCloud9User (若連接 AWSCloud9EnvironmentMember 則僅能成為成員)。如需詳細資訊,請參閱 AWS 受管 (預先定義) 政策

    • 如需將上述其中一個受管政策連接至 IAM 群組,則可以使用下列程序所述的 AWS Management ConsoleAWS 命令列界面 (AWS CLI)

    • 您可以透過上述其中一個受管政策,在 IAM 中建立使用者或聯合身分使用者可以擔任的角色。如需詳細資訊,請參閱《IAM 使用者指南》中的建立角色。如需讓使用者或聯合身分使用者擔任角色,請參閱 IAM 使用者指南使用 IAM 角色的角色擔任相關說明。

使用主控台將 AWS Cloud9 的 AWS 受管政策連接到群組

下列程序概述如何使用主控台將AWS受管理的原則附加AWS Cloud9至群組。

  1. 如果您尚未登入 AWS Management Console,請現在登入。

    對於此步驟,建議您在 AWS 帳戶中使用 IAM 管理員層級憑證來登入。如果您無法執行此操作,請洽詢您的 AWS 帳戶 管理員。

  2. 開啟 IAM 主控台。方法如下:從主控台的導覽列選擇 Services (服務),然後選擇 IAM

  3. 選擇 Groups (群組)

  4. 選擇群組的名稱。

  5. Permissions (許可) 標籤上,針對 Managed Policies (受管政策),選擇 Attach Policy (連接政策)。

  6. 在政策名稱清單中,選擇下列其中一個方塊。

    • AWSCloud9User (建議使用) 或 AWSCloud9Administrator 可讓群組中的每位使用者成為環境的擁有者

    • AWSCloud9EnvironmentMember 可讓群組中的每位使用者成為一般成員

    (如果您在清單中看不到這些政策名稱,請在 Search (搜尋) 方塊中輸入政策名稱以顯示。)

  7. 選擇 Attach policy (連接政策)。

使用 AWS CLI 將 AWS Cloud9 的 AWS 受管政策連接到群組

注意

若使用 AWS 受管臨時憑證,則您無法在 AWS Cloud9 IDE 中使用終端機工作階段來執行此章節部分或全部的命令。為了實現 AWS 安全性最佳實務,AWS 受管臨時憑證不會允許執行部分命令。因此,請改從分開安裝的 AWS Command Line Interface (AWS CLI) 來執行這些命令。

執行 IAM attach-group-policy 命令,將 AWS Cloud9 的 AWS 受管政策連接到群組。指定群組名稱和政策的 Amazon Resource Name (ARN)。

aws iam attach-group-policy --group-name MyGroup --policy-arn arn:aws:iam::aws:policy/POLICY_NAME

在上述命令中,將 MyGroup 取代為群組的名稱。將 POLICY_NAME 取代為下列其中一個 AWS 受管政策的名稱。

  • AWSCloud9User (建議使用) 或 AWSCloud9Administrator 可讓群組中的每位使用者成為環境的擁有者

  • AWSCloud9EnvironmentMember 可讓群組中的每位使用者成為一般成員

邀請所在帳戶與環境相同的使用者

使用本節中的指示,與相同帳戶的使用者共用您在 AWS 帳戶中所擁有的 AWS Cloud9 開發環境。

  1. 假設您要邀請的使用者不是下列其中一種類型的使用者。確定您要邀請的使用者已具有對應的環境成員存取角色。如需說明,請參閱關於環境成員的存取角色小節。

    • AWS 帳戶 根使用者

    • 管理員使用者

    • 隸屬於 IAM 群組的使用者擔任角色的使用者擔任角色的聯合身分使用者而且該群組或角色已連接 AWS 受管政策 AWSCloud9Administrator

  2. 開啟您想邀請使用者加入的環境 (如果尚未開啟)。

  3. 在 AWS Cloud9 IDE 的選單列中,執行下列其中一項操作:

    • 選擇 Window, Share (視窗、共享)。

    • 選擇 Share (共享) (位於 Preferences (偏好設定) 齒輪圖示旁)。

      AWS Cloud9 IDE 選單列的 Share (共用) 命令
  4. Share this environment (共享這個環境) 對話方塊的 Invite Members (邀請成員) 中,輸入以下其中一個項目。

    • 若要邀請 IAM 使用者,請輸入使用者名稱。

    • 若要邀請 AWS 帳戶根使用者,請輸入 arn:aws:iam::123456789012:root。用您的 AWS 帳戶 ID 取代 123456789012

    • 若要邀請具有所擔任角色的使用者具有所擔任角色的聯合身分使用者,請輸入 arn:aws:sts::123456789012:assumed-role/MyAssumedRole/MyAssumedRoleSession。將 123456789012 取代為您的 AWS 帳戶 ID,將 MyAssumedRole 取代為所擔任角色的名稱。將 MyAssumedRoleSession 取代為所擔任角色的工作階段名稱。

  5. 若要讓此使用者成為唯讀成員,請選擇 R。若要讓此使用者成為讀取/寫入成員,請選擇 RW

  6. 選擇 Invite (邀請)。

    注意

    如果您讓此使用者成為讀取/寫入成員,畫面會顯示一個對話方塊,其中包含可能會對您的 AWS 安全憑證造成風險的資訊。下列資訊提供更多此問題的背景。

    請只與信任的使用者共用環境。

    讀取/寫入成員可以在您的環境中使用 AWS CLI、AWS CloudShell 或 AWS SDK,代您在 AWS 中執行動作。此外,如果您將永久 AWS 存取憑證存放在環境中,該成員可能會複製這些憑證,並使用於環境外部。

    從您的環境移除永久 AWS 存取憑證,並改用臨時 AWS 存取憑證,並無法完全解決這個問題。這只能降低成員複製這些臨時憑證並用於環境外部的機會 (因為這些臨時憑證只在限定時間內有效)。不過,臨時憑證仍可讓讀取/寫入成員在 AWS 中代您從環境執行動作。

  7. 聯絡使用者,讓他們知道可以開啟此環境並開始使用。

讓所在帳戶與環境相同的 AWS Cloud9 管理員邀請自己或其他使用者

注意

若使用 AWS 受管臨時憑證,則您無法在 AWS Cloud9 IDE 中使用終端機工作階段來執行此章節部分或全部的命令。為了實現 AWS 安全性最佳實務,AWS 受管臨時憑證不會允許執行部分命令。因此,請改從分開安裝的 AWS Command Line Interface (AWS CLI) 來執行這些命令。

下列類型的使用者可以邀請自己 (或相同 AWS 帳戶中的其他使用者) 加入相同帳戶中的任何環境。

  • AWS 帳戶根使用者

  • 管理員使用者

  • 隸屬於 IAM 群組的使用者擔任角色的使用者擔任角色的聯合身分使用者而且該群組或角色已連接 AWS 受管政策 AWSCloud9Administrator

假設受邀的使用者不是上述類型的其中一個使用者。確定使用者已具有對應的環境成員存取角色。如需說明,請參閱關於環境成員的存取角色小節。

如需邀請使用者,請使用 AWS CLI 或 AWS CloudShell 來執行 AWS Cloud9 create-environment-membership 命令。

aws cloud9 create-environment-membership --environment-id 12a34567b8cd9012345ef67abcd890e1 --user-arn USER_ARN --permissions PERMISSION_LEVEL

在上述命令中,將 12a34567b8cd9012345ef67abcd890e1 取代為環境的 ID。將 PERMISSION_LEVEL 取代為 read-writeread-only。然後,將 USER_ARN 取代為下列其中一項:

  • 若要邀請 IAM 使用者,請輸入 arn:aws:iam::123456789012:user/MyUser。將 123456789012 取代為您的 AWS 帳戶 ID,並將 MyUser 取代為使用者的名稱。

  • 若要邀請 AWS 帳戶根使用者,請輸入 arn:aws:iam::123456789012:root。用您的 AWS 帳戶 ID 取代 123456789012

  • 若要邀請具有所擔任角色的使用者具有所擔任角色的聯合身分使用者,請輸入 arn:aws:sts::123456789012:assumed-role/MyAssumedRole/MyAssumedRoleSession。用您的 AWS 帳戶 ID 取代 123456789012。將 MyAssumedRole 取代為所擔任角色的名稱。然後,將 MyAssumedRoleSession 取代為所擔任角色的工作階段名稱。

例如,若要邀請 AWS 帳戶根使用者 (帳戶 ID 為 123456789012) 加入環境成為讀取/寫入成員 (ID 為 12a34567b8cd9012345ef67abcd890e1),請執行下列命令。

aws cloud9 create-environment-membership --environment-id 12a34567b8cd9012345ef67abcd890e1 --user-arn arn:aws:iam::123456789012:root --permissions read-write
注意

如果您使用 AWS CloudShell,請省略前述命令的 aws 前綴。

開啟共用環境

若要開啟共用環境,請使用AWS Cloud9儀表板。使用AWS Cloud9 IDE 在共用環境中執行動作並完成工作。範例為使用檔案以及與其他團隊成員聊天。

  1. 務必將對應的存取政策連接至使用者的群組或角色。如需詳細資訊,請參閱「關於環境成員存取角色」。

  2. 如下所示登入 AWS Cloud9 主控台:

    • 如果您是唯一使用 AWS 帳戶 的個人,或單一 AWS 帳戶 中的 IAM 使用者,請前往 https://console.aws.amazon.com/cloud9/

    • 如果您的組織使用 IAM Identity Center,請洽詢 AWS 帳戶管理員以取得登入指示。

    • 如果您是課堂裡的學生,請洽詢講師以取得登入指示。

  3. 從您的 AWS Cloud9 儀表板開啟共用環境。如需詳細資訊,請參閱開啟 AWS Cloud9 環境

您可以使用 Collaborate (協作) 視窗與其他成員互動,如本主題後續內容所述。

注意

如果 Collaborate (協作) 視窗未顯示,請選擇 Collaborate (協作)。如果 Collaborate (協作) 按鈕未顯示,請在選單列上,選擇 Window, Collaborate (視窗、協作)。

AWS Cloud9 IDE 的 Collaborate (協作) 視窗

參閱環境成員清單

在開啟的共用環境中,如果成員清單未顯示,請在 Collaborate (協作) 視窗中,展開 Environment Members (環境成員)。

每個成員旁的圓圈指出其線上狀態,如下所示。

  • 活躍的成員有綠色圓圈。

  • 離線的成員有灰色圓圈。

  • 閒置的成員有橘色圓圈。

AWS Cloud9 IDE 的成員線上狀態

若要使用程式碼來取得環境成員的清單,請呼叫 AWS Cloud9 的 describe memberships (描述成員資格) 操作,如下所示。

開啟環境成員的作用中檔案

在開啟的共用環境選單列中,選擇成員名稱。然後,選擇 Open Active File (開啟作用中的檔案)。

AWS Cloud9 IDE 的 Open Active File (開啟作用中的檔案) 命令

開啟環境成員的開放檔案

  1. 在開啟的共用環境中,如果成員清單未顯示,請在 Collaborate (協作) 視窗中,展開 Environment Members (環境成員)。

  2. 針對您想要在環境中開啟其開放檔案的使用者,展開使用者名稱。

  3. 開啟 (按兩下) 您想要開啟的檔案名稱。

在 AWS Cloud9 IDE 中開啟小組成員的檔案

移至環境成員的作用中游標

  1. 在開啟的共用環境中,如果成員清單未顯示,請在 Collaborate (協作) 視窗中,展開 Environment Members (環境成員)。

  2. 開啟成員名稱的內容 (右鍵) 功能表,然後選擇 Show Location (顯示位置)。

與其他環境成員聊天

在開啟的共用環境中,在 Collaborate (協作) 視窗底端的 Enter your message here (在此處輸入您的訊息) 中,輸入聊天訊息,然後按 Enter

AWS Cloud9 IDE 的聊天區域

檢視共用環境的聊天訊息

在開啟的共用環境中,如果聊天訊息清單未顯示,請在 Collaborate (協作) 視窗中,展開 Group Chat (群組聊天)。

從共用環境刪除聊天訊息

共用環境開啟後,在 Collaborate (協作) 視窗中,為 Group Chat (群組聊天) 的聊天訊息開啟內容 (右鍵) 功能表。然後,選擇 Delete Message (刪除訊息)。

注意

當您刪除聊天訊息時,訊息會從所有成員的環境中刪除。

從共用環境刪除所有聊天訊息

共用環境開啟後,在 Collaborate (協作) 視窗中,於 Group Chat (群組聊天) 的任何位置開啟內容 (右鍵) 功能表。然後,選擇 Clear history (清除歷史記錄)。

注意

當您刪除所有聊天訊息時,訊息會從所有成員的環境中刪除。

變更環境成員的存取角色

  1. 開啟您想要為成員變更存取角色的自有環境 (若尚未開啟)。如需詳細資訊,請參閱開啟 AWS Cloud9 環境

  2. 如果成員清單未顯示,請在 Collaborate (協作) 視窗中,展開 Environment Members (環境成員)。

  3. 執行下列其中一個動作:

    • 在您想要變更存取角色的成員名稱旁,選擇 RRW,分別讓此成為擁有者或讀取/寫入角色。

    • 若要將讀取/寫入成員變更為唯讀成員,請開啟成員名稱的內容 (右鍵) 功能表,然後選擇 Revoke Write Acces (撤銷寫入存取權)。

    • 若要將唯讀成員變更為讀取/寫入成員,請開啟成員名稱的內容 (右鍵) 功能表,然後選擇 Grant Read+Write Access (授予讀取/寫入存取權)。

      注意

      如果您讓此使用者成為讀取/寫入成員,畫面會顯示一個對話方塊,其中包含可能會對您的 AWS 安全憑證造成風險的資訊。除非您信任使用者可代表您在 AWS 中執行動作,否則請不要讓使用者成為讀取/寫入成員。如需詳細資訊,請參閱邀請所在帳戶與環境相同的使用者小節中的相關附註。

若要使用程式碼變更環境的存取角色,請呼叫 AWS Cloud9 的 update environment membership (更新環境成員資格) 操作,如下所示。

從共用環境移除使用者

注意

如果您是環境擁有者,則無法從環境移除您的使用者。

從環境移除您的使用者,並不會一併從 IAM 移除該使用者。

  1. 在開啟的共用環境中,如果成員清單未顯示,請在 Collaborate (協作) 視窗中,展開 Environment Members (環境成員)。

  2. 執行下列其中一個動作:

    • 選擇在 You (您) 旁邊的垃圾桶圖示。

    • You (您) 開啟內容 (右鍵) 功能表,然後選擇 Leave environment (離開環境)。

  3. 出現提示時,請選擇 Leave (離開)。

若要使用程式碼從共用環境移除使用者,請呼叫 AWS Cloud9 的 delete environment membership (刪除環境成員資格) 操作,如下所示。

移除其他環境成員

注意

若要從環境移除您的使用者以外的成員,您必須使用環境擁有者的憑證登入 AWS Cloud9。

移除成員並不會從 IAM 移除使用者。

  1. 開啟您想要移除成員的環境 (如果尚未開啟)。如需詳細資訊,請參閱開啟 AWS Cloud9 環境

  2. 如果成員清單未顯示,請在 Collaborate (協作) 視窗中,展開 Environment Members (環境成員)。

  3. 執行下列任意一項:

    • 在您想要刪除的成員名稱旁邊選擇垃圾桶圖示。

    • 針對您想要刪除的成員名稱,開啟內容 (右鍵) 功能表,然後選擇 Revoke Access (撤銷存取權)。

  4. 出現提示時,請選擇 Remove Member (移除成員)。

若要使用程式碼從環境移除成員,請呼叫 AWS Cloud9 的 delete environment membership (刪除環境成員資格) 操作,如下所示。

共用環境最佳實務

共用環境時,建議您採取以下實務。

  • 只邀請您信任的人到您的環境成為讀取/寫入成員。

  • 若是 EC2 環境,讀取/寫入成員可以使用環境擁有者的 AWS 存取憑證,從環境呼叫 AWS 服務。此憑證代替他們自己的憑據。為了避免此狀況,環境擁有者可以停用環境的 AWS 受管臨時憑證。不過,這也會讓環境擁有者無法進行呼叫。如需詳細資訊,請參閱 AWS 受管臨時憑證

  • 開啟 AWS CloudTrail 以追蹤環境中的活動。如需詳細資訊,請參閱 AWS CloudTrail 使用者指南

  • 不要使用您的 AWS 帳戶根使用者建立和共用環境。請改用帳戶中的 IAM 使用者。如需詳細資訊,請參閱《IAM 使用者指南》中的僅限第一次存取:您的根使用者憑證IAM 使用者