

 AWS Cloud9 不再提供給新客戶。 AWS Cloud9 的現有客戶可以繼續正常使用該服務。[進一步了解](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# 的其他設定選項 AWS Cloud9
<a name="setup-teams"></a>

本主題假設您已完成[小組設定](setup.md)或[企業設定](setup-enterprise.md)中的設定步驟。

在[團隊設定](setup.md)或[企業設定](setup-enterprise.md)中，您已建立群組，並將 AWS Cloud9 存取許可直接新增至這些群組。這是為了確保這些群組中的使用者可以存取 AWS Cloud9。在本主題中，您會新增更多存取許可來限制這些群組中的使用者可以建立的環境類型。這有助於控制 AWS Cloud9 AWS 帳戶和組織中與 相關的成本。

若要新增這些存取許可，您需要建立自己的政策集合，藉此定義您要強制執行的 AWS 存取許可。我們將其中每個政策稱為*客戶受管政策*。然後，您會將這些客戶受管政策連接到使用者所屬的群組。在某些情況下，您還必須分離已連接到這些群組的現有 AWS 受管政策。若要進行這項設定，請依照本主題中的程序進行。

**注意**  
下列程序僅涵蓋為 AWS Cloud9 使用者連接和分離政策。這些程序假設您已經有單獨的 AWS Cloud9 使用者群組和 AWS Cloud9 管理員群組。它們還假設您在 AWS Cloud9 管理員群組中只有數量有限的使用者。此 AWS 安全最佳實務可協助您更好地控制、追蹤和疑難排解 AWS 資源存取的問題。

## 步驟 1：建立客戶管理政策
<a name="setup-teams-create-policy"></a>

您可以使用 [AWS 管理主控台](#setup-teams-create-policy-console) 或 [AWS 命令列界面 (AWS CLI)](#setup-teams-create-policy-cli) 來建立客戶受管政策。

**注意**  
本步驟只會說明如何建立 IAM 群組的客戶受管政策。若要為 中的群組建立自訂許可集 AWS IAM Identity Center，請略過此步驟，並遵循*AWS IAM Identity Center 《 使用者指南*》中的[建立許可集](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsets.html#howtocreatepermissionset)中的指示。在這個主題中，請依照說明來建立自訂許可集合。如需了解相關自訂許可政策，請參閱本主題稍後的[使用 AWS Cloud9的小組適用的客戶受管政策範例](setup-teams-policy-examples.md)。

### 步驟 1.1：使用主控台建立客戶受管政策
<a name="setup-teams-create-policy-console"></a>

1. 如果您尚未登入 AWS 管理主控台，請登入 。

   我們建議您在 AWS 帳戶使用管理員使用者的憑證來登入。如果您無法執行此操作，請洽詢您的 AWS 帳戶 管理員。

1. 開啟 IAM 主控台。方法如下：從主控台的導覽列選擇 **Services** (服務)，然後選擇 **IAM**。

1. 在服務的導覽窗格中，選擇 **Policies** (政策)。

1. 選擇**建立政策**。

1. 在 **JSON** 標籤中，貼上其中一個建議的[客戶受管政策範例](setup-teams-policy-examples.md)。
**注意**  
您也可以建立自己的客戶受管政策。如需詳細資訊，請參閱《IAM 使用者指南》**中的 [IAM JSON 政策參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)，以及 AWS 服務的[文件](https://aws.amazon.com/documentation/)。

1. 選擇**檢閱政策**。

1. 在 **Review policy** (檢閱政策) 頁面上，輸入政策的 **Name** (名稱) 和選用的 **Description** (描述)，然後選擇 **Create policy** (建立政策)。

針對您要建立的每個額外客戶受管政策重複此步驟。然後，直接跳到[使用主控台將客戶受管政策新增至群組](#setup-teams-add-policy-console)。

### 步驟 1.2：使用 建立客戶受管政策 AWS CLI
<a name="setup-teams-create-policy-cli"></a>

1. 在您執行 的電腦上 AWS CLI，建立 檔案來描述政策 （例如 `policy.json`)。

   如果您使用不同的檔案名稱建立檔案，請在此程序中予以取代。

1. 將我們建議的其中一個[客戶受管政策範例](setup-teams-policy-examples.md)貼到 `policy.json` 檔案中。
**注意**  
您也可以建立自己的客戶受管政策。如需詳細資訊，請參閱中的 *IAM 使用者指南*中的[IAM JSON 政策參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)以及 AWS 服務的[文件](https://aws.amazon.com/documentation/)。

1. 從終端機或命令提示，切換至包含 `policy.json` 檔案的目錄。

1. 執行 IAM `create-policy` 命令，並指定政策的名稱和 `policy.json` 檔案。

   ```
   aws iam create-policy --policy-document file://policy.json --policy-name MyPolicy
   ```

   在上述命令中，將 `MyPolicy` 取代為政策的名稱。

跳到[使用 將客戶受管政策新增至群組 AWS CLI](#setup-teams-add-policy-cli)。

## 步驟 2：將客戶受管政策新增至群組
<a name="setup-teams-add-policy"></a>

您可以使用 [AWS 管理主控台](#setup-teams-add-policy-console) 或 [AWS 命令列界面 (AWS CLI)](#setup-teams-add-policy-cli)，將客戶受管政策新增至群組。如需詳細資訊，請參閱[使用 之團隊的客戶受管政策範例 AWS Cloud9](setup-teams-policy-examples.md)。

**注意**  
這個步驟只會說明如何在 IAM 群組新增客戶受管政策。若要將自訂許可集新增至 中的群組 AWS IAM Identity Center，請略過此步驟，並改為遵循*AWS IAM Identity Center 《 使用者指南*》中的[指派使用者存取權](https://docs.aws.amazon.com/singlesignon/latest/userguide/useraccess.html#assignusers)中的指示。

### 步驟 2.1：使用主控台將客戶受管政策新增至群組
<a name="setup-teams-add-policy-console"></a>

1. 使用上一個程序中開啟的 IAM 主控台，在服務的導覽窗格選擇 **Groups** (群組)。

1. 選擇群組的名稱。

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

1. 在政策名稱清單中，選擇您要連接到群組的每個客戶受管政策旁的方塊。如果您看不到清單中的特定政策名稱，請在 **Filter** (篩選條件) 方塊中輸入政策名稱來顯示它。

1. 選擇 **Attach Policy (連接政策)**。

### 步驟 2.2：使用 將客戶受管政策新增至群組 AWS CLI
<a name="setup-teams-add-policy-cli"></a>

**注意**  
如果您使用的是[AWS 受管臨時憑證](security-iam.md#auth-and-access-control-temporary-managed-credentials)，則無法使用 IDE AWS Cloud9 中的終端機工作階段來執行本節中的部分或全部命令。為了解決 AWS 安全最佳實務， AWS 受管臨時登入資料不允許執行某些命令。反之，您可以從個別安裝的 AWS Command Line Interface () 執行這些命令AWS CLI。

執行 IAM `attach-group-policy` 命令，並指定群組的名稱和政策的 Amazon Resource Name (ARN)。

```
aws iam attach-group-policy --group-name MyGroup --policy-arn arn:aws:iam::123456789012:policy/MyPolicy
```

在上述命令中，將 `MyGroup` 取代為群組的名稱。將 取代`123456789012`為 AWS 帳戶 ID。將 `MyPolicy` 取代為客戶受管政策的名稱。

## 後續步驟
<a name="setup-teams-next-steps"></a>


****  

|  **任務**  |  **參閱此主題**  | 
| --- | --- | 
|  建立 AWS Cloud9 開發環境，然後使用 AWS Cloud9 IDE 在新環境中使用程式碼。  |   [建立環境](create-environment.md)   | 
|  了解如何使用 AWS Cloud9 IDE。  |   [入門 : 基本教學課程](tutorials-basic.md) 和 [使用 IDE](ide.md)   | 
|  邀請其他人與您即時透過文字聊天支援功能一起使用您的新環境。  |   [使用共享環境](share-environment.md)   | 

# 使用 的團隊的客戶受管政策範例 AWS Cloud9
<a name="setup-teams-policy-examples"></a>

以下幾個政策範例可供您用來限制群組中的使用者能夠在 AWS 帳戶中建立的環境。
+  [防止群組中的使用者建立環境](#setup-teams-policy-examples-prevent-environments) 
+  [防止群組中的使用者建立 EC2 環境](#setup-teams-policy-examples-prevent-ec2-environments) 
+  [允許群組中的使用者建立只含有特定 Amazon EC2 執行個體類型的 EC2 環境](#setup-teams-policy-examples-specific-instance-types) 
+  [允許群組中的使用者為每個 AWS 區域建立單一 EC2 環境](#setup-teams-policy-examples-single-ec2-environment) 

## 防止群組中的使用者建立環境
<a name="setup-teams-policy-examples-prevent-environments"></a>

下列客戶受管政策連接至 AWS Cloud9 使用者群組時，可防止這些使用者在 中建立環境 AWS 帳戶。如果您希望 中的管理員使用者管理建立環境 AWS 帳戶 ，這會很有用。否則，使用者群組中的 AWS Cloud9 使用者會執行此操作。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "cloud9:CreateEnvironmentEC2",
        "cloud9:CreateEnvironmentSSH"
      ],
      "Resource": "*"
    }
  ]
}
```

------

上述客戶受管政策在已連接到 AWS Cloud9 使用者群組的`AWSCloud9User`受管政策`"Resource": "*"`中明確覆寫 `"Effect": "Allow"``"Action": "cloud9:CreateEnvironmentEC2"`和 `"cloud9:CreateEnvironmentSSH"` 上的 。

## 防止群組中的使用者建立 EC2 環境
<a name="setup-teams-policy-examples-prevent-ec2-environments"></a>

下列客戶受管政策連接至 AWS Cloud9 使用者群組時，可防止這些使用者在 中建立 EC2 環境 AWS 帳戶。如果您希望 中的管理員使用者管理建立 EC2 環境 AWS 帳戶 ，這會很有用。否則，使用者群組中的 AWS Cloud9 使用者會執行此操作。此政策假設您並未同時連接防止該群組中使用者建立 SSH 環境的政策。否則，這些使用者無法建立環境。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "cloud9:CreateEnvironmentEC2",
      "Resource": "*"
    }
  ]
}
```

------

上述客戶受管政策會在已連接到 AWS Cloud9 使用者群組的`AWSCloud9User`受管政策`"Effect": "Allow"``"Action": "cloud9:CreateEnvironmentEC2"``"Resource": "*"`中明確覆寫 上的 。

## 允許群組中的使用者建立只含有特定 Amazon EC2 執行個體類型的 EC2 環境
<a name="setup-teams-policy-examples-specific-instance-types"></a>

下列客戶受管政策連接至 AWS Cloud9 使用者群組時，可讓使用者群組中的使用者建立 EC2 環境，其僅使用 `t2`中開頭為 的執行個體類型 AWS 帳戶。此政策假設您並未同時連接防止該群組中的使用者建立 EC2 環境的政策。否則，這些使用者無法建立 EC2 環境。

您可以將下列政策中的 `"t2.*"` 取代為不同的執行個體類別 (例如 `"m4.*"`)。或者，您可以限定其為多個執行個體類別或執行個體類型 (例如 `[ "t2.*", "m4.*" ]` 或 `[ "t2.micro", "m4.large" ]`)。

對於 AWS Cloud9 使用者群組，從 群組分離 `AWSCloud9User`受管政策。接著，在其位置新增下列客戶受管政策。如果您未分離 `AWSCloud9User` 受管政策，下列客戶受管政策會沒有作用。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloud9:CreateEnvironmentSSH",
        "cloud9:GetUserPublicKey",
        "cloud9:UpdateUserSettings",
        "cloud9:GetUserSettings",
        "iam:GetUser",
        "iam:ListUsers",
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "cloud9:CreateEnvironmentEC2",
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "cloud9:InstanceType": "t2.*"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloud9:DescribeEnvironmentMemberships"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "Null": {
          "cloud9:UserArn": "true",
          "cloud9:EnvironmentId": "true"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "cloud9.amazonaws.com"
        }
      }
    }
  ]
}
```

------

上述客戶受管政策也可讓這些使用者建立 SSH 環境。若要完全防止這些使用者建立 SSH 環境，請從上述客戶受管政策移除 `"cloud9:CreateEnvironmentSSH",`。

## 允許群組中的使用者在每個 中僅建立單一 EC2 環境 AWS 區域
<a name="setup-teams-policy-examples-single-ec2-environment"></a>

下列客戶受管政策連接至 AWS Cloud9 使用者群組時，可讓這些使用者在每個 AWS Cloud9 可用的環境中建立最多一個 EC2 AWS 區域 環境。其作法是將環境的名稱限制為該 AWS 區域中的某個特定名稱。在此範例中，環境限制為 `my-demo-environment`。

**注意**  
AWS Cloud9 不會啟用限制特定環境 AWS 區域 的建立。 AWS Cloud9 也不會啟用限制可建立環境的整體數量。唯一的例外是發佈的[服務限制](limits.md)。

對於 AWS Cloud9 使用者群組，從群組分離`AWSCloud9User`受管政策，然後在其位置新增下列客戶受管政策。如果您未分離 `AWSCloud9User` 受管政策，下列客戶受管政策沒有作用。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloud9:CreateEnvironmentSSH",
        "cloud9:GetUserPublicKey",
        "cloud9:UpdateUserSettings",
        "cloud9:GetUserSettings",
        "iam:GetUser",
        "iam:ListUsers",
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloud9:CreateEnvironmentEC2"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "cloud9:EnvironmentName": "my-demo-environment"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloud9:DescribeEnvironmentMemberships"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "Null": {
          "cloud9:UserArn": "true",
          "cloud9:EnvironmentId": "true"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "cloud9.amazonaws.com"
        }
      }
    }
  ]
}
```

------

上述客戶受管政策可讓這些使用者建立 SSH 環境。若要完全防止這些使用者建立 SSH 環境，請從上述客戶受管政策移除 `"cloud9:CreateEnvironmentSSH",`。

如需更多範例，請參閱[客戶管理政策範例](security-iam.md#auth-and-access-control-customer-policies-examples)。