從 AWS Cloud9 的環境呼叫 AWS services - AWS Cloud9

AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可繼續正常使用此服務。了解更多」

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

從 AWS Cloud9 的環境呼叫 AWS services

您可以從 AWS Cloud9 開發環境呼叫 AWS services。例如,您可以執行下列動作:

  • 上傳和下載 Amazon Simple Storage Service (Amazon S3) 儲存貯體中的資料。

  • 透過 Amazon Simple Notification Service (Amazon SNS) 主題傳送廣播通知。

  • 讀取和寫入 Amazon DynamoDB (DynamoDB) 資料庫中的資料。

您可以透過幾種方式從您的環境呼叫 AWS services。例如,您可以從終端機工作階段使用 AWS Command Line Interface (AWS CLI) 或 AWS CloudShell 執行命令。您也可以從環境內執行的程式碼呼叫 AWS services。您可以使用 JavaScript、Python、Ruby、PHP、Go、和 C++ 等程式設計語言的 AWS SDK 執行此操作。如需詳細資訊,請參閱 AWS CLI 和 aws-shell 範例AWS Command Line Interface 使用者指南AWS 開發套件

每次 AWS CLI、AWS CloudShell 或您的程式碼呼叫 AWS service,AWS CLI、AWS CloudShell 或您的程式碼都必須隨著呼叫附帶提供一組 AWS 存取憑證。這些登入資料將判斷呼叫端是否具備適當許可,能夠發出該次呼叫。如果憑證當中不包含適當許可,呼叫即會失敗。

為您的環境提供憑證有好幾種方法。下表說明其中一些方法。

環境類型 方法

EC2

使用 AWS 受管臨時憑證

我們建議針對 EC2 環境使用此方法。AWS 受管臨時憑證會代您管理 EC2 環境中的 AWS 存取憑證,同時也會遵循 AWS 安全最佳實務。

如果您使用的是 EC2 環境,您可以略過此主題其餘內容。這是因為您的環境已經設定 AWS 受管臨時憑證。

如需詳細資訊,請參閱 AWS 受管臨時憑證

EC2

將 IAM 執行個體描述檔連接至執行個體。

只在您由於某些因素無法使用 AWS 受管臨時憑證時,才會使用此方法。與 AWS 受管臨時憑證類似,執行個體描述檔會代您管理 AWS 存取憑證。不過,您必須自行建立和管理執行個體描述檔並將其連接至 Amazon EC2 執行個體。

如需相關指示,請參閱「建立及使用執行個體描述檔來管理暫時登入資料」。

EC2 或 SSH

將您的永久 AWS 存取憑證存放在環境中。

此方法比起使用臨時 AWS 存取憑證較不安全。不過,這是 SSH 環境唯一支援的方法。

如需說明,請參閱「在環境中建立並存放永久存取登入資料」。

EC2 或 SSH

將您的永久 AWS 存取憑證直接插入程式碼。

此方法並未遵循 AWS 安全最佳實務,因此不建議採用。

由於不建議採用此方法,本主題將不就其做介紹。

建立及使用執行個體描述檔來管理臨時憑證

注意

此程序並不適用於 AWS Cloud9 SSH 開發環境。而應跳至在環境中建立並存放永久存取登入資料

建議您使用 AWS 受管臨時憑證,而非執行個體描述檔。若您由於某些因素無法使用 AWS 受管臨時憑證,才應依照以下指示操作。如需詳細資訊,請參閱 AWS 受管臨時憑證

此程序會使用 IAM 和 Amazon EC2 建立 IAM 執行個體描述檔,並將其連接至與您的環境連線的 Amazon EC2 執行個體。此執行個體描述檔會代您管理臨時憑證。此程序假設您已在 AWS Cloud9 建立環境。若要建立環境,請參閱建立環境

您可以使用 IAM 及 Amazon EC2 主控台AWS 命令列界面 (AWS CLI) 完成上述作業。

使用 IAM 主控台建立執行個體描述檔

注意

若您已有包含了執行個體描述檔的 IAM 角色,請跳至使用 Amazon EC2 主控台將執行個體描述檔連接至執行個體

  1. 登入 IAM 主控台,網址為 https://console.aws.amazon.com/iam/

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

  2. 在導覽列中,選擇 Roles (角色)。

    注意

    您無法使用 IAM 主控台單獨建立執行個體描述檔,您必須建立一個包含執行個體描述檔的 IAM 角色。

  3. 選擇 建立角色

  4. 在已選擇 AWS serviceSelect type of trusted entity (選取信任的實體類型) 頁面上,針對 Choose the service that will use this role (選擇將使用此角色的服務) 選擇 EC2

  5. Select your use case (選取您的使用案例) 選擇 EC2

  6. 選擇 Next: Permissions (下一步:許可)。

  7. 在 [附加權限原則] 頁面的原則清單中,選取旁邊的核取方塊 AdministratorAccess,然後選擇 [下一步:檢閱]。

    注意

    AdministratorAccess策允許無限制存取您的所有AWS動作和資源AWS 帳戶。使用它僅供試驗之用。如需詳細資訊,請參閱 IAM 使用者指南中的 IAM 政策

  8. Review (檢閱) 頁面的 Role Name (角色名稱) 中,輸入角色的名稱 (例如 my-demo-cloud9-instance-profile)。

  9. 選擇 Create Role (建立角色)。

跳至使用 Amazon EC2 主控台將執行個體描述檔連接至執行個體

使用 AWS CLI 建立執行個體描述檔

注意

若您已有包含了執行個體描述檔的 IAM 角色,請跳至使用 AWS CLI 將執行個體描述檔連接至執行個體

對於本主題,建議您在 AWS 帳戶使用管理員層級憑證來設定 AWS CLI。如果您無法執行此操作,請洽詢您的 AWS 帳戶 管理員。

注意

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

  1. 在 AWS 中為執行個體描述檔所需的 IAM 角色定義信任關係。請建立含有以下內容的檔案,然後儲存該檔案 (例如,命名為 my-demo-cloud9-instance-profile-role-trust.json)。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 使用終端機或命令提示字元,切換到您剛儲存該檔案的所在目錄。

  3. 為執行個體描述檔建立 IAM 角色。若要這麼做,請執行 IAM create-role 命令。當您這樣做時,請指定新 IAM 角色的名稱 (例如,my-demo-cloud9-instance-profile-role),以及您剛儲存的檔案名稱。

    aws iam create-role --role-name my-demo-cloud9-instance-profile-role --assume-role-policy-document file://my-demo-cloud9-instance-profile-role-trust.json
  4. 將 AWS 存取許可連接至執行個體描述檔的 IAM 角色。若要這麼做,請執行 IAM attach-role-policy 命令。指定現有 IAM 角色的名稱,以及 AWS 受管政策 (名為 AdministratorAccess) 的 Amazon Resource Name (ARN)。

    aws iam attach-role-policy --role-name my-demo-cloud9-instance-profile-role --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
    注意

    AdministratorAccess策允許無限制存取您的所有AWS動作和資源AWS 帳戶。使用它僅供試驗之用。如需詳細資訊,請參閱 IAM 使用者指南中的 IAM 政策

  5. 建立執行個體描述檔。方法如下:執行 IAM create-instance-profile 命令,指定新的執行個體描述檔的名稱 (例如 my-demo-cloud9-instance-profile)。

    aws iam create-instance-profile --instance-profile-name my-demo-cloud9-instance-profile
  6. 將 IAM 角色連接至執行個體描述檔。方法如下:執行 IAM add-role-to-instance-profile,指定現有 IAM 角色以及執行個體描述檔的名稱。

    aws iam add-role-to-instance-profile --role-name my-demo-cloud9-instance-profile-role --instance-profile-name my-demo-cloud9-instance-profile

跳至使用 AWS CLI 建立執行個體描述檔。

使用 Amazon EC2 主控台將執行個體描述檔連接至執行個體

  1. 請登入 Amazon EC2 主控抬,網址為 https://console.aws.amazon.com/ec2/

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

  2. 在導覽列中,確認區域選擇器所顯示的 與您環境的 AWS 區域 相符。例如,若您在美國東部 (俄亥俄) 區域建立了環境,請在這裡選擇區域選擇器中的 US East (Ohio) (美國東部 (俄亥俄))。

  3. 選擇 Running Instances (運作中的執行個體) 連結,或從導覽窗格中展開 Instances (執行個體),然後選擇 Instances (執行個體)。

  4. 從執行個體清單中,選擇 Name (名稱) 中包含您環境名稱的執行個體。例如,如果您的環境名稱是my-demo-environment,請選擇名稱包含的執行個體my-demo-environment

  5. 選擇 Actions (動作)、Security (安全性)、Modify IAM role (修改 IAM 角色)。

    注意

    本操作雖是將角色連接至執行個體,但該角色包含了執行個體描述檔。

  6. Modify IAM Role (修改 IAM 角色) 頁面上,對於IAM role (IAM 角色),選擇您在先前程序識別或建立的角色的名稱,然後選擇 Apply (套用)。

  7. 回到環境中,使用 AWS CLI 執行 aws configure 命令,或者使用 AWS CloudShell 執行 configure 命令。請勿對 AWS Access Key ID (AWS 存取金鑰 ID) 或 AWS Secret Access Key (AWS 私密存取金鑰) 指定任何值 (每次出現提示後直接按 Enter)。針對 Default Region name (預設區域名稱),指定離您最近的 AWS 區域或您的 AWS 資源所在的區域。例如,美國東部 (俄亥俄) 區域請指定 us-east-2。如需「區域」的清單,請參閱中的AWS 區域和「端點Amazon Web Services 一般參考。選擇性指定預設輸出格式的值 (例如 json)。

您現在即可開始從您的環境呼叫 AWS services。若要使用 AWS CLI、aws-shell 或兩者呼叫 AWS services,請參閱 AWS CLI 和 aws-shell 範例。若要從程式碼呼叫 AWS services,請參閱我們其他的教學和範例

使用 AWS CLI 將執行個體描述檔連接至執行個體

注意

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

  1. 執行 Amazon EC2 associate-iam-instance-profile 命令。為環境指定執行個體設定檔的名稱,以及 Amazon EC2 執行個體的 ID 和 AWS 區域 ID。

    aws ec2 associate-iam-instance-profile --iam-instance-profile Name=my-demo-cloud9-instance-profile --region us-east-2 --instance-id i-12a3b45678cdef9a0

    在上述命令中,將 us-east-2 取代為執行個體的 AWS 區域 ID,將 i-12a3b45678cdef9a0 取代為執行個體的 ID。

    若要取得執行個體的 ID,您可以依照本例執行 Amazon EC2 describe-instances 命令,指定環境的名稱和 AWS 區域 ID。

    aws ec2 describe-instances --region us-east-2 --filters Name=tag:Name,Values=*my-environment* --query "Reservations[*].Instances[*].InstanceId" --output text

    在上述命令中,將 us-east-2 取代為執行個體的 AWS 區域 ID,將 my-environment 取代為環境的名稱。

  2. 回到環境中,使用 AWS CLI 執行 aws configure 命令,或者使用 aws-shell 執行 configure 命令。請勿為 AWS Access Key ID (AWS 存取金鑰 ID) 或 AWS Secret Access Key (AWS 私密存取金鑰) 指定任何值。在其中每個提示之後按下 Enter。針對 Default Region name (預設區域名稱),指定離您最近的 AWS 區域或您的 AWS 資源所在的區域。例如,美國東部 (俄亥俄) 區域請指定 us-east-2。如需區域的清單,請參閱中的AWS區域和端點Amazon Web Services 一般參考。選擇性指定預設輸出格式的值 (例如 json)。

您現在即可開始從您的環境呼叫 AWS services。若要使用 AWS CLI、aws-shell 或兩者呼叫 AWS services,請參閱 AWS CLI 和 aws-shell 範例。若要從程式碼呼叫 AWS services,請參閱我們其他的教學和範例

在環境中建立並存放永久存取憑證

注意

如果您使用 AWS Cloud9 EC2 開發環境,建議您使用 AWS 受管臨時憑證,而不是 AWS 永久存取憑證。若要使用 AWS 受管臨時憑證,請參閱 AWS 受管理的臨時憑

在本節中,您使用 AWS Identity and Access Management (IAM) 產生一組永久憑證。AWS CLI、aws-shell 或您的程式碼可以在呼叫 AWS services 時使用這組憑證。該組憑證包括了您 AWS 帳戶中的使用者獨有的 AWS 存取金鑰 ID 和 AWS 私密存取金鑰。若您已有 AWS 存取金鑰 ID 和 AWS 私密存取金鑰,請記下這些憑證,然後跳至在環境中存放永久存取憑證

您可以使用 IAM 主控台AWS CLI 建立一組永久憑證。

授予程式設計存取權

若使用者想要與 AWS Management Console 之外的 AWS 互動,則需要程式設計存取權。授予程式設計存取權的方式取決於存取 AWS 的使用者類型。

若要授予使用者程式設計存取權,請選擇下列其中一個選項。

哪個使用者需要程式設計存取權? 若要 By

人力身分

(IAM Identity Center 中管理的使用者)

使用臨時憑證簽署對 AWS CLI、AWS SDK 或 AWS API 的程式請求。

請依照您要使用的介面所提供的指示操作。

IAM 使用臨時憑證簽署對 AWS CLI、AWS SDK 或 AWS API 的程式請求。 請遵循《IAM 使用者指南》使用臨時憑證搭配 AWS 資源中的指示。
IAM

(不建議使用)

使用長期憑證簽署 AWS CLI 或 AWS API 的程式設計要求 (直接或使用 AWS SDK)。

請依照您要使用的介面所提供的指示操作。

使用 AWS CLI 建立永久存取憑證

注意

對於本節,建議您在 AWS 帳戶使用管理員層級憑證來設定 AWS CLI。如果您無法執行此操作,請洽詢您的 AWS 帳戶 管理員。

注意

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

執行 IAM create-access-key 命令,為使用者建立新的 AWS 存取金鑰及對應的 AWS 私密存取金鑰。

aws iam create-access-key --user-name MyUser

在上述命令中,將 MyUser 取代為使用者的名稱。

將畫面上顯示的 AccessKeyIdSecretAccessKey 值存放到安全的位置。在您執行 IAM create-access-key 命令後,就只有這麼一次機會可以使用 AWS 查看使用者的 AWS CLI 私密存取金鑰。若日後需要為使用者產生新的AWS私密存取金鑰,請參閱 IAM 使用者指南中的建立、修改和檢視存取金鑰 (API、CLI、PowerShell)

在環境中存放永久存取憑證

在本程序中,您會使用AWS Cloud9 IDE 將永久 AWS 存取憑證存放在您的環境中。本程序假設您已在 AWS Cloud9 建立了環境、開啟了該環境 ,且您的 Web 瀏覽器已顯示 AWS Cloud9 IDE。如需詳細資訊,請參閱建立環境開啟環境

注意

以下程序示範如何使用環境變數來存放永久存取登入資料。如果您的環境已安裝 AWS CLI 或 aws-shell,您可以改用 AWS CLI 的 aws configure 命令或 aws-shell 的 configure 命令,存放您的永久存取憑證。若要取得指示,請參閱 AWS Command Line Interface 使用者指南中的快速組態

  1. 在您的環境已開啟的情況下,從 AWS Cloud9 IDE 啟動新的終端機工作階段 (若尚未啟動)。若要啟動新終端機工作階段,請在選單列上,選擇 Window (視窗)、New Terminal (新增終端機)。

  2. 執行以下命令,分三次各執行一個命令,其設定的本機環境變數代表了您的永久存取登入資料。在這些命令的 AWS_ACCESS_KEY_ID: 後面輸入您的 AWS 存取金鑰 ID。在 AWS_SECRET_ACCESS_KEY 後面,輸入您的 AWS 私密存取金鑰。在 AWS_DEFAULT_REGION_ID 後面,輸入與您最接近之 AWS 區域 相關聯的 AWS 區域 識別符 (或您慣用的 AWS 區域)。如需可用識別碼的清單 AWS 區域,請參閱Amazon Web Services 一般參考。例如,若為美國東部 (俄亥俄),您會使用 us-east-2

    export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export AWS_DEFAULT_REGION=
  3. 請注意,上述環境變數僅對目前的終端機工作階段有效。若要能夠跨終端機工作階段使用這些環境變數,您必須將其加入至 shell 描述檔做為使用者環境變數,如下所示。

    1. 在 IDE 的 Environment (環境) 視窗中選擇齒輪圖示,然後選擇 Show Home in Favorites (在我的最愛中顯示首頁)。重複此步驟並選擇 Show Hidden Files (顯示隱藏的檔案)。

    2. 開啟 ~/.bashrc 檔案。

    3. 在檔案末尾處輸入或貼上以下程式碼。在這些命令的 AWS_ACCESS_KEY_ID: 後面輸入您的 AWS 存取金鑰 ID。在 AWS_SECRET_ACCESS_KEY 後面,輸入您的 AWS 私密存取金鑰。在 AWS_DEFAULT_REGION_ID 後面,輸入與您最接近之 AWS 區域 相關聯的 AWS 區域 識別符 (或您慣用的 AWS 區域)。如需可用識別碼的清單 AWS 區域,請參閱Amazon Web Services 一般參考。例如,若為美國東部 (俄亥俄) 區域,您會使用 us-east-2

      export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export AWS_DEFAULT_REGION=
    4. 儲存檔案。

    5. 援引 ~/.bashrc 檔案以載入上述新的環境變數。

      . ~/.bashrc

您現在即可開始從您的環境呼叫 AWS services。若要使用 AWS CLI 或 aws-shell 呼叫 AWS services,請參閱 AWS CLI 和 aws-shell 範例。若要從程式碼呼叫 AWS services,請參閱我們其他的教學和範例