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

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

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

での共有環境の使用 AWS Cloud9

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

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

  • 環境 AWS アカウント と同じ のユーザーの場合は、環境と同じアカウントのユーザーを招待する必要があります。

  • 環境 AWS アカウント と同じ の AWS Cloud9 管理者、特に AWS アカウント ルートユーザー、管理者ユーザー、または AWS 管理ポリシーがAWSCloud9Administratorアタッチされたユーザーである場合は、 AWS Cloud9 管理者を自分で招待するか、「環境と同じアカウントのユーザーを招待する」を参照するか、 AWS Cloud9 「管理者に環境と同じアカウントの管理者を招待する」または「自分自身または他のユーザーを招待する AWS アカウント」を参照してください。 AWS Cloud9

共有環境のユースケース

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

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

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

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

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

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

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

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

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

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

    • コードを実行する

    • 環境設定を変更する

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

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

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

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

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

    • コードを実行する

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

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

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

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

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

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

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

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

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

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

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

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

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

    • 前述のマネージドポリシーのいずれかを IAM グループにアタッチするには、以下の手順で説明しているとおり、AWS Management Console または AWS コマンドラインインターフェイス (AWS CLI) を使用します。

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

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

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

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

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

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

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

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

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

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

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

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

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

  7. Attach policy] (ポリシーのアタッチ) を選択してください。

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

注記

AWS マネージド一時認証情報を使用している場合、IDE AWS Cloud9 のターミナルセッションを使用して、このセクションのコマンドの一部またはすべてを実行することはできません。 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. IDE AWS Cloud9 のメニューバーで、次のいずれかを実行します。

    • [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 と入力します。を AWS アカウント ID 123456789012に置き換え、 を引き受けたロールの名前MyAssumedRoleに置き換えます。MyAssumedRoleSession を引き受けたロールのセッション名に置き換えます。

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

  6. [招待] を選択します。

    注記

    このユーザーを読み取り/書き込みメンバーにすると、 AWS セキュリティ認証情報を危険にさらす可能性がある情報を含むダイアログボックスが表示されます。以下の情報は、この問題の背景の詳細です。

    環境を共有するのは信頼する相手のみにする必要があります。

    読み取り/書き込みメンバーは、環境内の AWS CLI、 AWS CloudShell、または AWS SDK コードを使用して、 AWS ユーザーに代わって でアクションを実行できる場合があります。さらに、永続的な AWS アクセス認証情報を 環境内に保存すると、そのメンバーはそれらの認証情報をコピーして環境外で使用する可能性があります。

    環境から永続的な AWS アクセス認証情報を削除し、代わりに一時的な AWS アクセス認証情報を使用しても、この問題は完全には解決されません。これによりメンバーがこれらの一時的認証情報をコピーして環境外で使用できる機会は減少します (一時的認証情報は限られた時間のみ機能するため)。ただし、一時的な認証情報により、読み取り/書き込みメンバーはユーザーに代わって環境 AWS から でアクションを実行できます。

  7. ユーザーに、この環境を開いて使用できるようになったことを連絡します。

環境と同じアカウントの AWS Cloud9 管理者に自分自身または他のユーザーを招待させる

注記

AWS マネージド一時認証情報を使用している場合、IDE AWS Cloud9 のターミナルセッションを使用して、このセクションのコマンドの一部またはすべてを実行することはできません。 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/MyUser と入力します。を AWS アカウント ID 123456789012に置き換え、 をユーザーの名前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 プレフィックスを省略します。