

 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>

このトピックでは、[[Team Setup]](setup.md) (チームセットアップ) または[[Enterprise Setup]](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 アイデンティティセンター、このステップをスキップし、*AWS IAM アイデンティティセンター 「 ユーザーガイド*」の[「アクセス許可セットの作成](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 コンソール] を開きます。これを行うには、コンソールのナビゲーションバーで、［**サービス**］を選択します。次に、［**IAM**］を選択します。

1. サービスのナビゲーションペインで、[**ポリシー**] を選択します。

1. **[Create policy]** (ポリシーを作成) を選択します。

1. [**JSON**] タブに、提案された[カスタマー管理ポリシーの例](setup-teams-policy-examples.md)のいずれかを貼り付けます。
**注記**  
独自のカスタマーマネージドポリシーを作成することもできます。詳細については、「*IAM ユーザーガイド*」と AWS のサービスの[ドキュメント](https://aws.amazon.com/documentation/)の「[IAM JSON ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)」を参照してください。

1. **[ポリシーの確認]** を選択します。

1. [**ポリシーの確認**] ページで、ポリシーの [**名前**] と [**説明**] (省略可能) を入力して、[**ポリシーの作成**] を選択します。

作成したい追加のカスタマー管理ポリシーそれぞれに対してこのステップを繰り返します。次に、「[コンソールを使用してカスタマー管理ポリシーをグループに追加する](#setup-teams-add-policy-console)」までスキップします。

### ステップ 1.2: を使用してカスタマー管理ポリシーを作成する AWS CLI
<a name="setup-teams-create-policy-cli"></a>

1. を実行するコンピュータで AWS CLI、ポリシーを記述するファイルを作成します (例: `policy.json`)。

   別のファイル名を使用してファイルを作成する場合は、この手順全体でそれを置き換えてください。

1. `policy.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. ターミナルまたはコマンドプロンプトで、`policy.json` ファイルが格納されているディレクトリに移動します。

1. ポリシーの名前および `create-policy` ファイルを指定して、IAM `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 アイデンティティセンター、このステップをスキップし、代わりに*AWS IAM アイデンティティセンター 「 ユーザーガイド*」の[「ユーザーアクセスの割り当て](https://docs.aws.amazon.com/singlesignon/latest/userguide/useraccess.html#assignusers)」の手順に従います。

### ステップ 2.1: コンソールを使用してカスタマーマネージドポリシーをグループに追加する
<a name="setup-teams-add-policy-console"></a>

1. 前の手順で開いた IAM コンソールを使って、サービスのナビゲーションペイン内で、[**グループ**] を選択します。

1. グループの名前を選択します。

1. [**許可**] タブの［**マネージドポリシー**］には、［**ポリシーのアタッチ**］を選択します。

1. ポリシー名のリストで、グループにアタッチする各カスタマー管理ポリシーの横にあるボックスを選択します。特定のポリシー名がリストに表示されない場合は、**[Filter]** (フィルター) ボックスにポリシー名を入力して表示させます。

1. ［**ポリシーをアタッチ**] を選択します。

### ステップ 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。

ポリシーのグループの名前と Amazon リソースネーム (ARN) を指定して、IAM `attach-group-policy` コマンドを実行します。

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

前述のコマンドで、`MyGroup` をグループの名前に置き換えます。を AWS アカウント ID `123456789012`に置き換えます。`MyPolicy` はカスタマー管理ポリシーの名前に置き換えます。

## 次の手順
<a name="setup-teams-next-steps"></a>


****  

|  **タスク**  |  **次のトピックを参照**  | 
| --- | --- | 
|   AWS Cloud9 開発環境を作成し、IDE AWS Cloud9 を使用して新しい環境でコードを操作します。  |   [環境を作成する](create-environment.md)   | 
|  IDE AWS Cloud9 の使用方法を説明します。  |   [開始方法: ベーシックチュートリアル](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) 
+  [グループ内のユーザーがリージョンごとに 1 つの EC2 環境のみを作成できるようにする AWS](#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": "*"
    }
  ]
}
```

------

前述のカスタマー管理ポリシー`"Effect": "Allow"`は、 AWS Cloud9 ユーザーグループに既にアタッチされている`AWSCloud9User`管理ポリシー`"Resource": "*"`の `"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`管理ポリシー`"Resource": "*"`の `"Action": "cloud9:CreateEnvironmentEC2"` `"Effect": "Allow"`の を明示的に上書きします。

## グループ内のユーザーに特定の Amazon EC2 インスタンスタイプでのみ EC2 環境を作成することを許可する
<a name="setup-teams-policy-examples-specific-instance-types"></a>

次のカスタマー管理ポリシーを AWS Cloud9 ユーザーグループにアタッチすると、ユーザーグループのユーザーは、 `t2`で から始まるインスタンスタイプのみを使用する EC2 環境を作成できます 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 環境を作成できないようにするには、前述のカスタマー管理ポリシーから `"cloud9:CreateEnvironmentSSH",` を削除します。

## グループ内のユーザーがそれぞれに 1 つの EC2 環境のみを作成することを許可する AWS リージョン
<a name="setup-teams-policy-examples-single-ec2-environment"></a>

次のカスタマー管理ポリシーを AWS Cloud9 ユーザーグループにアタッチすると、各ユーザーは AWS リージョン AWS Cloud9 で使用できる各 に最大 1 つの EC2 環境を作成できます。これは、環境の名前をその AWS リージョン内で 1 つの特定の名前に制限することで行われます。この例では、環境は `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)」を参照してください。