AWS Cloud9 の追加のセットアップオプション (チームとエンタープライズ) - AWS Cloud9

AWS Cloud9 の追加のセットアップオプション (チームとエンタープライズ)

このトピックでは、チームセットアップまたはエンタープライズセットアップのセットアップステップを完了していることを前提としています。

チームセットアップまたはエンタープライズセットアップでは、グループを作成し、これらのグループに AWS Cloud9 アクセス許可を直接追加することで、これらのグループのユーザーが AWS Cloud9 にアクセスできるようにしました。このトピックでは、さらにアクセス許可を追加して、それらのグループのユーザーが作成できる環境の種類を制限します。これにより、AWS アカウントおよび組織の AWS Cloud9 関連のコストを管理できます。

これらのアクセス許可を追加するには、強制したい AWS アクセス許可を定義する独自の一連のポリシーを作成します (このような各ポリシーをカスタマー管理ポリシーと呼びます)。次に、これらのカスタマー管理ポリシーを、ユーザーが含まれるグループにアタッチします (シナリオによっては、これらのグループにアタッチ済みの既存の AWS マネージドポリシーをデタッチする必要もあります)。これを設定するには、このトピックの手順に従います。

注記

以下の手順では、AWS Cloud9 ユーザーについてのみポリシーのアタッチおよびデタッチの手順を示しています。以下の手順では、既存の AWS Cloud9 ユーザーグループと AWS Cloud9 管理者グループが別個にあり、AWS Cloud9 管理者グループのユーザー数は限られていることを前提としています。この AWS セキュリティのベストプラクティスによって、AWS リソースへのアクセスの問題の管理、追跡、およびトラブルシューティングがやりやすくなります。

ステップ 1: カスタマー管理ポリシーを作成する

カスタマー管理ポリシーは、AWS Management Console または AWS コマンドラインインターフェイス (AWS CLI) を使って作成できます。

注記

このステップでは、IAM グループ用のカスタマー管理ポリシーを作成する方法のみを示します。AWS IAM Identity Center (successor to AWS Single Sign-On) でグループのカスタム許可セットを作成するには、このステップをスキップして、代わりに、AWS IAM Identity Center (successor to AWS Single Sign-On) ユーザーガイドの「許可セットを作成する」の手順に従ってください。このトピックでは、カスタムアクセス許可セットを作成する手順を示します。関連するカスタムアクセス許可ポリシーは、このトピックの後半にある「AWS Cloud9 を使用したチームのカスタマー管理ポリシーの例」を参照してください。

コンソールを使用してカスタマー管理ポリシーを作成する

  1. AWS Management Console にまだサインインしていない場合は、サインインします。

    AWS アカウントの 管理者ユーザーの認証情報を使用してサインインすることをお勧めします。これを実行できない場合は、AWS アカウント管理者にお問い合わせください。

  2. IAM コンソールを開きます。これを行うには、コンソールのナビゲーションバーで、[サービス]を選択します。次に、[IAM]を選択します。

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

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

  5. [JSON] タブに、提案されたカスタマー管理ポリシーの例のいずれかを貼り付けます。

    注記

    独自のカスタマーマネージドポリシーを作成することもできます。詳細については、IAM ユーザーガイドIAM JSON ポリシーリファレンスとAWSサービスの「ドキュメント」を参照してください。

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

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

追加のカスタマー管理ポリシーを作成するたびに、このステップを繰り返し、「コンソールを使用してカスタマー管理ポリシーをグループに追加する」に進みます。

AWS CLI を使用してカスタマー管理ポリシーを作成する

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

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

  2. policy.json ファイルに、提案されたカスタマー管理ポリシーの例のいずれかを貼り付けます。

    注記

    独自のカスタマーマネージドポリシーを作成することもできます。詳細については、IAM ユーザーガイドIAM JSON ポリシーリファレンスとAWSサービスの「ドキュメント」を参照してください。

  3. ターミナルまたはコマンドプロンプトで、policy.json ファイルが格納されているディレクトリに移動します。

  4. ポリシーの名前および create-policy ファイルを指定して、IAM policy.json コマンドを実行します。

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

    前述のコマンドで、MyPolicy をポリシーの名前に置き換えます。

AWS CLI を使用してカスタマーマネージドポリシーをグループに追加する」に進みます。

ステップ 2: カスタマーマネージドポリシーをグループに追加する

カスタマーマネージドポリシーをグループに追加するには、「AWS Management Console」または「AWSコマンドラインインターフェイス (AWS CLI)」を使用します。

注記

このステップでは、IAM グループにカスタマー管理ポリシーを追加する方法のみを示します。AWS IAM Identity Center (successor to AWS Single Sign-On) でグループにカスタム許可セットを追加するには、このステップをスキップして、代わりに AWS IAM Identity Center (successor to AWS Single Sign-On) ユーザーガイドの「ユーザーアクセスを割り当てる」の手順に従ってください。

コンソールを使用してカスタマーマネージドポリシーをグループに追加する

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

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

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

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

  5. Attach Policy] (ポリシーのアタッチ) を選択します。

AWS CLI を使用してカスタマーマネージドポリシーをグループに追加する

注記

AWS マネージド一時認証情報を使用している場合は、AWS Cloud9 IDE 内のターミナルセッションを使用して、このセクションのコマンドの一部または全部を実行することはできません。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 をグループの名前に置き換えます。123456789012 を AWS アカウント ID で置き換え、MyPolicy をカスタマー管理ポリシーの名前で置き換えます。

AWS Cloud9 を使用したチームのカスタマー管理ポリシーの例

以下に、グループのユーザーが AWS アカウント内に作成できる種類の環境を制限するために使用できるポリシーの例をいくつか示します。

グループ内のユーザーが環境を作成できないようにする

次のカスタマー管理ポリシーを AWS Cloud9 ユーザーグループにアタッチすると、各ユーザーは AWS アカウントで環境を作成できません。これは、AWS Cloud9 ユーザーグループのユーザーではなく、AWS アカウントの IAM 管理者ユーザーに環境の作成を管理させる場合に便利です。

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

前述のカスタマー管理ポリシーは、AWS Cloud9 ユーザーグループにアタッチ済みの AWSCloud9User マネージドポリシーで "Resource": "*" に対する "Action": "cloud9:CreateEnvironmentEC2""cloud9:CreateEnvironmentSSH""Effect": "Allow" を明示的に上書きすることにご注意ください。

グループ内のユーザーが EC2 環境を作成できないようにする

次のカスタマー管理ポリシーを AWS Cloud9 ユーザーグループにアタッチすると、各ユーザーは AWS アカウントで EC2 環境を作成できません。これは、AWS Cloud9 ユーザーグループのユーザーではなく、AWS アカウントの IAM 管理者ユーザーに EC2 環境の作成を管理させる場合に便利です。これは、そのグループのユーザーが SSH 環境を作成できないようにするポリシーがアタッチ済みでないことを前提としています。アタッチされていると、それらのユーザーは環境をまったく作成できなくなります。

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

前述のカスタマー管理ポリシーは、AWS Cloud9 ユーザーグループにアタッチ済みの AWSCloud9User マネージドポリシーで "Resource": "*" に対する "Action": "cloud9:CreateEnvironmentEC2""Effect": "Allow" を明示的に上書きすることにご注意ください。

グループ内のユーザーに特定の Amazon EC2 インスタンスタイプでのみ EC2 環境を作成する許可を与える

次のカスタマー管理ポリシーを AWS Cloud9 ユーザーグループにアタッチすると、これらのユーザーは AWS アカウントで t2 から始まるインスタンスタイプのみを使用する EC2 環境を作成できます。このポリシーは、そのグループのユーザーが EC2 環境を作成できないようにするポリシーをアタッチ済みでないことも前提としています。アタッチされていると、それらのユーザーは EC2 環境をまったく作成できなくなります。

次のポリシーの "t2.*" は、別のインスタンスクラス (例: "m4.*") に置き換えることができます。または、複数のインスタンスクラスやインスタンスタイプ (例: [ "t2.*", "m4.*" ] または [ "t2.micro", "m4.large" ]) に制限できます。

AWS Cloud9 ユーザーグループの場合は、グループから AWSCloud9User マネージドポリシーをデタッチしてから、次のカスタマー管理ポリシーを代わりに追加します。(AWSCloud9User マネージドポリシーをデタッチしないと、次のカスタマー管理ポリシーは効果がありません。)

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentSSH", "cloud9:ValidateEnvironmentName", "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", を削除します。

グループ内のユーザーが AWS リージョン1つにつき、EC2 環境を1つだけ作成する許可を与えます

次のカスタマー管理ポリシーを AWS Cloud9 ユーザーグループにアタッチすると、各ユーザーは AWS Cloud9 を利用できる AWS リージョンごとに最大 1 つの EC2 環境を作成できます。これは、環境の名前をその AWS リージョン内で 1 つの特定の名前に制限することで行われます (この例では my-demo-environment)。

注記

AWS Cloud9 では、環境の作成を特定の AWS リージョンに制限することは有効にできません また、作成できる環境の全体数を制限することも有効にはできません (公開された サービスの制限を除く)。

AWS Cloud9 ユーザーグループの場合は、グループから AWSCloud9User マネージドポリシーをデタッチしてから、代わりに次のカスタマー管理ポリシーを追加します。(AWSCloud9User マネージドポリシーをデタッチしないと、次のカスタマー管理ポリシーは効果がありません。)

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentSSH", "cloud9:ValidateEnvironmentName", "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", を削除します。

その他の例については、「お客様のマネージドポリシーの例」を参照してください。

次のステップ

タスク 次のトピックを参照

AWS Cloud9 開発環境を作成し、AWS Cloud9 IDE を使用して新しい環境でコードを操作します。

環境を作成する

AWS Cloud9 IDE を使用する方法について説明します。

開始方法: ベーシックチュートリアル および IDE を操作する

リアルタイムで次のチャットサポートを使用し、他のユーザーを招待して一緒に新しい環境を使用します。

共有環境を使用する