での共有環境の使用 AWS Cloud9 - AWS Cloud9

AWS Cloud9 は、新しいお客様では利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

での共有環境の使用 AWS Cloud9

共有環境は、複数のユーザーが参加するよう招待された AWS Cloud9 開発環境です。このトピックでは、 で環境を共有する手順 AWS Cloud9 と、共有環境に参加する方法について説明します。

所有する環境に参加するようユーザーを招待するには、次のいずれかの一連の手順に従います。招待したいユーザーの種類に基づいて選択します。

共有環境のユースケース

共有環境は以下のユースケースに適しています。

  • ペアプログラミング (ピアプログラミングともいいます): 単一の環境で 2 人のユーザーが一緒に同じコードに対して作業を行う場合です。ペアプログラミングでは通常、1 人のユーザーがコードを記述し、もう 1 人のユーザーがコードの記述を観察します。観察者はコードの記述者にその場でインプットおよびフィードバックを行います。2 人のポジションはプロジェクト中に頻繁に入れ替わります。共有環境がない場合、通常ペアプログラマーのチームが 1 台のマシンの前に座ります。同時にコードの書き込みができるのは 1 人のユーザーのみです。共有環境では、両方のユーザーが自分のマシンの前に座ることができます。さらに、たとえ物理的に異なるオフィスにいても、同時にコードの書き込みができます。

  • コンピュータサイエンスクラス: これは、教師または教育助手が学生の環境にアクセスする場合に便利です。そうすることで、生徒の宿題を確認したり、彼らの環境の問題をリアルタイムで修正することができます。また、学生がクラスメートと一緒に共有の宿題プロジェクトで作業を行い、単一の環境でリアルタイムで一緒にコードを書くこともできます。それぞれが別の場所にいて、別のコンピューターオペレーティングシステムやウェブブラウザタイプを使用していても、これができます。

  • その他、複数のユーザーが同じコードに対してリアルタイムで共同作業する必要がある状況。

環境メンバーのアクセスロールについて

環境を共有したり、 の共有環境に参加する前に AWS Cloud9、共有環境のアクセス許可レベルを理解しておく必要があります。これらのアクセス許可レベルは環境メンバーアクセスロールと呼ばれます。

の共有環境 AWS Cloud9 には、所有者 読み取り/書き込み 読み取り専用 の 3 つの環境メンバーアクセスロールが用意されています。

  • 所有者は、環境に関する完全なコントロールを持っています。各環境の所有者は、環境の作成者である 1 人のみです。所有者は、以下のアクションができます。

    • 環境のメンバーを追加、変更、および削除する

    • ファイルを開く、表示、編集する

    • コードを実行する

    • 環境設定を変更する

    • 他のメンバー とチャットする

    • 既存のチャットメッセージを削除する

    では AWS Cloud9 IDE、環境所有者に読み取りと書き込みのアクセス権限が表示されます。

  • 読み取り/書き込みメンバーは以下を実行できます。

    • ファイルを開く、表示、編集する

    • コードを実行する

    • 内からさまざまな環境設定を変更する AWS Cloud9 IDE

    • 他のメンバーとチャットする

    • 既存のチャットメッセージを削除する

    では AWS Cloud9 IDE、読み取り/書き込みメンバーは読み取り+書き込みアクセスで表示されます。

  • 読み取り専用メンバーは以下のアクションを実行できます。

    • ファイルを開く、表示する

    • 他のメンバーとチャットする

    • 既存のチャットメッセージを削除する

    では AWS Cloud9 IDE、読み取り専用メンバーは読み取り専用アクセスで表示されます。

ユーザーが環境所有者またはメンバーになる前に、ユーザーが次のいずれかの条件を満たしている必要があります。

  • ユーザーが AWS アカウント ルートユーザーである。

  • ユーザーが IAM 管理者ユーザーである。詳細については、 IAM ユーザーガイド「最初のIAM管理者ユーザーとグループの作成」を参照してください。

  • ユーザーとは、IAMグループ に属するユーザーロール を引き受けるユーザー、またはロール を引き受けるフェデレーティッドユーザーであり、そのグループまたはロールには AWS 管理ポリシーAWSCloud9Administratorまたは AWSCloud9User (またはメンバーのみとなる AWSCloud9EnvironmentMember) がアタッチされています。詳細については、「AWS マネージド (事前定義) ポリシー」を参照してください。

    • 上記の管理ポリシーのいずれかをIAMグループにアタッチするには、次の手順で説明されているように、 AWS Management Consoleまたは AWS コマンドラインインターフェイス (AWS CLI) を使用できます。

    • で、ユーザーまたはフェデレーティッドユーザーが引き受ける上記の管理ポリシーのいずれかIAMを使用してロールを作成できます。詳細については、IAM「 ユーザーガイド」の「ロールの作成」を参照してください。ユーザーまたはフェデレーティッドユーザーにロールを引き受けるには、IAM「 ユーザーガイド」のIAM「ロールの使用」でロールを引き受ける範囲を参照してください。

コンソールを使用して AWS の管理ポリシー AWS Cloud9 をグループにアタッチする

次の手順では、 コンソールを使用して の AWS 管理ポリシー AWS Cloud9 をグループにアタッチする方法について説明します。

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

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

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

  3. [グループ] を選択します。

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

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

  6. ポリシー名のリストで、次のいずれかのボックスを選択します。

    • AWSCloud9User (推奨) または AWSCloud9Administrator を使用して、グループ内の各ユーザーが環境所有者になるようにします。

    • AWSCloud9EnvironmentMember グループ内の各ユーザーをメンバーのみにするには

    (これらのポリシー名のいずれかがリストに表示されない場合は、[検索] ボックスにポリシー名を入力して表示させます。)

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

を使用して AWS の管理ポリシー AWS Cloud9 をグループにアタッチする AWS CLI

注記

AWS マネージド一時認証情報 を使用している場合、 AWS Cloud9 IDEでターミナルセッションを使用して、このセクションのコマンドの一部またはすべてを実行することはできません。 AWS セキュリティのベストプラクティスに対処するために、 AWS マネージド一時認証情報では一部のコマンドを実行できません。代わりに、これらのコマンドを AWS Command Line Interface () の別のインストールから実行できますAWS CLI。

IAM attach-group-policy コマンドを実行して、 AWS の管理ポリシーをグループにアタッチ AWS Cloud9 します。ポリシーのグループ名と Amazon リソースネーム (ARN) を指定します。

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

前述のコマンドで、MyGroup をグループの名前に置き換えます。を次のいずれかの AWS マネージドポリシーの名前POLICY_NAMEに置き換えます。

  • AWSCloud9User (推奨) または AWSCloud9Administrator。グループの各ユーザーは環境の所有者になることができます。

  • AWSCloud9EnvironmentMember。グループの各ユーザーはメンバーにのみなることができます。

環境と同じアカウントのユーザーを招待する

このセクションの手順を使用して、 で所有している AWS Cloud9 開発環境を同じアカウントの AWS アカウント ユーザーと共有します。

  1. 招待したいユーザーが、以下のどのタイプのユーザーでもないとします。招待したいユーザーが、対応する環境メンバーアクセスロールをすでに持っていることを確認してください。手順については、「環境メンバーのアクセスロールについて」を参照してください。

    • AWS アカウント ルートユーザー

    • 管理者ユーザー

    • IAM グループ に属するユーザーロール を引き受けるユーザー、またはロール を引き受けるフェデレーティッドユーザーそのグループまたはロールには AWS 管理ポリシーがAWSCloud9Administratorアタッチされています。

  2. お客様が所有しユーザーを招待する環境をまだ開いていない場合は、環境を開きます。

  3. のメニューバーで AWS Cloud9 IDE、次のいずれかを実行します。

    • [Window] (ウィンドウ)、[Share] (共有) の順に選択します。

    • [Share (共有)] ([Preferences (設定)] の歯車アイコンの横にあります) を選択します。

      メニューバーの共有コマンド AWS Cloud9 IDE
  4. [Share this environment (この環境を共有)] ダイアログボックスの[Invite Members (メンバーの招待)] に、以下のいずれかを入力します。

    • IAM ユーザー を招待するには、ユーザーの名前を入力します。

    • AWS アカウント ルートユーザーを招待するには、arn:aws:iam::123456789012:root と入力します。を AWS アカウント ID 123456789012に置き換えます。

    • 役割を引き受けたユーザーまたは役割を引き受けたフェデレーションユーザーを招待するには、arn:aws:sts::123456789012:assumed-role/MyAssumedRole/MyAssumedRoleSession と入力します。MyAssumedRole を AWS アカウント ID 123456789012に置き換え、引き受けたロールの名前に置き換えます。MyAssumedRoleSession を引き受けたロールのセッション名に置き換えます。

  5. このユーザーを読み取り専用にするには、[R]を選択します。このユーザーを読み取り/書き込み可能にするには、[RW]です。

  6. 招待を選択します。

    注記

    このユーザーを読み取り/書き込みメンバーにすると、 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 を使用して create-environment-membership コマンドを実行します AWS Cloud9 。

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

前述のコマンドで、12a34567b8cd9012345ef67abcd890e1 を環境の ID に置き換えます。PERMISSION_LEVELread-write または read-only に置き換えます。また、USER_ARN は、以下のいずれかに置き換えます。

  • IAM ユーザー を招待するには、 と入力しますarn:aws:iam::123456789012:user/MyUser123456789012 を 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 を引き受けるロールの名前に置き換えます。

例えば、アカウント ID の AWS アカウント ルートユーザー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 アカウント または単一の のIAMユーザーである場合は AWS アカウント、 に移動しますhttps://console.aws.amazon.com/cloud9/

    • 組織が IAM Identity Center を使用している場合は、 AWS アカウント 管理者にサインインの手順を確認してください。

    • 教室内の学生である場合は、インストラクターにサインインの手順をお問い合わせください。

  3. AWS Cloud9 ダッシュボードから共有環境を開きます。詳細については、「環境を開く AWS Cloud9」を参照してください。

このトピックの残りの部分で説明するように、[Collaborate (コラボレーション)]ウィンドウを使用して他のメンバーとやり取りできます。

注記

[Collaborate] (コラボレーション) ウィンドウが表示されていない場合は、[Collaborate] (コラボレーション)を選択します。[Collaborate (コラボレーション)]ボタンが非表示になっている場合は、メニューバーで[Window (ウィンドウ)、Collaborate (コラボレーション]を選択します。

の Collaborate ウィンドウ AWS Cloud9 IDE

環境メンバーのリストを参照する

共有環境が開いている状態で、[Collaborate (コラボレーション)]ウィンドウで、メンバーが表示されていない場合は、[Environment Members (環境メンバー)]を展開します。

各メンバーの横にある円は、オンラインステータスを次のように示します。

  • アクティブなメンバーには緑色の円が付いています。

  • オフラインのメンバーには灰色の円が付いています。

  • アイドルなメンバーにはオレンジ色の円が付いています。

のメンバーオンラインステータス AWS Cloud9 IDE

コードを使用して環境メンバーのリストを取得するには、次のように環境メンバーシップ AWS Cloud9 の説明オペレーションを呼び出します。

環境メンバーのアクティブなファイルを開く

共有環境が開いている状態で、メニューバーでメンバー名を選択します。次に、[Open Active File] (アクティブなファイルを開く) を選択します。

の Open Active File コマンド AWS Cloud9 IDE

環境メンバーが開いているファイルを開く

  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. 次のいずれかのアクションを実行します。

    • アクセスロールを変更したいメンバーの名前の横にある [R] または [RW] を選択して、このメンバーをそれぞれ所有者または読み取り/書き込みメンバーにします。

    • 読み取り/書き込みメンバーを読み取り専用メンバーに変更するには、メンバー名のコンテキストメニュー (右クリック) を開き、[Revoke Write Access] (書き込みアクセス権を取り消す) を選択します。

    • 読み取り専用メンバーを読み取り/書き込みメンバーに変更するには、メンバー名のコンテキストメニュー (右クリック) を開き、[Grant Read+Write Access] (書き込み+読み取りアクセス権を付与する) を選択します。

      注記

      このユーザーを読み取り/書き込みメンバーにすると、 AWS セキュリティ認証情報を危険にさらす可能性のある情報を含むダイアログボックスが表示されます。そのユーザーが AWS ユーザーに代わって でアクションを実行することを信頼しない限り、ユーザーを読み取り/書き込みメンバーにしないでください。詳細については、「環境と同じアカウントのユーザーを招待する」の関連する注記を参照してください。

コードを使用して環境メンバーのアクセスロールを変更するには、次のように環境メンバーシップ AWS Cloud9 の更新オペレーションを呼び出します。

共有環境から自分のユーザーを削除する

注記

環境所有者の場合は、環境から自分のユーザーを削除することはできません。

環境からユーザーを削除しても、ユーザーを から削除することはありませんIAM。

  1. 共有環境が開いている状態で、[Collaborate (コラボレーション)]ウィンドウで、メンバーが表示されていない場合は、[Environment Members (環境メンバー)]を展開します。

  2. 次のいずれかのアクションを実行します。

    • [You (自分)] の横で、ゴミ箱アイコンを選択します。

    • [You] (あなた) のコンテキスト (右クリック) メニューを開き、[Leave environment] (環境を離れる) を選択します。

  3. プロンプトが表示されたら、[Leave (離れる)] を選択します。

コードを使用して共有環境からユーザーを削除するには、次のように環境メンバーシップ AWS Cloud9 の削除オペレーションを呼び出します。

別の環境メンバーを削除する

注記

自分のユーザー以外のメンバーを環境から削除するには、環境所有者の認証情報を使用して AWS Cloud9 にサインインする必要があります。

メンバーを削除しても、ユーザーを から削除しませんIAM。

  1. 削除したいメンバーが含まれる環境をまだ開いていない場合は、環境を開きます。詳細については、「AWS Cloud9で環境を開く」を参照してください。

  2. [Collaborate (コラボレーション)] ウィンドウで、メンバーのリストが表示されていない場合は、[Environment Members (環境メンバー)] を展開します。

  3. 次のいずれかを行います。

    • 削除したいメンバーの名前の横にあるごみ箱アイコンを選択します。

    • 削除するメンバー名のコンテキスト (右クリック) メニューを開 き、[Revoke Access] (アクセスを取り消す) を選択します。

  4. プロンプトが表示されたら、[Remove Member (メンバーの削除)] を選択します。

コードを使用して環境からメンバーを削除するには、次のように環境メンバーシップ AWS Cloud9 の削除オペレーションを呼び出します。

環境共有のベストプラクティス

環境を共有する場合には、以下のプラクティスをお勧めします。

  • 信頼できる読み取り/書き込みメンバーのみを環境に招待します。

  • EC2 環境の場合、読み取り/書き込みメンバーは環境所有者の AWS アクセス認証情報を使用して、環境から に呼び出しを行うことができます AWS のサービス。これは彼ら自身の認証情報の代わりです。これを防ぐために、環境所有者は環境の AWS マネージド一時認証情報を無効にすることができます。ただし、これを行うと環境所有者も呼び出しを行うことができなくなります。詳細については、「AWS マネージド一時認証情報」を参照してください。

  • をオンに AWS CloudTrail して、環境内のアクティビティを追跡します。詳細については、AWS CloudTrail ユーザーガイドをご参照ください。

  • AWS アカウント ルートユーザーを使用して環境を作成および共有しないでください。代わりに アカウントのIAMユーザーを使用します。詳細については、 IAM ユーザーガイド「初回アクセスのみ: ルートユーザーの認証情報とユーザー」を参照してください。 IAM