AWS Cloud9は新規顧客には利用できなくなりました。AWS Cloud9の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の Identity and Access Management AWS Cloud9
AWS Identity and Access Management(IAM) は、管理者がAWSリソースへのアクセスを安全に制御AWS のサービスするのに役立つ です。IAM 管理者は、誰を認証 (サインイン) し、誰にAWS Cloud9リソースの使用を許可する (アクセス許可を付与する) かを制御します。IAM は、追加料金なしで使用できるAWS のサービスです。
トピック
オーディエンス
AWS Identity and Access Management(IAM) の使用方法は、ロールによって異なります。
-
サービスユーザー - 機能にアクセスできない場合は、管理者にアクセス許可をリクエストします (「AWS Cloud9 ID とアクセスのトラブルシューティング」を参照)。
-
サービス管理者 - ユーザーアクセスを決定し、アクセス許可リクエストを送信します (「が IAM とAWS Cloud9連携する方法」を参照)
-
IAM 管理者 - アクセスを管理するためのポリシーを作成します (「のアイデンティティベースのポリシーの例AWS Cloud9」を参照)
アイデンティティを使用した認証
認証とは、ID 認証情報AWSを使用して にサインインする方法です。、IAM ユーザーAWS アカウントのルートユーザー、または IAM ロールを引き受けることで認証される必要があります。
AWS IAM アイデンティティセンター(IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーティッド ID としてサインインできます。サインインの詳細については、「AWS サインインユーザーガイド」の「AWS アカウントにサインインする方法」を参照してください。
プログラムによるアクセスの場合、 は SDK と CLI AWSを提供してリクエストを暗号化して署名します。詳細については、「IAM ユーザーガイド」の「API リクエストに対するAWS署名バージョン 4」を参照してください。
AWS アカウントルートユーザー
を作成するときはAWS アカウント、すべてのAWS のサービスおよび リソースへの完全なアクセス権を持つAWS アカウントルートユーザーと呼ばれる 1 つのサインインアイデンティティから始めます。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、「IAM ユーザーガイド」の「ルートユーザー認証情報が必要なタスク」を参照してください。
フェデレーテッドアイデンティティ
ベストプラクティスとして、人間のユーザーが一時的な認証情報AWS のサービスを使用して にアクセスするには、ID プロバイダーとのフェデレーションを使用する必要があります。
フェデレーティッド ID は、エンタープライズディレクトリ、ウェブ ID プロバイダー、または ID ソースの認証情報AWS のサービスを使用してDirectory Serviceにアクセスするユーザーです。フェデレーテッドアイデンティティは、一時的な認証情報を提供するロールを引き受けます。
アクセスを一元管理する場合は、AWS IAM アイデンティティセンターをお勧めします。詳細については、「AWS IAM アイデンティティセンターユーザーガイド」の「IAM アイデンティティセンターとは」を参照してください。
IAM ユーザーとグループ
IAM ユーザーは、特定の個人やアプリケーションに対する特定のアクセス許可を持つアイデンティティです。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細については、IAM ユーザーガイドの「ID プロバイダーとのフェデレーションを使用して にアクセスする必要があるAWS」を参照してください。
IAM グループは、IAM ユーザーの集合を指定し、大量のユーザーに対するアクセス許可の管理を容易にします。詳細については、「IAM ユーザーガイド」の「IAM ユーザーに関するユースケース」を参照してください。
IAM ロール
IAM ロールは、特定のアクセス許可を持つアイデンティであり、一時的な認証情報を提供します。ユーザーから IAM ロール (コンソール) に切り替えるか、 または API オペレーションを呼び出すことで、ロールを引き受けることができます。AWS CLIAWS詳細については、「IAM ユーザーガイド」の「ロールを引き受けるための各種方法」を参照してください。
IAM ロールは、フェデレーションユーザーアクセス、一時的な IAM ユーザーのアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行するアプリケーションに役立ちます。詳細については、IAM ユーザーガイド の IAM でのクロスアカウントリソースアクセス を参照してください。
ポリシーを使用したアクセスの管理
でアクセスを制御するAWSには、ポリシーを作成し、ID AWSまたはリソースにアタッチします。ポリシーは、アイデンティティまたはリソースに関連付けられたときにアクセス許可を定義します。 は、プリンシパルがリクエストを行うときに、これらのポリシーAWSを評価します。ほとんどのポリシーは JSON ドキュメントAWSとして に保存されます。JSON ポリシードキュメントの詳細については、「IAM ユーザーガイド」の「JSON ポリシー概要」を参照してください。
管理者は、ポリシーを使用して、どのプリンシパルがどのリソースに対して、どのような条件でアクションを実行できるかを定義することで、誰が何にアクセスできるかを指定します。
デフォルトでは、ユーザーやロールにアクセス許可はありません。IAM 管理者は IAM ポリシーを作成してロールに追加し、このロールをユーザーが引き受けられるようにします。IAM ポリシーは、オペレーションの実行方法を問わず、アクセス許可を定義します。
アイデンティティベースのポリシー
アイデンティティベースのポリシーは、アイデンティティ (ユーザー、グループ、またはロール) にアタッチできる JSON アクセス許可ポリシードキュメントです。これらのポリシーは、アイデンティティがどのリソースに対してどのような条件下でどのようなアクションを実行できるかを制御します。アイデンティティベースポリシーの作成方法については、IAM ユーザーガイド の カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する を参照してください。
アイデンティティベースのポリシーは、インラインポリシー (単一の ID に直接埋め込む) または管理ポリシー (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「IAM ユーザーガイド」の「管理ポリシーとインラインポリシーのいずれかを選択する」を参照してください。
リソースベースのポリシー
リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。例としては、IAM ロール信頼ポリシーや Amazon S3 バケットポリシーなどがあります。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。リソースベースのポリシーでは、プリンシパルを指定する必要があります。
リソースベースのポリシーは、そのサービス内にあるインラインポリシーです。リソースベースのポリシーでは、IAM のAWSマネージドポリシーを使用できません。
その他のポリシータイプ
AWSは、より一般的なポリシータイプによって付与されるアクセス許可の最大数を設定できる追加のポリシータイプをサポートしています。
-
アクセス許可の境界 – アイデンティティベースのポリシーで IAM エンティティに付与することのできるアクセス許可の数の上限を設定します。詳細については、「IAM ユーザーガイド」の「IAM エンティティのアクセス許可境界」を参照してください。
-
サービスコントロールポリシー (SCP) -AWS Organizations内の組織または組織単位の最大のアクセス許可を指定します。詳細については、「AWS Organizationsユーザーガイド」の「サービスコントロールポリシー」を参照してください。
-
リソースコントロールポリシー (RCP) – は、アカウント内のリソースで利用できる最大数のアクセス許可を定義します。詳細については、「AWS Organizationsユーザーガイド」の「リソースコントロールポリシー (RCP)」を参照してください。
-
セッションポリシー – ロールまたはフェデレーションユーザーの一時セッションを作成する際にパラメータとして渡される高度なポリシーです。詳細については、「IAM ユーザーガイド」の「セッションポリシー」を参照してください。
複数のポリシータイプ
1 つのリクエストに複数のタイプのポリシーが適用されると、結果として作成されるアクセス許可を理解するのがさらに難しくなります。が複数のポリシータイプが関与する場合にリクエストを許可するかどうかAWSを決定する方法については、「IAM ユーザーガイド」の「ポリシー評価ロジック」を参照してください。
が IAM とAWS Cloud9連携する方法
IAM を使用して へのアクセスを管理する前にAWS Cloud9、 で使用できる IAM 機能を確認してくださいAWS Cloud9。
| IAM 機能 | AWS Cloud9サポート |
|---|---|
|
あり |
|
|
なし |
|
|
あり |
|
|
はい |
|
|
はい |
|
|
なし |
|
|
あり |
|
|
あり |
|
|
あり |
|
|
あり |
|
|
はい |
AWS Cloud9およびその他のAWSのサービスがほとんどの IAM 機能とどのように連携するかの概要については、「IAM ユーザーガイド」のAWS「IAM と連携する のサービス」を参照してください。
のアイデンティティベースのポリシーAWS Cloud9
アイデンティティベースのポリシーのサポート: あり
アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。
IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。
のアイデンティティベースのポリシーの例AWS Cloud9
AWS Cloud9アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいのアイデンティティベースのポリシーの例AWS Cloud9。
内のリソースベースのポリシーAWS Cloud9
リソースベースのポリシーのサポート: なし
リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM ロールの信頼ポリシー や Amazon S3 バケットポリシー があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、プリンシパルを指定する必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができますAWS のサービス。
クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイドのIAM でのクロスアカウントリソースアクセスを参照してください。
AWS Cloud9はリソースベースのポリシーをサポートしていませんが、AWS Cloud9 API と IDE AWS Cloud9を使用してAWS Cloud9環境メンバーのAWS Cloud9環境リソースのアクセス許可を制御できます。
のポリシーアクションAWS Cloud9
ポリシーアクションのサポート: あり
管理者は JSON AWSポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
AWS Cloud9アクションのリストを確認するには、「サービス認可リファレンス」の「 で定義されるアクションAWS Cloud9」を参照してください。
のポリシーアクションは、アクションの前に次のプレフィックスAWS Cloud9を使用します。
account
単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。
"Action": [ "account:action1", "account:action2" ]
AWS Cloud9アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいのアイデンティティベースのポリシーの例AWS Cloud9。
のポリシーリソースAWS Cloud9
ポリシーリソースのサポート: あり
管理者は JSON AWSポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。
"Resource": "*"
AWS Cloud9リソースタイプとその ARNs「 で定義されるリソースAWS Cloud9」を参照してください。 どのアクションで各リソースの ARN を指定できるかについては、「AWS Cloud9で定義されるアクション」を参照してください。
AWS Cloud9アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいのアイデンティティベースのポリシーの例AWS Cloud9。
AWS Cloud9向けのポリシー条件キー
サービス固有のポリシー条件キーのサポート: あり
管理者は JSON AWSポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの条件演算子を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべてのAWSグローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS「グローバル条件コンテキストキー」を参照してください。
AWS Cloud9条件キーのリストを確認するには、「サービス認可リファレンス」の「 の条件キーAWS Cloud9」を参照してください。条件キーを使用できるアクションとリソースについては、「 で定義されるアクションAWS Cloud9」を参照してください。
AWS Cloud9アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいのアイデンティティベースのポリシーの例AWS Cloud9。
ACLs AWS Cloud9
ACL のサポート: なし
アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。
を使用した ABAC AWS Cloud9
ABAC (ポリシー内のタグ) のサポート: あり
属性ベースのアクセス制御 (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティとAWSリソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。
タグに基づいてアクセスを管理するには、aws:ResourceTag/、key-nameaws:RequestTag/、または key-nameaws:TagKeys の条件キーを使用して、ポリシーの条件要素でタグ情報を提供します。
サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。
ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用する」を参照してください。
での一時的な認証情報の使用AWS Cloud9
一時的な認証情報のサポート: あり
一時的な認証情報は、AWSリソースへの短期的なアクセスを提供し、フェデレーションまたは切り替えロールを使用する場合に自動的に作成されます。AWSでは、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、「IAM ユーザーガイド」の「IAM の一時的な認証情報」および「AWS のサービスと IAM との連携」を参照してください。
の転送アクセスセッションAWS Cloud9
転送アクセスセッション (FAS) のサポート: あり
転送アクセスセッション (FAS) は、 を呼び出すプリンシパルのアクセス許可とAWS のサービス、ダウンストリームサービスAWS のサービスへのリクエストをリクエストする を使用します。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。
のサービスロールAWS Cloud9
サービスロールのサポート: あり
サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける IAM ロールです。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイドの AWS のサービスに許可を委任するロールを作成するを参照してください。
警告
サービスロールのアクセス許可を変更すると、AWS Cloud9機能が破損する可能性があります。AWS Cloud9が指示する場合にのみ、サービスロールを編集します。
のサービスにリンクされたロールAWS Cloud9
サービスリンクロールのサポート: あり
サービスにリンクされたロールは、 にリンクされたサービスロールの一種ですAWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示されAWS アカウント、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。
サービスにリンクされたロールの作成または管理の詳細については、「IAM と提携するAWSのサービス」を参照してください。表の「サービスリンクロール」列に Yes と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。
のアイデンティティベースのポリシーの例AWS Cloud9
デフォルトでは、 ユーザーおよびロールには、AWS Cloud9リソースを作成または変更する権限はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。
これらのサンプルの JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「IAM ユーザーガイド」の「IAM ポリシーを作成する (コンソール)」を参照してください。
各リソースタイプの ARN の形式などAWS Cloud9、 で定義されるアクションとリソースタイプの詳細については、「サービス認可リファレンス」の「 のアクション、リソース、および条件キーAWS Cloud9」を参照してください。 ARNs
ポリシーに関するベストプラクティス
ID ベースのポリシーは、アカウント内のAWS Cloud9リソースを誰かが作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
-
AWS管理ポリシーを開始し、最小特権のアクセス許可に移行する – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与するAWS管理ポリシーを使用します。これらは で使用できますAWS アカウント。ユースケースに固有のAWSカスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、IAM ユーザーガイド の AWSマネージドポリシー または ジョブ機能のAWSマネージドポリシー を参照してください。
-
最小特権を適用する – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、IAM ユーザーガイド の IAM でのポリシーとアクセス許可 を参照してください。
-
IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合にAWS のサービス、サービスアクションへのアクセスを許可することもできますCloudFormation。詳細については、IAM ユーザーガイド の IAM JSON ポリシー要素:条件 を参照してください。
-
IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、IAM ユーザーガイド の IAM Access Analyzer でポリシーを検証する を参照してください。
-
多要素認証 (MFA) を要求する – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合はAWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、IAM ユーザーガイド の MFA を使用した安全な API アクセス を参照してください。
IAM でのベストプラクティスの詳細については、IAM ユーザーガイド の IAM でのセキュリティのベストプラクティス を参照してください。
AWS Cloud9コンソールの使用
AWS Cloud9コンソールにアクセスするには、最小限のアクセス許可のセットが必要です。これらのアクセス許可により、 のAWS Cloud9リソースの詳細を一覧表示および表示できますAWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。
AWS CLIまたはAWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。
ユーザーとロールがAWS Cloud9引き続きコンソールを使用できるようにするには、エンティティにAWS Cloud9または ConsoleAccessAWS管理ポリシーもアタッチします。詳細については、「IAM ユーザーガイド」の「ユーザーへのアクセス許可の追加」を参照してください。ReadOnly
自分の権限の表示をユーザーに許可する
この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、またはAWS CLIまたはAWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
AWS Cloud9 ID とアクセスのトラブルシューティング
次の情報は、 および IAM の使用時に発生する可能性がある一般的な問題の診断AWS Cloud9と修正に役立ちます。
トピック
でアクションを実行する権限がありませんAWS Cloud9
アクションを実行する権限がないというエラーが表示された場合は、そのアクションを実行できるようにポリシーを更新する必要があります。
次のエラー例は、mateojackson IAM ユーザーがコンソールを使用して、ある リソースに関する詳細情報を表示しようとしたことを想定して、その際に必要な my-example-widgetawes: アクセス許可を持っていない場合に発生するものです。GetWidget
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: awes:GetWidgeton resource:my-example-widget
この場合、awes: アクションを使用して GetWidget リソースへのアクセスを許可するように、my-example-widgetmateojackson ユーザーのポリシーを更新する必要があります。
サポートが必要な場合は、AWS管理者にお問い合わせください。サインイン認証情報を提供した担当者が管理者です。
iam:PassRole を実行する権限がありません
iam:PassRole アクションを実行する権限がないというエラーが表示された場合は、ポリシーを更新してAWS Cloud9にロールを渡すことができるようにする必要があります。
一部のAWS のサービスでは、新しいサービスロールまたはサービスにリンクされたロールを作成する代わりに、既存のロールをそのサービスに渡すことができます。そのためには、サービスにロールを渡す権限が必要です。
以下の例のエラーは、marymajor という IAM ユーザーがコンソールを使用してAWS Cloud9でアクションを実行しようとする場合に発生します。ただし、このアクションをサービスが実行するには、サービスロールから付与された権限が必要です。Mary には、ロールをサービスに渡すアクセス許可がありません。
User: arn:aws:iam::123456789012:user/marymajoris not authorized to perform: iam:PassRole
この場合、Mary のポリシーを更新してメアリーに iam:PassRole アクションの実行を許可する必要があります。
サポートが必要な場合は、AWS管理者にお問い合わせください。サインイン資格情報を提供した担当者が管理者です。
自分の 以外のユーザーに自分のAWS Cloud9リソースAWS アカウントへのアクセスを許可したい
他のアカウントのユーザーや組織外の人が、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。
詳細については、以下を参照してください:
-
がこれらの機能AWS Cloud9をサポートしているかどうかを確認するには、「」を参照してくださいが IAM とAWS Cloud9連携する方法。
-
所有AWS アカウントしている のリソースへのアクセスを提供する方法については、「IAM ユーザーガイド」の「所有AWS アカウントしている別の の IAM ユーザーへのアクセスを提供する」を参照してください。
-
リソースへのアクセスをサードパーティーに提供する方法についてはAWS アカウント、IAM ユーザーガイドの「サードパーティーが所有する へのアクセスを提供するAWS アカウント」を参照してください。
-
ID フェデレーションを介してアクセスを提供する方法については、IAM ユーザーガイド の 外部で認証されたユーザー (ID フェデレーション) へのアクセスの許可 を参照してください。
-
クロスアカウントアクセスにおけるロールとリソースベースのポリシーの使用方法の違いについては、IAM ユーザーガイド の IAM でのクロスアカウントのリソースへのアクセス を参照してください。
AWS Cloud9が IAM リソースとオペレーションと連携する方法
AWS Identity and Access Managementは、AWS Cloud9開発環境と他のAWS のサービスおよび リソースの両方を操作できるようにするアクセス許可を管理するために使用されます。
AWS Cloud9リソースとオペレーション
ではAWS Cloud9、プライマリリソースはAWS Cloud9開発環境です。ポリシーで Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。以下の表に環境 ARN を示します。詳細については、Amazon Web Services 全般のリファレンス の「Amazon リソースネーム (ARN) とAWSサービス ネームスぺース」を参照してください。
| リソースタイプ | ARN 形式 |
|---|---|
|
環境 |
|
|
特定AWS リージョンの特定アカウントが所有するすべての環境 |
|
|
特定のリージョンの特定アカウントが所有するすべての環境 |
|
|
アカウントとリージョンに関係なく、すべてのAWS Cloud9リソース |
|
たとえば、以下の要領でAmazon リソースネーム (ARN) を使用して、ステートメント内で特定の環境を指定することができます。
"Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX"
すべてのリソースを指定するには、Resource エレメント内でワイルドカード文字 (*) を使用します。
"Resource": "*"
単一のステートメントに複数のリソースを指定するには、コンマで Amazon リソースネーム (ARN) を区切ります。
"Resource": [ "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX", "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" ]
AWS Cloud9には、AWS Cloud9リソースを操作するための一連のオペレーションが用意されています。リストについては、「AWS Cloud9アクセス許可リファレンス」を参照してください。
リソース所有権についての理解
AWS アカウントアカウントは、リソースを作成したユーザーに関係なく、アカウントで作成されたリソースを所有します。
以下のユースケースとシナリオについて検討します。
-
のルートアカウントの認証情報を使用してAWS Cloud9開発環境AWS アカウントを作成するとします。これは可能ですがお勧めしません。この場合、AWS アカウントは環境の所有者です。
-
で IAM ユーザーを作成しAWS アカウント、そのユーザーに環境を作成するアクセス許可を付与するとします。これで、ユーザーは環境を作成できます。ただし、ユーザーが属AWS アカウントする は引き続き環境を所有します。
-
環境を作成するアクセス許可AWS アカウントを持つ に IAM ロールを作成するとします。これで、ロールを引き受けることのできるすべてのユーザーが環境を作成できます。ロールが属するAWS アカウントが環境を所有しているとします。
注記
1 つ以上のAWS Cloud9環境の ARN 所有者であるユーザーアカウントを削除すると、これらの環境には所有者がいません。このシナリオの回避策は、AWS Cloud9 SDK を使用して、 CreateEnvironmentMembershipアクションと EnvironmentMember データ型を使用して読み取りおよび書き込み権限を持つ別の IAM ユーザーを追加することです。この IAM ユーザーを追加したら、環境ファイルを新しいAWS Cloud9環境にコピーし、この所有者を ARN 所有者にすることができます。このアクションの詳細については、「CreateEnvironmentMembership」を参照してください。このデータ型の詳細については、「AWS Cloud9 API リファレンスガイド」の「EnvironmentMember」を参照してください。
リソースへのアクセスの管理
許可ポリシーでは、誰がどのリソースにアクセスできるかを記述します。
注記
このセクションでは、AWS Cloud9での IAM の使用について説明します。ここでは、IAM サービスに関する詳細情報を提供しません。完全な IAM ドキュメンテーションについては、IAM ユーザーガイドの「IAM とは」を参照してください。IAM ポリシー構文の詳細と説明については、IAM ユーザーガイドの IAM JSON ポリシーリファレンスを参照してください。
IAM アイデンティティに添付されているポリシーは、アイデンティティベースのポリシー (IAM ポリシー) と呼ばれます。リソースにアタッチされたポリシーは、リソースベースのポリシーと呼ばれます。 は、アイデンティティベースのポリシーとリソースベースのポリシーの両方AWS Cloud9をサポートします。
以下の各 API アクションでは、これらの API アクションを呼び出したい IAM アイデンティティに添付する必要があるのは IAM ポリシーのみです。
-
CreateEnvironmentEC2 -
DescribeEnvironments
次の API アクションではリソースベースのポリシーが必要です。IAM ポリシーは必要ありませんが、これらの API アクションを呼び出す IAM ID にアタッチされている場合は IAM ポリシーAWS Cloud9を使用します。リソースベースのポリシーは、目的のAWS Cloud9リソースに適用する必要があります。
-
CreateEnvironmentMembership -
DeleteEnvironment -
DeleteEnvironmentMembership -
DescribeEnvironmentMemberships -
DescribeEnvironmentStatus -
UpdateEnvironment -
UpdateEnvironmentMembership
これらの各 API アクションの詳細については、AWS Cloud9 API リファレンスを参照してください。
リソースベースのポリシーをAWS Cloud9リソースに直接アタッチすることはできません。代わりに、 は環境メンバーを追加、変更、更新、または削除するときに、適切なリソースベースのポリシーをAWS Cloud9リソースにAWS Cloud9アタッチします。
AWS Cloud9リソースに対してアクションを実行するアクセス許可をユーザーに付与するには、ユーザーが属する IAM グループにアクセス許可ポリシーをアタッチします。AWS Cloud9可能な限り、 のAWSマネージド (事前定義) ポリシーをアタッチすることをお勧めします。AWSマネージドポリシーには、環境、環境ユーザー、および環境への読み取り専用アクセスのみを持つユーザーの完全な管理など、一般的な使用シナリオとユーザータイプに対する事前定義されたアクセス許可のセットが含まれています。のAWS管理ポリシーのリストについてはAWS Cloud9、「」を参照してくださいAWSの 管理ポリシーAWS Cloud9。
より詳細な使用シナリオと一意のユーザータイプについては、独自のカスタマーマネージドポリシーを作成してアタッチすることができます。「の追加のセットアップオプション AWS Cloud9」および「のカスタマー管理ポリシーの作成AWS Cloud9」を参照してください。
IAM ポリシー (AWSマネージドまたはカスタマーマネージド) を IAM ID にアタッチするには、IAM ユーザーガイドの「IAM ポリシーのアタッチ (コンソール)」を参照してください。
API オペレーションのセッション許可
AWS CLIまたはAWS API を使用してロールまたはフェデレーティッドユーザーの一時セッションをプログラムで作成する場合、セッションポリシーをパラメータとして渡して、ロールセッションの範囲を拡張できます。つまり、効果的なセッションの許可は、ロールのアイデンティティベースのポリシーとセッションポリシーの共通部分です。
セッション中にリソースへのアクセス要求が行われた場合、適用可能な Deny ステートメントがないものの、セッションポリシーに適用可能な Allow ステートメントもない場合、ポリシー評価の結果は暗黙的な拒否となります。(詳細については、IAM ユーザーガイドの「アカウント内でリクエストが許可されるか拒否されるかの判別」を参照してください)。
ただし、リソースベースのポリシーを必要とするAWS Cloud9 API オペレーション (上記を参照) では、リソースポリシーPrincipalで として指定されている場合、 を呼び出す IAM エンティティにアクセス許可が付与されます。この明示的なアクセス許可は、セッションポリシーの暗黙的な拒否よりも優先されるため、セッションはAWS Cloud9 API オペレーションを正常に呼び出すことができます。
AWSの 管理ポリシーAWS Cloud9
AWS管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーですAWS。AWS管理ポリシーは、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できるように、多くの一般的なユースケースにアクセス許可を提供するように設計されています。
AWS管理ポリシーは、すべてのAWSお客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケースに固有のカスタマー管理ポリシーを定義して、アクセス許可を絞り込むことをお勧めします。
AWS管理ポリシーで定義されているアクセス許可は変更できません。がAWSマネージドポリシーで定義されたアクセス許可AWSを更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) に影響します。AWSは、新しい が起動されるか、新しい API オペレーションAWS のサービスが既存のサービスで使用できるようになったときに、AWSマネージドポリシーを更新する可能性が高くなります。
詳細については、「IAM ユーザーガイド」の「AWSマネージドポリシー」を参照してください。
AWSマネージドポリシー: AWSCloud9Administrator
IAM アイデンティティに AWSCloud9Administrator ポリシーをアタッチできます。
このポリシーは、管理者アクセスを提供する管理者アクセス許可を付与しますAWS Cloud9。
アクセス許可の詳細
このポリシーには、以下のアクセス許可が含まれています。
-
AWS Cloud9– その中のすべてのAWS Cloud9アクションAWS アカウント。
-
Amazon EC2 – 複数の Amazon VPC とサブネットリソースに関する情報を取得しますAWS アカウント。
-
IAM – で IAM ユーザーに関する情報を取得しAWS アカウント、AWS アカウント必要に応じてAWS Cloud9サービスにリンクされたロールを で作成します。
-
Systems Manager — StartSession を呼び出して、セッションマネージャーセッションのインスタンスへの接続を開始する許可をユーザーに付与。この許可は、Systems Manager を介して EC2 インスタンスと通信する環境を開くユーザーにとって必要です。詳細については、を使用した no-ingress EC2 インスタンスへのアクセス AWS Systems Managerを参照してください。
このポリシーのアクセス許可を確認するには、「 AWSマネージドポリシーリファレンス」のAWSCloud9Administrator」を参照してください。
AWSマネージドポリシー: AWSCloud9User
IAM アイデンティティに AWSCloud9User ポリシーをアタッチできます。
このポリシーは、ユーザーにAWS Cloud9開発環境の作成と、所有環境の管理許可を付与します。
アクセス許可の詳細
このポリシーには、以下のアクセス許可が含まれています。
-
AWS Cloud9– 環境に関する情報を作成および取得し、環境のユーザー設定を取得および変更します。
-
Amazon EC2 – 複数の Amazon VPC とサブネットリソースに関する情報を取得しますAWS アカウント。
-
IAM – で IAM ユーザーに関する情報を取得しAWS アカウント、AWS アカウント必要に応じてAWS Cloud9サービスにリンクされたロールを で作成します。
-
Systems Manager — StartSession を呼び出して、セッションマネージャーセッションのインスタンスへの接続を開始する許可をユーザーに付与。この許可は、Systems Manager を介して EC2 インスタンスと通信する環境を開くユーザーにとって必要です。詳細については、を使用した no-ingress EC2 インスタンスへのアクセス AWS Systems Managerを参照してください。
このポリシーのアクセス許可を確認するには、「 AWSマネージドポリシーリファレンス」のAWSCloud9User」を参照してください。
AWSマネージドポリシー: AWSCloud9EnvironmentMember
IAM アイデンティティに AWSCloud9EnvironmentMember ポリシーをアタッチできます。
このポリシーは、AWS Cloud9共有環境に参加する機能を提供するメンバーシップアクセス許可を付与します。
アクセス許可の詳細
このポリシーには、以下のアクセス許可が含まれています。
-
AWS Cloud9– 環境に関する情報を取得し、環境のユーザー設定を取得および変更します。
-
IAM – で IAM ユーザーに関する情報を取得しAWS アカウント、AWS アカウント必要に応じてAWS Cloud9サービスにリンクされたロールを で作成します。
-
Systems Manager — StartSession を呼び出して、セッションマネージャーセッションのインスタンスへの接続を開始する許可をユーザーに付与。この許可は、Systems Manager を介して EC2 インスタンスと通信する環境を開くユーザーにとって必要です。詳細については、を使用した no-ingress EC2 インスタンスへのアクセス AWS Systems Managerを参照してください。
このポリシーのアクセス許可を確認するには、「 AWSマネージドポリシーリファレンス」のAWSCloud9EnvironmentMember」を参照してください。
AWSマネージドポリシー: AWSCloud9ServiceRolePolicy
サービスにリンクされたロール AWSServiceRoleForAWSCloud9 は、このポリシーを使用して、AWS Cloud9環境が Amazon EC2 およびCloudFormationリソースとやり取りできるようにします。
アクセス許可の詳細
AWSCloud9ServiceRolePolicy は、AWSServiceRoleForAWSCloud9 に、 が開発環境の作成と実行に必要なAWS のサービス(Amazon EC2 とCloudFormation) とAWS Cloud9やり取りするために必要なアクセス許可を付与します。
AWS Cloud9は、サービスにリンクされたロールのアクセス許可を定義し、 のみがそのロールを引き受けAWS Cloud9ることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。
がサービスにリンクされたロールAWS Cloud9を使用する方法の詳細については、「」を参照してくださいのサービスにリンクされたロールの使用 AWS Cloud9。
このポリシーのアクセス許可を確認するには、「 AWSマネージドポリシーリファレンス」のAWSCloud9ServiceRolePolicy」を参照してください。
AWS Cloud9AWS管理ポリシーの更新
このサービスがこれらの変更の追跡を開始AWS Cloud9してからの のAWS管理ポリシーの更新に関する詳細を表示します。このページの変更に関する自動アラートについては、AWS Cloud9ドキュメント履歴ページの RSS フィードにサブスクライブしてください。
| 変更 | 説明 | 日付 |
|---|---|---|
|
AWSCloud9Administrator ポリシーに新しいアクションが追加されました。 |
|
2025 年 9 月 25 日 |
|
AWSCloud9User ポリシーに新しいアクションが追加されました。 |
|
2025 年 9 月 25 日 |
|
AWSCloud9EnvironmentMember ポリシーに新しいアクションが追加されました。 |
|
2025 年 9 月 25 日 |
|
AWSCloud9User、AWSCloud9Administrator、AWSCloud9EnvironmentMember の各ポリシーに新しいアクションを追加しました。 |
AWSCloud9User、AWSCloud9Administrator、AWSCloud9EnvironmentMember の各ポリシーに |
2023 年 10 月 12 日 |
|
AWSCloud9User ポリシーと AWSCloud9Administrator ポリシーに API を追加しました。 |
AWSCloud9User ポリシーと AWSCloud9Administrator ポリシーに新しい 2 つの API として |
2023 年 8 月 2 日 |
|
AWSCloud9ServiceRolePolicy が更新され、License Manager ライセンス設定によって管理される Amazon EC2 インスタンスを起動および停止AWS Cloud9できるようになりました。 |
2022 年 1 月 12 日 | |
|
AWS Cloud9が変更の追跡を開始しました |
AWS Cloud9は、AWS管理ポリシーの変更の追跡を開始しました。 |
2021 年 3 月 15 日 |
のカスタマー管理ポリシーの作成AWS Cloud9
アクセスコントロール要件を満たしているAWS管理ポリシーがない場合は、独自のカスタマー管理ポリシーを作成してアタッチできます。
カスタマーマネージドポリシーを作成するには、IAM ユーザーガイドの「IAM ポリシーの作成 (コンソール)」を参照。
ポリシー要素の指定: 効果、プリンシパル、アクション、リソース
サービスは、AWS Cloud9リソースごとに一連の API オペレーションを定義します。これらの API オペレーションのアクセス許可を付与するために、 はポリシーで指定できる一連のアクションAWS Cloud9を定義します。
以下は、基本的なポリシーの要素です。
-
Effect– ユーザーがアクションをリクエストする際の効果を指定します。許可または拒否のいずれかになります。リソースへのアクセスを明示的に付与 (許可) していない場合、アクセスは暗黙的に拒否されます。リソースへのアクセスを明示的に拒否することもできます。これは、別のポリシーがアクセスを許可している場合でも、ユーザーのリソースへのアクセスを禁止するために行うことができます。 -
Principal– アイデンティティベースのポリシー (IAM ポリシー) で、ポリシーが添付されているユーザーが暗黙のプリンシパルとなります。リソースベースのポリシーでは、権限を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。 -
Resource- Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。 -
Action– アクションのキーワードを使用して、許可または拒否するリソースオペレーションを識別します。たとえば、cloud9:CreateEnvironmentEC2許可は、CreateEnvironmentEC2オペレーションを実行する許可をユーザーに与えます。
IAM ポリシーの構文と記述の詳細については、IAM ユーザーガイドの IAM JSON ポリシーのリファレンスを参照してください。
すべてのAWS Cloud9 API アクションとそれらが適用されるリソースを示す表については、「」を参照してくださいAWS Cloud9アクセス許可リファレンス。
お客様のマネージドポリシーの例
このセクションでは、AWS Cloud9アクションの許可を付与するポリシー例を示しています。以下例にあげたIAM ポリシーを選択して、IAM アイデンティティへのAWS Cloud9アクセスを許可するか、明示的に拒否できます。
IAM アイデンティティにカスタマー管理ポリシーを作成またはアタッチするには、「IAM ユーザーガイド」の「IAM ポリシーの作成 (コンソール)」および「IAM ポリシーのアタッチ (コンソール)」を参照してください。
注記
次の例では、米国東部 (オハイオ) リージョン (us-east-2)、架空のAWS アカウント ID ()、架空のAWS Cloud9開発環境 ID (123456789012) を使用しています81e900317347585a0601e04c8d52eaEX。
トピック
環境に関する情報を取得
次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントで環境に関する情報を取得するのを許可します。
注記
上記のアクセス許可は、AWS管理ポリシー AWSCloud9Administratorおよび にすでに含まれていますAWSCloud9User。
EC2 環境を作成
次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントにAWS Cloud9 EC2 開発環境を作成することを許可します。
注記
上記のアクセス許可は、AWS管理ポリシー AWSCloud9Administratorおよび にすでに含まれていますAWSCloud9User。
特定の Amazon EC2 インスタンスタイプを持つ EC2 環境を作成
次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントにAWS Cloud9 EC2 開発環境を作成することを許可します。ただし、EC2 環境は指定されたクラスの Amazon EC2 インスタンスタイプのみを使用できます。
注記
AWS管理ポリシー AWSCloud9Administratorまたは AWSCloud9Userが既に IAM エンティティにアタッチされている場合、そのAWS管理ポリシーは前述の IAM ポリシーステートメントの動作を上書きします。これは、これらのAWS管理ポリシーがより寛容であるためです。
特定の Amazon VPC サブネットに EC2 環境を作成
次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントにAWS Cloud9 EC2 開発環境を作成することを許可します。ただし、EC2 環境は指定した Amazon VPC サブネットのみを使用できます。
注記
AWS管理ポリシー AWSCloud9Administratorまたは AWSCloud9Userが既に IAM エンティティにアタッチされている場合、そのAWS管理ポリシーは前述の IAM ポリシーステートメントの動作を上書きします。これは、これらのAWS管理ポリシーがより寛容であるためです。
特定の環境名がついた EC2 環境を作成
次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントにAWS Cloud9 EC2 開発環境を作成することを許可します。ただし、EC2 環境は指定された名前のみを使用できます。
注記
AWS管理ポリシー AWSCloud9Administratorまたは AWSCloud9Userが既に IAM エンティティにアタッチされている場合、そのAWS管理ポリシーは前述の IAM ポリシーステートメントの動作を上書きします。これは、これらのAWS管理ポリシーがより寛容であるためです。
SSH 環境のみを作成
次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントにAWS Cloud9 SSH 開発環境を作成することを許可します。ただし、エンティティはAWS Cloud9 EC2 開発環境を作成できません。
環境を更新、または環境の更新を禁止
次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウント内の任意のAWS Cloud9開発環境に関する情報を変更することを許可します。
注記
上記のアクセス許可は、AWS管理ポリシー にすでに含まれていますAWSCloud9Administrator。
次の IAM エンティティに添付された IAM ポリシーステートメント例では、そのエンティティが環境に関する情報を指定された Amazon リソースネーム (ARN) で変更することを明示的に禁止します。
環境メンバーのリストを取得
次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントで環境のメンバーリストを取得するのを許可します。
注記
上記のアクセス許可は、AWS管理ポリシー にすでに含まれていますAWSCloud9Administrator。また、前述のアクセス許可は、AWS管理ポリシーの同等のアクセス許可よりも許容されますAWSCloud9User。
特定のユーザーのみと環境を共有
次の IAM エンティティに添付された IAM ポリシーステートメントの例では、エンティティが指定したユーザーのみのアカウントにおける環境の共有を許可します。
注記
AWS管理ポリシー AWSCloud9Administratorまたは AWSCloud9Userが既に IAM エンティティにアタッチされている場合、それらのAWS管理ポリシーは前述の IAM ポリシーステートメントの動作を上書きします。これは、これらのAWS管理ポリシーがより寛容であるためです。
環境の共有を禁止
次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントの環境の共有を禁止します。
環境メンバーの設定を変更、または変更を禁止
次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントの環境においてメンバーの設定の変更を許可します。
注記
上記のアクセス許可は、AWS管理ポリシー にすでに含まれていますAWSCloud9Administrator。
次の IAM エンティティに添付された IAM ポリシーステートメント例では、そのエンティティが環境におけるメンバーの設定を指定された Amazon リソースネーム (ARN) を使って変更することを明示的に禁止します。
環境メンバーを削除、または削除を禁止
次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントで環境のメンバーの削除を許可します。
注記
上記のアクセス許可は、AWS管理ポリシー にすでに含まれていますAWSCloud9Administrator。
次の IAM エンティティに添付された IAM ポリシーステートメント例では、そのエンティティが指定された Amazon リソースネーム (ARN) で環境のメンバーの削除を明示的に禁止します。
環境を削除、または削除を禁止
次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントで環境を削除するのを許可します。
注記
上記のアクセス許可は、AWS管理ポリシー にすでに含まれていますAWSCloud9Administrator。
次の IAM エンティティに添付された IAM ポリシーステートメント例では、そのエンティティが指定された Amazon リソースネーム (ARN) で環境を削除するのを明示的に禁止します。
SSM 環境作成用のカスタム IAM ポリシー
現在、AWSCloud9Administrator ポリシーまたは AWSCloud9User ポリシーがアタッチされた SSM 環境を作成する際に、アクセス許可の問題が発生しています。次の IAM ポリシーステートメントの例では、IAM エンティティにアタッチすると、ユーザーはAWSマネージドポリシーAWSCloud9Administratorまたは をアタッチして使用できますAWSCloud9User。
AWS Cloud9アクセス許可リファレンス
AWS Cloud9ポリシーでAWSワイド条件キーを使用して条件を表現できます。リストについては、IAM ユーザーガイドの IAM JSON ポリシーエレメント:条件を参照してください。
アクションは、ポリシーの Action フィールドで指定します。アクションを指定するには、API オペレーション名 ("Action": "cloud9:DescribeEnvironments"など) の前に cloud9: プレフィックスを使用します。単一のステートメントに複数のアクションを指定するには、コンマで区切ります (例えば、"Action": [
"cloud9:UpdateEnvironment", "cloud9:DeleteEnvironment" ])。
ワイルドカード文字の使用
ポリシーの Resource フィールドでリソース値として、ワイルドカード文字 (*) を使用して、または使用せずに ARN を指定します。ワイルドカードを使用して複数のアクションまたはリソースを指定することができます。たとえば、 cloud9:*はすべてのAWS Cloud9アクションを指定し、 で始まるすべてのAWS Cloud9アクションcloud9:Describe*を指定しますDescribe。
次の例では、IAM エンティティが、アカウント内の環境の環境および環境メンバーシップに関する情報を取得するのを許可します。
注記
上記のアクセス許可は、AWS管理ポリシー にすでに含まれていますAWSCloud9Administrator。また、前述のアクセス許可は、AWS管理ポリシー の同等のアクセス許可よりも許容されますAWSCloud9User。
AWS Cloud9 API オペレーションとアクションに必要なアクセス許可
注記
アクセスコントロールをセットアップし、IAM アイデンティティ (アイデンティティベースのポリシー) にアタッチできる許可ポリシーを作成する際に、以下の表をリファレンスとして使用します。
Public API operations 表は、SDK とAWS Command Line Interfaceを使用してお客様が呼び出せる API オペレーションをリストアップします。
Permission-only API operationsは、顧客コードまたはAWS Command Line Interfaceによって直接呼び出せない API オペレーションをリストアップします。ただし、IAM ユーザーには、コンソールを使用してAWS Cloud9アクションを実行する時に、こういったオペレーションに対して許可をとる必要があります。
| AWS Cloud9オペレーション | 必要な許可 (API アクション) | [リソース] |
|---|---|---|
|
|
AWS Cloud9 EC2 開発環境を作成するために必要です。 |
|
|
|
環境にメンバーを追加するために必要です。 |
|
|
|
環境を削除するために必要です。 |
|
|
|
環境からメンバーを削除するために必要です。 |
|
|
|
環境のメンバーのリストを取得するのに必要です。 |
|
|
|
環境に関する情報を取得するのに必要です。 |
|
|
|
環境のステータスに関する情報を取得するのに必要です。 |
|
|
|
環境の設定を更新するのに必要です。 |
|
|
|
環境のメンバーの設定を更新するのに必要です。 |
|
| AWS Cloud9オペレーション | 説明 | コンソールドキュメンテーション |
|---|---|---|
|
|
IDE が接続する Amazon EC2 AWS Cloud9インスタンスを起動します。 |
|
|
|
AWS Cloud9 SSH 開発環境を作成します。 |
|
|
|
AWS Cloud9 IDE とユーザーの環境間の接続を許可する認証トークンを作成します。 |
|
|
|
ホスト、ユーザー、ポートなど、EC2 開発環境への接続に関する詳細を取得します。 |
|
|
|
ホスト、ユーザー、ポートなど、SSH 開発環境への接続に関する詳細を取得します。 |
|
|
|
AWS Cloud9 IDE を初期化するために使用される設定情報を取得します。 |
|
|
|
指定された開発環境のAWS Cloud9 IDE 設定を取得します。 |
|
|
|
指定された環境メンバーのAWS Cloud9 IDE 設定を取得します。 |
|
|
|
ユーザーのパブリック SSH キーを取得します。これは、SSH 開発環境への接続AWS Cloud9に によって使用されます。 |
|
|
|
指定されたユーザーのAWS Cloud9 IDE 設定を取得します。 |
|
|
|
AWS Cloud9統合開発環境 (IDE) で使用される Amazon EC2 インスタンスにAWSマネージド一時認証情報を設定します。 |
|
|
|
指定された開発環境のAWS Cloud9 IDE 設定を更新します。 |
|
|
|
指定された環境メンバーのAWS Cloud9 IDE 設定を更新します。 |
|
|
|
ホスト、ユーザー、ポートなど、SSH 開発環境への接続の詳細を更新します。 |
|
|
|
指定されたユーザーのAWS Cloud9 IDE 設定を更新します。 |
|
|
|
から CodeCatalyst AWS Cloud9への移行エクスペリエンスを取得するアクセス許可をAWS Cloud9ユーザーに付与します。 |
AWSマネージド一時認証情報
|
AWSマネージド一時認証情報がサポートするアクションのリストを検索する場合は、「」に進みますAWSマネージド一時認証情報でサポートされているアクション。 |
AWS Cloud9 EC2 開発環境の場合、AWS Cloud9は環境内で一時的なAWSアクセス認証情報を利用できるようにします。これらはAWSマネージド一時認証情報と呼ばれます。これには次の利点があります。
-
AWS環境内の任意の場所にエンティティ (IAM ユーザーなど) の永続的なAWSアクセス認証情報を保存する必要はありません。これによって、ユーザーが認識して承認することなく、環境メンバーがこれらの認証情報にアクセスできなくなります。
-
環境に接続する Amazon EC2 インスタンスにインスタンスプロファイルを手動で設定、管理、またはアタッチする必要はありません。インスタンスプロファイルは、一時的なAWSアクセス認証情報を管理するもう 1 つのアプローチです。
-
AWS Cloud9は一時的な認証情報を継続的に更新するため、1 つの認証情報セットを一定期間のみ使用できます。これはAWSセキュリティのベストプラクティスです。詳細については、「AWSマネージド一時認証情報の作成と更新」を参照してください。
-
AWS Cloud9では、一時的な認証情報を使用して環境からAWSアクションとリソースにアクセスする方法に関する追加の制限を設けています。これはAWSセキュリティのベストプラクティスでもあります。
重要
現在、環境の EC2 インスタンスがプライベートサブネットで起動されている場合、AWSマネージド一時認証情報を使用してEC2 環境がAWSエンティティ (IAM ユーザーなど) に代わってAWSサービスにアクセスすることを許可することはできません。
プライベートサブネットに EC2 インスタンスを起動できる時期に関する詳細については、「のサブネットを作成する AWS Cloud9」を参照してください。
注記
AWSマネージド一時認証情報を使用する場合は、インラインポリシーの代わりにAWSマネージドポリシーを使用することを検討してください。
EC2 環境がAWSエンティティ (IAM ユーザーなど)AWS のサービスに代わって にアクセスしようとするたびに、AWSマネージド一時認証情報がどのように機能するかを次に示します。
-
AWS Cloud9は、呼び出し元のAWSエンティティ (IAM ユーザーなど) に、リクエストされたリソースに対してリクエストされたアクションを実行するアクセス許可があるかどうかをチェックしますAWS。許可がない場合、または明示的に拒否されている場合、リクエストは失敗します。
-
AWS Cloud9は、AWSマネージド一時認証情報をチェックして、そのアクセス許可が、リクエストされたリソースに対してリクエストされたアクションを許可するかどうかを確認しますAWS。許可がない場合、または明示的に拒否されている場合、リクエストは失敗します。AWSマネージド一時認証情報がサポートするアクセス許可のリストについては、「」を参照してくださいAWSマネージド一時認証情報でサポートされているアクション。
-
AWSエンティティとAWSマネージド一時認証情報の両方が、リクエストされたリソースに対してリクエストされたアクションを許可する場合、リクエストは成功します。
-
AWSエンティティまたはAWSマネージド一時認証情報のいずれかが、リクエストされたリソースに対してリクエストされたアクションを明示的に拒否または明示的に許可しなかった場合、リクエストは失敗します。つまり、呼び出し元のAWSエンティティに正しいアクセス許可がある場合でも、AWS Cloud9が明示的に許可しない場合、リクエストは失敗します。同様に、AWS Cloud9が特定のリソースに対して特定のアクションを実行することを許可する場合、AWSエンティティが明示的に許可していない場合、リクエストは失敗します。
EC2 環境の所有者は、次のように、その環境のAWSマネージド一時認証情報をいつでもオンまたはオフにできます。
-
環境を開いた状態で、IDE AWS Cloud9のメニューバーで AWS Cloud9、設定 を選択します。
-
[優先]タブのナビゲーションペインで、[AWS設定]、[認証情報] を選択します。
-
AWSマネージド一時認証情報を使用して、AWSマネージド一時認証情報をオンまたはオフにします。
注記
AWS Cloud9 API オペレーションを呼び出し、 managedCredentialsAction パラメータに値を割り当てることでUpdateEnvironment、AWSマネージド一時認証情報を有効または無効にすることもできます。この API オペレーションは、AWS SDKsや などの標準AWSツールを使用してリクエストできますAWS CLI。
AWSマネージド一時認証情報をオフにすると、リクエストを行ったAWSエンティティに関係なくAWS のサービス、環境は にアクセスできません。ただし、環境のAWSマネージド一時認証情報を有効にできない、または有効にしたくない場合でも、環境にアクセスする必要があるとしますAWS のサービス。その場合、次の代替方法を検討してください。
-
Amazon EC2 インスタンス にインスタンスプロファイルを添付して、環境に接続します。手順については、「インスタンスプロファイルを作成して使用し一時認証情報を管理する」を参照してください。
-
特別な環境変数を設定したり、
aws configureコマンドを実行したりするなどして、永続的なAWSアクセス認証情報を環境に保存します。手順については、「環境に永続的アクセス認証情報を作成して保存する」を参照してください。
上記の方法は、EC2 環境のAWSマネージド一時認証情報によって許可 (または拒否) されるすべての許可より優先されます。
AWSマネージド一時認証情報でサポートされているアクション
AWS Cloud9 EC2 開発環境の場合、AWSマネージド一時認証情報は、発信者のすべてのAWSリソースに対するすべてのAWSアクションを許可しますがAWS アカウント、以下の制限があります。
-
ではAWS Cloud9、次のアクションのみが許可されます。
-
cloud9:CreateEnvironmentEC2 -
cloud9:CreateEnvironmentSSH -
cloud9:DescribeEnvironmentMemberships -
cloud9:DescribeEnvironments -
cloud9:DescribeEnvironmentStatus -
cloud9:UpdateEnvironment
-
-
IAM には、以下のアクションのみが許可されています。
-
iam:AttachRolePolicy -
iam:ChangePassword -
iam:CreatePolicy -
iam:CreatePolicyVersion -
iam:CreateRole -
iam:CreateServiceLinkedRole -
iam:DeletePolicy -
iam:DeletePolicyVersion -
iam:DeleteRole -
iam:DeleteRolePolicy -
iam:DeleteSSHPublicKey -
iam:DetachRolePolicy -
iam:GetInstanceProfile -
iam:GetPolicy -
iam:GetPolicyVersion -
iam:GetRole -
iam:GetRolePolicy -
iam:GetSSHPublicKey -
iam:GetUser -
iam:List* -
iam:PassRole -
iam:PutRolePolicy -
iam:SetDefaultPolicyVersion -
iam:UpdateAssumeRolePolicy -
iam:UpdateRoleDescription -
iam:UpdateSSHPublicKey -
iam:UploadSSHPublicKey
-
-
ロールとやりとりするすべての IAM アクションは、
Cloud9-で始まるロール名に対してのみ許可されます。ただし、iam:PassRoleはすべてのロール名で使用します。 -
AWS Security Token Service(AWS STS) では、次のアクションのみが許可されます。
-
sts:GetCallerIdentity -
sts:DecodeAuthorizationMessage
-
-
サポートされているすべてのAWSアクションは、環境の IP アドレスに制限されます。これはAWSセキュリティのベストプラクティスです。
AWS Cloud9が EC2 環境にアクセスするために必要なアクションまたはリソースをサポートしていない場合、または EC2 環境でAWSマネージド一時認証情報がオフになっていて再びオンにできない場合は、次の代替方法を検討してください。
-
EC2 環境に接続する Amazon EC2 インスタンスにインスタンスプロファイルを添付します。手順については、「インスタンスプロファイルを作成・使用しマネージド一時認証情報を管理する」を参照してください。
-
特別な環境変数を設定するか、
aws configureコマンドを実行するなどして、永続的なAWSアクセス認証情報を EC2 環境に保存します。手順については、「環境に永続的アクセス認証情報を作成して保存する」を参照してください。
上記の方法は、EC2 環境のAWSマネージド一時認証情報によって許可 (または拒否) されるすべての許可より優先されます。
AWSマネージド一時認証情報の作成と更新
AWS Cloud9 EC2 開発環境の場合、AWSマネージド一時認証情報は環境を初めて開いたときに作成されます。
AWSマネージド一時認証情報は、次のいずれかの条件の下で更新されます。
-
一定の時間が経過するたび。現在、これは 5 分ごとです。
-
環境の IDE を表示するウェブブラウザタブを再ロードするたび。
-
環境の
~/.aws/credentialsファイルにリストされているタイムスタンプに達したとき。 -
AWSマネージド一時認証情報) 設定がオフに設定されている場合、それをオンに戻すたび。(この設定を表示または変更するには、IDE のメニューバーにおけるAWS Cloud9優先を選択 します。[優先]タブでは、ナビゲーションペインで、AWS設定、認証情報を選択します。)
-
セキュリティのため、AWSマネージド一時認証情報は 15 分後に自動的に期限切れになります。認証情報を更新するには、環境所有者が IDE を通じてAWS Cloud9環境を実行します。環境所有者のロールに関する詳細については、AWSマネージド一時認証情報へのアクセスの制御 を参照してください。
AWSマネージド一時認証情報へのアクセスの制御
AWSマネージド一時認証情報を持つ共同作業者は、AWS Cloud9を使用して他の とやり取りできますAWS のサービス。信頼できる共同作業者だけがAWSマネージド一時認証情報を与えるため、環境所有者以外の者を新しいメンバーを追加した場合、これらの認証情報は無効になります。認証情報は、~/.aws/credentials ファイルを削除すると無効になります。
重要
AWSマネージド一時認証情報も 15 分ごとに自動的に期限切れになります。共同作業者が引き続き使用できるように認証情報を更新するには、環境所有者が IDE を介してAWS Cloud9環境に接続されている必要があります。
AWSマネージド一時認証情報を他のメンバーと共有できるように再有効化できるのは、環境所有者のみです。環境所有者が IDE を開くと、AWSマネージド一時認証情報が無効になっていることを確認するダイアログボックスが表示されます。環境所有者は、すべてのメンバーの資格情報を再度有効にするか、すべてのメンバーの認証情報を無効にできます。
警告
ベストセキュリティプラクティスに従うため、環境に最後に追加されたユーザーのアイデンティティが確実にわからない場合は、マネージド一時認証情報が無効のままになります。[ Collaborate (コラボレーション)]ウィンドウで読み取り/書き込み許可がおりたメンバーの一覧をチェックできます。