

 AWS Cloud9 は新規顧客には利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# の Identity and Access Management AWS Cloud9
<a name="security-iam"></a>





AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、誰を*認証* (サインイン) し、誰に AWS Cloud9 リソースの使用*を許可する* (アクセス許可を付与する) かを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**Topics**
+ [オーディエンス](#security_iam_audience)
+ [アイデンティティを使用した認証](#security_iam_authentication)
+ [ポリシーを使用したアクセスの管理](#security_iam_access-manage)
+ [が IAM と AWS Cloud9 連携する方法](#security_iam_service-with-iam)
+ [のアイデンティティベースのポリシーの例 AWS Cloud9](#security_iam_id-based-policy-examples)
+ [AWS Cloud9 ID とアクセスのトラブルシューティング](#security_iam_troubleshoot)
+ [AWS Cloud9 が IAM リソースとオペレーションと連携する方法](#how-cloud9-with-iam)
+ [AWS の マネージドポリシー AWS Cloud9](#auth-and-access-control-managed-policies)
+ [のカスタマー管理ポリシーの作成 AWS Cloud9](#auth-and-access-control-customer-policies)
+ [AWS Cloud9 アクセス許可リファレンス](#auth-and-access-control-ref)
+ [AWS マネージド一時認証情報](#auth-and-access-control-temporary-managed-credentials)

## オーディエンス
<a name="security_iam_audience"></a>

 AWS Identity and Access Management (IAM) の使用方法は、ロールによって異なります。
+ **サービスユーザー** - 機能にアクセスできない場合は、管理者にアクセス許可をリクエストします (「[AWS Cloud9 ID とアクセスのトラブルシューティング](#security_iam_troubleshoot)」を参照)。
+ **サービス管理者** - ユーザーアクセスを決定し、アクセス許可リクエストを送信します (「[が IAM と AWS Cloud9 連携する方法](#security_iam_service-with-iam)」を参照)
+ **IAM 管理者** - アクセスを管理するためのポリシーを作成します (「[のアイデンティティベースのポリシーの例 AWS Cloud9](#security_iam_id-based-policy-examples)」を参照)

## アイデンティティを使用した認証
<a name="security_iam_authentication"></a>

認証とは、ID 認証情報 AWS を使用して にサインインする方法です。、IAM ユーザー AWS アカウントのルートユーザー、または IAM ロールを引き受けることで認証される必要があります。

 AWS IAM アイデンティティセンター (IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーティッド ID としてサインインできます。サインインの詳細については、「*AWS サインイン ユーザーガイド*」の「[AWS アカウントにサインインする方法](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)」を参照してください。

プログラムによるアクセスの場合、 は SDK と CLI AWS を提供してリクエストを暗号化して署名します。詳細については、「*IAM ユーザーガイド*」の「[API リクエストに対するAWS 署名バージョン 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)」を参照してください。

### AWS アカウント ルートユーザー
<a name="security_iam_authentication-rootuser"></a>

 を作成するときは AWS アカウント、すべての AWS のサービス および リソースへの完全なアクセス権を持つ AWS アカウント *ルートユーザー*と呼ばれる 1 つのサインインアイデンティティから始めます。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、「*IAM ユーザーガイド*」の「[ルートユーザー認証情報が必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)」を参照してください。

### フェデレーテッドアイデンティティ
<a name="security_iam_authentication-federated"></a>

ベストプラクティスとして、人間のユーザーが一時的な認証情報 AWS のサービス を使用して にアクセスするには、ID プロバイダーとのフェデレーションを使用する必要があります。

*フェデレーション ID* は、エンタープライズディレクトリ、ウェブ ID プロバイダー、または ID Directory Service ソースの認証情報 AWS のサービス を使用して にアクセスするユーザーです。フェデレーテッドアイデンティティは、一時的な認証情報を提供するロールを引き受けます。

アクセスを一元管理する場合は、 AWS IAM アイデンティティセンターをお勧めします。詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[IAM アイデンティティセンターとは](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)」を参照してください。

### IAM ユーザーとグループ
<a name="security_iam_authentication-iamuser"></a>

*[IAM ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*は、特定の個人やアプリケーションに対する特定のアクセス許可を持つアイデンティティです。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細については、*IAM ユーザーガイド*の[「ID プロバイダーとのフェデレーションを使用して にアクセスすることを人間のユーザーに要求する AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)」を参照してください。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、IAM ユーザーの集合を指定し、大量のユーザーに対するアクセス許可の管理を容易にします。詳細については、「*IAM ユーザーガイド*」の「[IAM ユーザーに関するユースケース](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)」を参照してください。

### IAM ロール
<a name="security_iam_authentication-iamrole"></a>

*[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*は、特定のアクセス許可を持つアイデンティであり、一時的な認証情報を提供します。ユーザー[から IAM ロール (コンソール) に切り替えるか、 または API オペレーションを呼び出すことで、ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)を引き受けることができます。 AWS CLI AWS 詳細については、「*IAM ユーザーガイド*」の「[ロールを引き受けるための各種方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)」を参照してください。

IAM ロールは、フェデレーションユーザーアクセス、一時的な IAM ユーザーのアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行するアプリケーションに役立ちます。詳細については、*IAM ユーザーガイド* の [IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

## ポリシーを使用したアクセスの管理
<a name="security_iam_access-manage"></a>

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは、アイデンティティまたはリソースに関連付けられている場合のアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシー AWS を評価します。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの詳細については、「*IAM ユーザーガイド*」の「[JSON ポリシー概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)」を参照してください。

管理者は、ポリシーを使用して、どの**プリンシパル**がどの**リソース**に対して、どのような**条件**で**アクション**を実行できるかを定義することで、誰が何にアクセスできるかを指定します。

デフォルトでは、ユーザーやロールにアクセス許可はありません。IAM 管理者は IAM ポリシーを作成してロールに追加し、このロールをユーザーが引き受けられるようにします。IAM ポリシーは、オペレーションの実行方法を問わず、アクセス許可を定義します。

### アイデンティティベースのポリシー
<a name="security_iam_access-manage-id-based-policies"></a>

アイデンティティベースのポリシーは、アイデンティティ (ユーザー、グループ、またはロール) にアタッチできる JSON アクセス許可ポリシードキュメントです。これらのポリシーは、アイデンティティがどのリソースに対してどのような条件下でどのようなアクションを実行できるかを制御します。アイデンティティベースポリシーの作成方法については、*IAM ユーザーガイド* の [カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) を参照してください。

アイデンティティベースのポリシーは、*インラインポリシー* (単一の ID に直接埋め込む) または*管理ポリシー* (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「*IAM ユーザーガイド*」の「[管理ポリシーとインラインポリシーのいずれかを選択する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)」を参照してください。

### リソースベースのポリシー
<a name="security_iam_access-manage-resource-based-policies"></a>

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。例としては、IAM *ロール信頼ポリシー*や Amazon S3 *バケットポリシー*などがあります。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。リソースベースのポリシーでは、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。

リソースベースのポリシーは、そのサービス内にあるインラインポリシーです。リソースベースのポリシーでは、IAM の AWS マネージドポリシーを使用できません。

### その他のポリシータイプ
<a name="security_iam_access-manage-other-policies"></a>

AWS は、より一般的なポリシータイプによって付与されるアクセス許可の上限を設定できる追加のポリシータイプをサポートしています。
+ **アクセス許可の境界** – アイデンティティベースのポリシーで IAM エンティティに付与することのできるアクセス許可の数の上限を設定します。詳細については、「*IAM ユーザーガイド*」の「[IAM エンティティのアクセス許可境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。
+ **サービスコントロールポリシー (SCP)** - AWS Organizations内の組織または組織単位の最大のアクセス許可を指定します。詳細については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシー](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)」を参照してください。
+ **リソースコントロールポリシー (RCP)** – は、アカウント内のリソースで利用できる最大数のアクセス許可を定義します。詳細については、「*AWS Organizations ユーザーガイド*」の「[リソースコントロールポリシー (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)」を参照してください。
+ **セッションポリシー** – ロールまたはフェデレーションユーザーの一時セッションを作成する際にパラメータとして渡される高度なポリシーです。詳細については、「*IAM ユーザーガイド*」の「[セッションポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)」を参照してください。

### 複数のポリシータイプ
<a name="security_iam_access-manage-multiple-policies"></a>

1 つのリクエストに複数のタイプのポリシーが適用されると、結果として作成されるアクセス許可を理解するのがさらに難しくなります。が複数のポリシータイプが関与する場合にリクエストを許可するかどうか AWS を決定する方法については、*「IAM ユーザーガイド*」の[「ポリシー評価ロジック](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)」を参照してください。

## が IAM と AWS Cloud9 連携する方法
<a name="security_iam_service-with-iam"></a>

IAM を使用して へのアクセスを管理する前に AWS Cloud9、使用できる IAM 機能を確認してください AWS Cloud9。






**で使用できる IAM 機能 AWS Cloud9**  

| IAM 機能 | AWS Cloud9 サポート | 
| --- | --- | 
|  [アイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)  |   あり  | 
|  [リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)  |   なし   | 
|  [ポリシーアクション](#security_iam_service-with-iam-id-based-policies-actions)  |   あり  | 
|  [ポリシーリソース](#security_iam_service-with-iam-id-based-policies-resources)  |   はい  | 
|  [ポリシー条件キー (サービス固有)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   はい  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   なし   | 
|  [ABAC (ポリシー内のタグ)](#security_iam_service-with-iam-tags)  |   あり  | 
|  [一時的な認証情報](#security_iam_service-with-iam-roles-tempcreds)  |   あり  | 
|  [転送アクセスセッション (FAS)](#security_iam_service-with-iam-principal-permissions)  |   あり  | 
|  [サービスロール](#security_iam_service-with-iam-roles-service)  |   あり  | 
|  [サービスリンクロール](#security_iam_service-with-iam-roles-service-linked)  |   はい  | 

 AWS Cloud9 およびその他の AWS のサービスがほとんどの IAM 機能とどのように連携するかの概要については、「IAM *ユーザーガイド*」の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

### のアイデンティティベースのポリシー AWS Cloud9
<a name="security_iam_service-with-iam-id-based-policies"></a>

**アイデンティティベースのポリシーのサポート:** あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

#### のアイデンティティベースのポリシーの例 AWS Cloud9
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



 AWS Cloud9 アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS Cloud9](#security_iam_id-based-policy-examples)。

### 内のリソースベースのポリシー AWS Cloud9
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**リソースベースのポリシーのサポート:** なし 

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM *ロールの信頼ポリシー*や Amazon S3 *バケットポリシー*があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイド**の[IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)を参照してください。

AWS Cloud9 はリソースベースのポリシーをサポートしていませんが、 AWS Cloud9 API と IDE AWS Cloud9 を介して AWS Cloud9 環境メンバーの AWS Cloud9 環境リソースのアクセス許可を制御できます。

### のポリシーアクション AWS Cloud9
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**ポリシーアクションのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。



 AWS Cloud9 アクションのリストを確認するには、*「サービス認可リファレンス*」の「 [で定義されるアクション AWS Cloud9](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-actions-as-permissions)」を参照してください。

のポリシーアクションは、アクションの前に次のプレフィックス AWS Cloud9 を使用します。

```
account
```

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

```
"Action": [
      "account:action1",
      "account:action2"
         ]
```





 AWS Cloud9 アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS Cloud9](#security_iam_id-based-policy-examples)。

### のポリシーリソース AWS Cloud9
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource": "*"
```

 AWS Cloud9 リソースタイプとその ARNs[「 で定義されるリソース AWS Cloud9](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-resources-for-iam-policies)」を参照してください。 **どのアクションで各リソースの ARN を指定できるかについては、「[AWS Cloud9で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-actions-as-permissions)」を参照してください。





 AWS Cloud9 アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS Cloud9](#security_iam_id-based-policy-examples)。

### のポリシー条件キー AWS Cloud9
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**サービス固有のポリシー条件キーのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

 AWS Cloud9 条件キーのリストを確認するには、*「サービス認可リファレンス*」の「 [の条件キー AWS Cloud9](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-policy-keys)」を参照してください。条件キーを使用できるアクションとリソースについては、[「 で定義されるアクション AWS Cloud9](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html#your_service-actions-as-permissions)」を参照してください。

 AWS Cloud9 アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS Cloud9](#security_iam_id-based-policy-examples)。

### ACLs AWS Cloud9
<a name="security_iam_service-with-iam-acls"></a>

**ACL のサポート:** なし 

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

### を使用した ABAC AWS Cloud9
<a name="security_iam_service-with-iam-tags"></a>

**ABAC (ポリシー内のタグ) のサポート:** あり

属性ベースのアクセス制御 (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。

タグに基づいてアクセスを管理するには、`aws:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値は**あり**です。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「**部分的**」になります。

ABAC の詳細については、「*IAM ユーザーガイド*」の「[ABAC 認可でアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「*IAM ユーザーガイド*」の「[属性ベースのアクセスコントロール (ABAC) を使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。

### での一時的な認証情報の使用 AWS Cloud9
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**一時的な認証情報のサポート:** あり

一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成 AWS することをお勧めします。詳細については、「*IAM ユーザーガイド*」の「[IAM の一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」および「[AWS のサービス と IAM との連携](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

### の転送アクセスセッション AWS Cloud9
<a name="security_iam_service-with-iam-principal-permissions"></a>

**転送アクセスセッション (FAS) のサポート:** あり

 転送アクセスセッション (FAS) は、 を呼び出すプリンシパルのアクセス許可と AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする を使用します。FAS リクエストを行う際のポリシーの詳細については、「[転送アクセスセッション](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)」を参照してください。

### のサービスロール AWS Cloud9
<a name="security_iam_service-with-iam-roles-service"></a>

**サービスロールのサポート:** あり

 サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイド**の [AWS のサービスに許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)を参照してください。

**警告**  
サービスロールのアクセス許可を変更すると、 AWS Cloud9 機能が破損する可能性があります。 AWS Cloud9 が指示する場合にのみ、サービスロールを編集します。

### のサービスにリンクされたロール AWS Cloud9
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**サービスリンクロールのサポート:** あり

 サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

サービスにリンクされたロールの作成または管理の詳細については、「[IAM と提携するAWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。表の「**サービスリンクロール**」列に `Yes` と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、**[はい]** リンクを選択します。

## のアイデンティティベースのポリシーの例 AWS Cloud9
<a name="security_iam_id-based-policy-examples"></a>

デフォルトでは、 ユーザーおよびロールには、 AWS Cloud9 リソースを作成または変更する権限はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。

これらのサンプルの JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「*IAM ユーザーガイド*」の「[IAM ポリシーを作成する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」を参照してください。

各リソースタイプの ARN の形式など AWS Cloud9、 で定義されるアクションとリソースタイプの詳細については、*「サービス認可リファレンス*」の[「 のアクション、リソース、および条件キー AWS Cloud9](https://docs.aws.amazon.com/service-authorization/latest/reference/list_your_service.html)」を参照してください。 ARNs 

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [AWS Cloud9 コンソールの使用](#security_iam_id-based-policy-examples-console)
+ [自分の権限の表示をユーザーに許可する](#security_iam_id-based-policy-examples-view-own-permissions)

### ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID ベースのポリシーは、誰かがアカウント内の AWS Cloud9 リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

### AWS Cloud9 コンソールの使用
<a name="security_iam_id-based-policy-examples-console"></a>

 AWS Cloud9 コンソールにアクセスするには、最小限のアクセス許可のセットが必要です。これらのアクセス許可により、 の AWS Cloud9 リソースの詳細を一覧表示および表示できます AWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

 AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

ユーザーとロールが AWS Cloud9 引き続きコンソールを使用できるようにするには、エンティティに AWS Cloud9 `ConsoleAccess`または `ReadOnly` AWS 管理ポリシーもアタッチします。詳細については、「*IAM ユーザーガイド*」の「[ユーザーへのアクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

### 自分の権限の表示をユーザーに許可する
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を 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 とアクセスのトラブルシューティング
<a name="security_iam_troubleshoot"></a>

次の情報は、 および IAM の使用時に発生する可能性がある一般的な問題の診断 AWS Cloud9 と修正に役立ちます。

**Topics**
+ [でアクションを実行する権限がありません AWS Cloud9](#security_iam_troubleshoot-no-permissions)
+ [iam:PassRole を実行する権限がありません](#security_iam_troubleshoot-passrole)
+ [自分の 以外のユーザーに自分の AWS Cloud9 リソース AWS アカウント へのアクセスを許可したい](#security_iam_troubleshoot-cross-account-access)

### でアクションを実行する権限がありません AWS Cloud9
<a name="security_iam_troubleshoot-no-permissions"></a>

アクションを実行する権限がないというエラーが表示された場合は、そのアクションを実行できるようにポリシーを更新する必要があります。

次のエラー例は、`mateojackson` IAM ユーザーがコンソールを使用して、ある `my-example-widget` リソースに関する詳細情報を表示しようとしたことを想定して、その際に必要な `awes:GetWidget` アクセス許可を持っていない場合に発生するものです。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: awes:GetWidget on resource: my-example-widget
```

この場合、`awes:GetWidget` アクションを使用して `my-example-widget` リソースへのアクセスを許可するように、`mateojackson` ユーザーのポリシーを更新する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン認証情報を提供した担当者が管理者です。

### iam:PassRole を実行する権限がありません
<a name="security_iam_troubleshoot-passrole"></a>

`iam:PassRole` アクションを実行する権限がないというエラーが表示された場合は、ポリシーを更新して AWS Cloud9にロールを渡すことができるようにする必要があります。

一部の AWS のサービス では、新しいサービスロールまたはサービスにリンクされたロールを作成する代わりに、そのサービスに既存のロールを渡すことができます。そのためには、サービスにロールを渡す権限が必要です。

以下の例のエラーは、`marymajor` という IAM ユーザーがコンソールを使用して AWS Cloud9でアクションを実行しようとする場合に発生します。ただし、このアクションをサービスが実行するには、サービスロールから付与された権限が必要です。Mary には、ロールをサービスに渡すアクセス許可がありません。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

この場合、Mary のポリシーを更新してメアリーに `iam:PassRole` アクションの実行を許可する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン資格情報を提供した担当者が管理者です。

### 自分の 以外のユーザーに自分の AWS Cloud9 リソース AWS アカウント へのアクセスを許可したい
<a name="security_iam_troubleshoot-cross-account-access"></a>

他のアカウントのユーザーや組織外の人が、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。

詳細については、以下を参照してください:
+ がこれらの機能 AWS Cloud9 をサポートしているかどうかを確認するには、「」を参照してください[が IAM と AWS Cloud9 連携する方法](#security_iam_service-with-iam)。
+ 所有 AWS アカウント している のリソースへのアクセスを提供する方法については、IAM *ユーザーガイド*の[「所有 AWS アカウント している別の の IAM ユーザーへのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)」を参照してください。
+ リソースへのアクセスをサードパーティーに提供する方法については AWS アカウント、*IAM ユーザーガイド*の[「サードパーティー AWS アカウント が所有する へのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)」を参照してください。
+ ID フェデレーションを介してアクセスを提供する方法については、*IAM ユーザーガイド* の [外部で認証されたユーザー (ID フェデレーション) へのアクセスの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) を参照してください。
+ クロスアカウントアクセスにおけるロールとリソースベースのポリシーの使用方法の違いについては、*IAM ユーザーガイド* の [IAM でのクロスアカウントのリソースへのアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

## AWS Cloud9 が IAM リソースとオペレーションと連携する方法
<a name="how-cloud9-with-iam"></a>

AWS Identity and Access Management は、 AWS Cloud9 開発環境と他の AWS のサービス および リソースの両方を操作できるアクセス許可を管理するために使用されます。

### AWS Cloud9 リソースとオペレーション
<a name="access-permissions-overview-resources-and-operations"></a>

では AWS Cloud9、プライマリリソースは AWS Cloud9 開発環境です。ポリシーで Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。以下の表に環境 ARN を示します。詳細については、*Amazon Web Services 全般のリファレンス* の「[Amazon リソースネーム (ARN) と AWS サービス ネームスぺース](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)」を参照してください。


****  

| リソースタイプ | ARN 形式 | 
| --- | --- | 
|  環境  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID `   | 
|  特定 AWS リージョンの特定アカウントが所有するすべての環境  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:*`   | 
|  特定のリージョンの特定アカウントが所有するすべての環境  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:*`   | 
|  アカウントとリージョンに関係なく、すべての AWS Cloud9 リソース  |   `arn: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 アクセス許可リファレンス](#auth-and-access-control-ref)」を参照してください。

### リソース所有権についての理解
<a name="auth-and-access-control-overview-resource-ownership"></a>

 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](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_CreateEnvironmentMembership.html)」を参照してください。このデータ型の詳細については、「AWS Cloud9 API リファレンスガイド」の「[EnvironmentMember](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_EnvironmentMember.html)」を参照してください。

### リソースへのアクセスの管理
<a name="access-permissions-overview-managing-access"></a>

許可ポリシーでは、誰がどのリソースにアクセスできるかを記述します。

**注記**  
このセクションでは、 AWS Cloud9での IAM の使用について説明します。ここでは、IAM サービスに関する詳細情報を提供しません。完全な IAM ドキュメンテーションについては、IAM ユーザーガイドの「[IAM とは](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)」を参照してください。IAM ポリシー構文の詳細と説明については、IAM ユーザーガイドの[ IAM JSON ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)を参照してください。

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](#auth-and-access-control-managed-policies)。

より詳細な使用シナリオと一意のユーザータイプについては、独自のカスタマーマネージドポリシーを作成してアタッチすることができます。「[の追加のセットアップオプション AWS Cloud9](setup-teams.md)」および「[のカスタマー管理ポリシーの作成 AWS Cloud9](#auth-and-access-control-customer-policies)」を参照してください。

IAM ポリシー (AWS マネージドまたはカスタマーマネージド) を IAM ID にアタッチするには、IAM *ユーザーガイド*の[「IAM ポリシーのアタッチ (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#attach-managed-policy-console)」を参照してください。

### API オペレーションのセッション許可
<a name="session-and-resource-permissions"></a>

 AWS CLI または AWS API を使用してロールまたはフェデレーティッドユーザーの一時セッションをプログラムで作成する場合、セッションポリシーをパラメータとして渡して、ロールセッションの範囲を拡張できます。つまり、効果的なセッションの許可は、[ロールのアイデンティティベースのポリシーとセッションポリシーの共通部分](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)です。

セッション中にリソースへのアクセス要求が行われた場合、適用可能な `Deny` ステートメントがないものの、セッションポリシーに適用可能な `Allow` ステートメントもない場合、ポリシー評価の結果は[暗黙的な拒否](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#AccessPolicyLanguage_Interplay)となります。(詳細については、IAM ユーザーガイドの「[アカウント内でリクエストが許可されるか拒否されるかの判別](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow)」を参照してください）。

ただし、リソースベースのポリシーを必要とする AWS Cloud9 API オペレーション (上記を参照) では、リソースポリシー`Principal`で として指定されている場合、 を呼び出す IAM エンティティにアクセス許可が付与されます。この明示的なアクセス許可は、セッションポリシーの暗黙的な拒否よりも優先されるため、セッションは AWS Cloud9 API オペレーションを正常に呼び出すことができます。

## AWS の マネージドポリシー AWS Cloud9
<a name="auth-and-access-control-managed-policies"></a>

 AWS 管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーです AWS。 AWS 管理ポリシーは、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できるように、多くの一般的なユースケースにアクセス許可を付与するように設計されています。

 AWS 管理ポリシーは、すべての AWS お客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケースに固有の[カスタマー管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)を定義して、アクセス許可を絞り込むことをお勧めします。

 AWS 管理ポリシーで定義されているアクセス許可は変更できません。が AWS マネージドポリシーで定義されたアクセス許可 AWS を更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) に影響します。 AWS は、新しい が起動されるか、新しい API オペレーション AWS のサービス が既存のサービスで使用できるようになったときに、 AWS マネージドポリシーを更新する可能性が最も高くなります。

詳細については、「**IAM ユーザーガイド」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

### AWS マネージドポリシー: AWSCloud9Administrator
<a name="security-iam-awsmanpol-AWSCloud9Administrator"></a>

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](ec2-ssm.md)を参照してください。

このポリシーのアクセス許可を確認するには、「 *AWS マネージドポリシーリファレンス*」の[AWSCloud9Administrator](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloud9Administrator.html)」を参照してください。

### AWS マネージドポリシー: AWSCloud9User
<a name="security-iam-awsmanpol-AWSCloud9User"></a>

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](ec2-ssm.md)を参照してください。

このポリシーのアクセス許可を確認するには、「 *AWS マネージドポリシーリファレンス*」の[AWSCloud9User](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloud9User.html)」を参照してください。

### AWS マネージドポリシー: AWSCloud9EnvironmentMember
<a name="security-iam-awsmanpol-AWSCloud9EnvironmentMember"></a>

IAM アイデンティティに `AWSCloud9EnvironmentMember` ポリシーをアタッチできます。

このポリシーは、 AWS Cloud9 共有環境に参加する機能を提供する*メンバーシップ*アクセス許可を付与します。

**アクセス許可の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ AWS Cloud9 – 環境に関する情報を取得し、環境のユーザー設定を取得および変更します。
+ IAM – で IAM ユーザーに関する情報を取得し AWS アカウント、 AWS アカウント 必要に応じて AWS Cloud9 サービスにリンクされたロールを で作成します。
+ Systems Manager — StartSession を呼び出して、セッションマネージャーセッションのインスタンスへの接続を開始する許可をユーザーに付与。この許可は、Systems Manager を介して EC2 インスタンスと通信する環境を開くユーザーにとって必要です。詳細については、[を使用した no-ingress EC2 インスタンスへのアクセス AWS Systems Manager](ec2-ssm.md)を参照してください。

このポリシーのアクセス許可を確認するには、「 *AWS マネージドポリシーリファレンス*」の[AWSCloud9EnvironmentMember](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloud9EnvironmentMember.html)」を参照してください。

### AWS 管理ポリシー: `AWSCloud9ServiceRolePolicy`
<a name="security-iam-awsmanpol-AWSCloud9SLR"></a>

サービスにリンクされたロール **AWSServiceRoleForAWSCloud9** は、このポリシーを使用して、 AWS Cloud9 環境が Amazon EC2 および CloudFormation リソースとやり取りできるようにします。

**アクセス許可の詳細**

**AWSCloud9ServiceRolePolicy** は、AWSServiceRoleForAWSCloud9 に、 が開発環境の作成と実行に必要な AWS のサービス (Amazon EC2 と CloudFormation) と AWS Cloud9 やり取りするために必要なアクセス許可を付与します。

AWS Cloud9 は、サービスにリンクされたロールのアクセス許可を定義し、 のみがそのロールを引き受け AWS Cloud9 ることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

がサービスにリンクされたロール AWS Cloud9 を使用する方法の詳細については、「」を参照してください[のサービスにリンクされたロールの使用 AWS Cloud9](using-service-linked-roles.md)。

このポリシーのアクセス許可を確認するには、「 *AWS マネージドポリシーリファレンス*」の[AWSCloud9ServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloud9ServiceRolePolicy.html)」を参照してください。

### AWS Cloud9 AWS 管理ポリシーの更新
<a name="security-iam-awsmanpol-updates"></a>

このサービスがこれらの変更の追跡を開始 AWS Cloud9 してからの AWS の管理ポリシーの更新に関する詳細を表示します。このページの変更に関する自動アラートについては、 AWS Cloud9 ドキュメント履歴ページの RSS フィードにサブスクライブしてください。


| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
|  **AWSCloud9Administrator** ポリシーに新しいアクションが追加されました。  |  `ssm:OpenDataChannel` アクションが **AWSCloud9Administrator** ポリシーに追加されました。このアクションは、SSM セッションのデータチャネルを開くアクセス許可をユーザーに付与します。  | 2025 年 9 月 25 日 | 
|  **AWSCloud9User** ポリシーに新しいアクションが追加されました。  |  `ssm:OpenDataChannel` アクションが **AWSCloud9User** ポリシーに追加されました。このアクションは、SSM セッションのデータチャネルを開くアクセス許可をユーザーに付与します。  | 2025 年 9 月 25 日 | 
|  **AWSCloud9EnvironmentMember** ポリシーに新しいアクションが追加されました。  |  `ssm:OpenDataChannel` アクションが **AWSCloud9EnvironmentMember** ポリシーに追加されました。このアクションは、SSM セッションのデータチャネルを開くアクセス許可をユーザーに付与します。  | 2025 年 9 月 25 日 | 
|  **AWSCloud9User**、**AWSCloud9Administrator**、**AWSCloud9EnvironmentMember** の各ポリシーに新しいアクションを追加しました。  |  **AWSCloud9User**、**AWSCloud9Administrator**、**AWSCloud9EnvironmentMember** の各ポリシーに `ssm:GetConnectionStatus` アクションを追加しました。このアクションにより、SSM 接続ステータスを確認するアクセス許可がユーザーに付与されます。`cloud9:ValidateEnvironmentName` API は非推奨となり、**AWSCloud9User** ポリシーから削除されました。  | 2023 年 10 月 12 日 | 
|  **AWSCloud9User** ポリシーと **AWSCloud9Administrator** ポリシーに API を追加しました。  |  **AWSCloud9User** ポリシーと **AWSCloud9Administrator** ポリシーに新しい 2 つの API として `ec2:DescribeInstanceTypeOfferings` と `ec2:DescribeRouteTables` を追加しました。これらの API の目的は、 が、お客様が AWS Cloud9 環境を作成するときに選択したインスタンスタイプをデフォルトのサブネットがサポートしていること AWS Cloud9 を検証することです。  | 2023 年 8 月 2 日 | 
|  [**AWSCloud9ServiceRolePolicy**](#security-iam-awsmanpol-AWSCloud9SLR) の更新  |  [** AWSCloud9ServiceRolePolicy**](#security-iam-awsmanpol-AWSCloud9SLR) が更新され、License Manager ライセンス設定によって管理される Amazon EC2 インスタンスを開始および停止 AWS Cloud9 できるようになりました。  | 2022 年 1 月 12 日 | 
|  AWS Cloud9 が変更の追跡を開始しました  |  AWS Cloud9 は、 AWS 管理ポリシーの変更の追跡を開始しました。  | 2021 年 3 月 15 日 | 

## のカスタマー管理ポリシーの作成 AWS Cloud9
<a name="auth-and-access-control-customer-policies"></a>

アクセスコントロール要件を満たしている AWS 管理ポリシーがない場合は、独自のカスタマー管理ポリシーを作成してアタッチできます。

カスタマーマネージドポリシーを作成するには、IAM ユーザーガイドの「[IAM ポリシーの作成 (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)」を参照。

**Topics**
+ [ポリシー要素の指定: 効果、プリンシパル、アクション、リソース](#auth-and-access-control-customer-policies-specifying-policy-elements)
+ [お客様のマネージドポリシーの例](#auth-and-access-control-customer-policies-examples)

### ポリシー要素の指定: 効果、プリンシパル、アクション、リソース
<a name="auth-and-access-control-customer-policies-specifying-policy-elements"></a>

サービスは、 AWS Cloud9 リソースごとに一連の API オペレーションを定義します。これらの API オペレーションのアクセス許可を付与するために、 はポリシーで指定できる一連のアクション AWS Cloud9 を定義します。

以下は、基本的なポリシーの要素です。
+  `Effect` – ユーザーがアクションをリクエストする際の効果を指定します。許可または拒否のいずれかになります。リソースへのアクセスを明示的に付与 (許可) していない場合、アクセスは暗黙的に拒否されます。リソースへのアクセスを明示的に拒否することもできます。これは、別のポリシーがアクセスを許可している場合でも、ユーザーのリソースへのアクセスを禁止するために行うことができます。
+  `Principal` – アイデンティティベースのポリシー (IAM ポリシー) で、ポリシーが添付されているユーザーが暗黙のプリンシパルとなります。リソースベースのポリシーでは、権限を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。
+  `Resource` - Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。
+  `Action` – アクションのキーワードを使用して、許可または拒否するリソースオペレーションを識別します。たとえば、`cloud9:CreateEnvironmentEC2` 許可は、`CreateEnvironmentEC2` オペレーションを実行する許可をユーザーに与えます。

IAM ポリシーの構文と記述の詳細については、IAM ユーザーガイドの [ IAM JSON ポリシーのリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)を参照してください。

すべての AWS Cloud9 API アクションとそれらが適用されるリソースを示す表については、「」を参照してください[AWS Cloud9 アクセス許可リファレンス](#auth-and-access-control-ref)。

### お客様のマネージドポリシーの例
<a name="auth-and-access-control-customer-policies-examples"></a>

このセクションでは、 AWS Cloud9 アクションの許可を付与するポリシー例を示しています。以下例にあげたIAM ポリシーを選択して、IAM アイデンティティへの AWS Cloud9 アクセスを許可するか、明示的に拒否できます。

IAM アイデンティティにカスタマー管理ポリシーを作成またはアタッチするには、「*IAM ユーザーガイド*」の「[IAM ポリシーの作成 (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)」および「[IAM ポリシーのアタッチ (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#attach-managed-policy-console)」を参照してください。

**注記**  
次の例では、米国東部 (オハイオ) リージョン (`us-east-2`)、架空の AWS アカウント ID ()、架空の AWS Cloud9 開発環境 ID (`123456789012`) を使用しています`81e900317347585a0601e04c8d52eaEX`。

**Topics**
+ [環境に関する情報を取得](#auth-and-access-control-customer-policies-examples-describe-environments)
+ [EC2 環境を作成](#auth-and-access-control-customer-policies-examples-create-environment-ec2)
+ [特定の Amazon EC2 インスタンスタイプを持つ EC2 環境を作成](#auth-and-access-control-customer-policies-examples-ec2-instance-types)
+ [特定の Amazon VPC サブネットに EC2 環境を作成](#auth-and-access-control-customer-policies-examples-ec2-subnets)
+ [特定の環境名がついた EC2 環境を作成](#auth-and-access-control-customer-policies-examples-ec2-name)
+ [SSH 環境のみを作成](#auth-and-access-control-customer-policies-examples-no-ec2)
+ [環境を更新、または環境の更新を禁止](#auth-and-access-control-customer-policies-examples-update-environment)
+ [環境メンバーのリストを取得](#auth-and-access-control-customer-policies-examples-describe-environment-memberships)
+ [特定のユーザーのみと環境を共有](#auth-and-access-control-customer-policies-examples-restrict-collaboration)
+ [環境の共有を禁止](#auth-and-access-control-customer-policies-examples-no-collaboration)
+ [環境メンバーの設定を変更、または変更を禁止](#auth-and-access-control-customer-policies-examples-update-environment-membership)
+ [環境メンバーを削除、または削除を禁止](#auth-and-access-control-customer-policies-examples-delete-environment-membership)
+ [環境を削除、または削除を禁止](#auth-and-access-control-customer-policies-examples-delete-environment)
+ [SSM 環境作成用のカスタム IAM ポリシー](#custom-policy-ssm-environment)

#### 環境に関する情報を取得
<a name="auth-and-access-control-customer-policies-examples-describe-environments"></a>

次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントで環境に関する情報を取得するのを許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloud9:DescribeEnvironments",
      "Resource": "*"
    }
  ]
}
```

------

**注記**  
前述のアクセス許可は、 AWS 管理ポリシー `AWSCloud9Administrator`および にすでに含まれています`AWSCloud9User`。

#### EC2 環境を作成
<a name="auth-and-access-control-customer-policies-examples-create-environment-ec2"></a>

次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントに AWS Cloud9 EC2 開発環境を作成することを許可します。

------
#### [ JSON ]

****  

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

------

**注記**  
前述のアクセス許可は、 AWS 管理ポリシー `AWSCloud9Administrator`および にすでに含まれています`AWSCloud9User`。

#### 特定の Amazon EC2 インスタンスタイプを持つ EC2 環境を作成
<a name="auth-and-access-control-customer-policies-examples-ec2-instance-types"></a>

次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントに AWS Cloud9 EC2 開発環境を作成することを許可します。ただし、EC2 環境は指定されたクラスの Amazon EC2 インスタンスタイプのみを使用できます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloud9:CreateEnvironmentEC2",
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "cloud9:InstanceType": "t3.*"
        }
      }
    }
  ]
}
```

------

**注記**  
 AWS 管理ポリシー `AWSCloud9Administrator`または `AWSCloud9User`が IAM エンティティに既にアタッチされている場合、その AWS 管理ポリシーは前述の IAM ポリシーステートメントの動作を上書きします。これは、これらの AWS 管理ポリシーがより寛容であるためです。

#### 特定の Amazon VPC サブネットに EC2 環境を作成
<a name="auth-and-access-control-customer-policies-examples-ec2-subnets"></a>

次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントに AWS Cloud9 EC2 開発環境を作成することを許可します。ただし、EC2 環境は指定した Amazon VPC サブネットのみを使用できます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloud9:CreateEnvironmentEC2",
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "cloud9:SubnetId": [
            "subnet-12345678",
            "subnet-23456789"
          ]
        }
      }
    }
  ]
}
```

------

**注記**  
 AWS 管理ポリシー `AWSCloud9Administrator`または `AWSCloud9User`が IAM エンティティに既にアタッチされている場合、その AWS 管理ポリシーは前述の IAM ポリシーステートメントの動作を上書きします。これは、これらの AWS 管理ポリシーがより寛容であるためです。

#### 特定の環境名がついた EC2 環境を作成
<a name="auth-and-access-control-customer-policies-examples-ec2-name"></a>

次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントに AWS Cloud9 EC2 開発環境を作成することを許可します。ただし、EC2 環境は指定された名前のみを使用できます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloud9:CreateEnvironmentEC2",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "cloud9:EnvironmentName": "my-demo-environment"
        }
      }
    }
  ]
}
```

------

**注記**  
 AWS 管理ポリシー `AWSCloud9Administrator`または `AWSCloud9User`が IAM エンティティに既にアタッチされている場合、その AWS 管理ポリシーは前述の IAM ポリシーステートメントの動作を上書きします。これは、これらの AWS 管理ポリシーがより寛容であるためです。

#### SSH 環境のみを作成
<a name="auth-and-access-control-customer-policies-examples-no-ec2"></a>

次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウントに AWS Cloud9 SSH 開発環境を作成することを許可します。ただし、エンティティは AWS Cloud9 EC2 開発環境を作成できません。

------
#### [ JSON ]

****  

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

------

#### 環境を更新、または環境の更新を禁止
<a name="auth-and-access-control-customer-policies-examples-update-environment"></a>

次の IAM エンティティにアタッチされた IAM ポリシーステートメントの例では、そのエンティティがアカウント内の任意の AWS Cloud9 開発環境に関する情報を変更することを許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloud9:UpdateEnvironment",
      "Resource": "*"
    }
  ]
}
```

------

**注記**  
上記のアクセス許可は、 AWS 管理ポリシー にすでに含まれています`AWSCloud9Administrator`。

次の IAM エンティティに添付された IAM ポリシーステートメント例では、そのエンティティが環境に関する情報を指定された Amazon リソースネーム (ARN) で変更することを明示的に禁止します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "cloud9:UpdateEnvironment",
      "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX"
    }
  ]
}
```

------

#### 環境メンバーのリストを取得
<a name="auth-and-access-control-customer-policies-examples-describe-environment-memberships"></a>

次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントで環境のメンバーリストを取得するのを許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloud9:DescribeEnvironmentMemberships",
      "Resource": "*"
    }
  ]
}
```

------

**注記**  
上記のアクセス許可は、 AWS 管理ポリシー にすでに含まれています`AWSCloud9Administrator`。また、前述のアクセス許可は、 AWS 管理ポリシー の同等のアクセス許可よりも許容されます`AWSCloud9User`。

#### 特定のユーザーのみと環境を共有
<a name="auth-and-access-control-customer-policies-examples-restrict-collaboration"></a>

次の IAM エンティティに添付された IAM ポリシーステートメントの例では、エンティティが指定したユーザーのみのアカウントにおける環境の共有を許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloud9:CreateEnvironmentMembership"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "cloud9:UserArn": "arn:aws:iam::123456789012:user/MyDemoUser"
        }
      }
    }
  ]
}
```

------

**注記**  
 AWS 管理ポリシー `AWSCloud9Administrator`または `AWSCloud9User`が既に IAM エンティティにアタッチされている場合、それらの AWS 管理ポリシーは前述の IAM ポリシーステートメントの動作を上書きします。これは、これらの AWS 管理ポリシーがより寛容であるためです。

#### 環境の共有を禁止
<a name="auth-and-access-control-customer-policies-examples-no-collaboration"></a>

次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントの環境の共有を禁止します。

------
#### [ JSON ]

****  

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

------

#### 環境メンバーの設定を変更、または変更を禁止
<a name="auth-and-access-control-customer-policies-examples-update-environment-membership"></a>

次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントの環境においてメンバーの設定の変更を許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloud9:UpdateEnvironmentMembership",
      "Resource": "*"
    }
  ]
}
```

------

**注記**  
上記のアクセス許可は、 AWS 管理ポリシー にすでに含まれています`AWSCloud9Administrator`。

次の IAM エンティティに添付された IAM ポリシーステートメント例では、そのエンティティが環境におけるメンバーの設定を指定された Amazon リソースネーム (ARN) を使って変更することを明示的に禁止します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "cloud9:UpdateEnvironmentMembership",
      "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX"
    }
  ]
}
```

------

#### 環境メンバーを削除、または削除を禁止
<a name="auth-and-access-control-customer-policies-examples-delete-environment-membership"></a>

次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントで環境のメンバーの削除を許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloud9:DeleteEnvironmentMembership",
      "Resource": "*"
    }
  ]
}
```

------

**注記**  
上記のアクセス許可は、 AWS 管理ポリシー にすでに含まれています`AWSCloud9Administrator`。

次の IAM エンティティに添付された IAM ポリシーステートメント例では、そのエンティティが指定された Amazon リソースネーム (ARN) で環境のメンバーの削除を明示的に禁止します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "cloud9:DeleteEnvironmentMembership",
      "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX"
    }
  ]
}
```

------

#### 環境を削除、または削除を禁止
<a name="auth-and-access-control-customer-policies-examples-delete-environment"></a>

次の IAM エンティティに添付された IAM ポリシーステートメントの例では、そのエンティティが自分のアカウントで環境を削除するのを許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloud9:DeleteEnvironment",
      "Resource": "*"
    }
  ]
}
```

------

**注記**  
上記のアクセス許可は、 AWS 管理ポリシー にすでに含まれています`AWSCloud9Administrator`。

次の IAM エンティティに添付された IAM ポリシーステートメント例では、そのエンティティが指定された Amazon リソースネーム (ARN) で環境を削除するのを明示的に禁止します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "cloud9:DeleteEnvironment",
      "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX"
    }
  ]
}
```

------

#### SSM 環境作成用のカスタム IAM ポリシー
<a name="custom-policy-ssm-environment"></a>

現在、`AWSCloud9Administrator` ポリシーまたは `AWSCloud9User` ポリシーがアタッチされた SSM 環境を作成する際に、アクセス許可の問題が発生しています。次の IAM ポリシーステートメントの例では、IAM エンティティにアタッチすると、ユーザーは AWS マネージドポリシー`AWSCloud9Administrator`または をアタッチして使用できます`AWSCloud9User`。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloud9:UpdateUserSettings",
                "cloud9:GetUserSettings",
                "iam:GetUser",
                "iam:ListUsers",
                "iam:ListRoles",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeRouteTables"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloud9:CreateEnvironmentEC2",
                "cloud9:CreateEnvironmentSSH"
            ],
            "Resource": "*",
            "Condition": {
                "Null": {
                    "cloud9:OwnerArn": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloud9:GetUserPublicKey"
            ],
            "Resource": "*",
            "Condition": {
                "Null": {
                    "cloud9:UserArn": "true"
                }
            }
        },
        {
            "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"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ssm:StartSession",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/aws:cloud9:environment": "*"
                },
                "StringEquals": {
                    "aws:CalledViaFirst": "cloud9.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:document/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": ["iam:ListInstanceProfilesForRole", "iam:CreateRole"],
            "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"]
        },
        {
            "Effect": "Allow",
            "Action": ["iam:AttachRolePolicy"],
            "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"],
            "Condition": {
                "StringEquals": {
                    "iam:PolicyARN": "arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ec2.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:CreateInstanceProfile",
                "iam:AddRoleToInstanceProfile"
            ],
            "Resource": [
                "arn:aws:iam::*:instance-profile/cloud9/AWSCloud9SSMInstanceProfile"
            ]
        }
    ]
}
```

------

## AWS Cloud9 アクセス許可リファレンス
<a name="auth-and-access-control-ref"></a>

 AWS Cloud9 ポリシーで AWS ワイド条件キーを使用して条件を表現できます。リストについては、IAM ユーザーガイドの [IAM JSON ポリシーエレメント：条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)を参照してください。

アクションは、ポリシーの `Action` フィールドで指定します。アクションを指定するには、API オペレーション名 (`"Action": "cloud9:DescribeEnvironments"`など) の前に `cloud9:` プレフィックスを使用します。単一のステートメントに複数のアクションを指定するには、コンマで区切ります (例えば、`"Action": [ "cloud9:UpdateEnvironment", "cloud9:DeleteEnvironment" ]`)。

### ワイルドカード文字の使用
<a name="auth-and-access-control-ref-wildcards"></a>

ポリシーの `Resource` フィールドでリソース値として、ワイルドカード文字 (`*`) を使用して、または使用せずに ARN を指定します。ワイルドカードを使用して複数のアクションまたはリソースを指定することができます。たとえば、 `cloud9:*`はすべての AWS Cloud9 アクションを指定し、 で始まるすべての AWS Cloud9 アクション`cloud9:Describe*`を指定します`Describe`。

次の例では、IAM エンティティが、アカウント内の環境の環境および環境メンバーシップに関する情報を取得するのを許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloud9:Describe*"
      ],
      "Resource": "*"
    }
  ]
}
```

------

**注記**  
上記のアクセス許可は、 AWS 管理ポリシー にすでに含まれています`AWSCloud9Administrator`。また、前述のアクセス許可は、 AWS 管理ポリシー の同等のアクセス許可よりも許容されます`AWSCloud9User`。

### AWS Cloud9 API オペレーションとアクションに必要なアクセス許可
<a name="auth-and-access-control-ref-matrix"></a>

**注記**  
アクセスコントロールをセットアップし、IAM アイデンティティ (アイデンティティベースのポリシー) にアタッチできる許可ポリシーを作成する際に、以下の表をリファレンスとして使用します。  
[Public API operations](#callable-api) 表は、SDK と AWS Command Line Interfaceを使用してお客様が呼び出せる API オペレーションをリストアップします。  
 [Permission-only API operations](#permissions-only-api)は、顧客コードまたは AWS Command Line Interfaceによって直接呼び出せない API オペレーションをリストアップします。ただし、IAM ユーザーには、コンソールを使用して AWS Cloud9 アクションを実行する時に、こういったオペレーションに対して許可をとる必要があります。


**公開 API オペレーション**  

| AWS Cloud9 オペレーション | 必要な許可 (API アクション) | [リソース]  | 
| --- | --- | --- | 
|   `CreateEnvironmentEC2`   |   `cloud9:CreateEnvironmentEC2`   AWS Cloud9 EC2 開発環境を作成するために必要です。  |   `*`   | 
|   `CreateEnvironmentMembership`   |   `cloud9:CreateEnvironmentMembership`  環境にメンバーを追加するために必要です。  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID `   | 
|   `DeleteEnvironment`   |   `cloud9:DeleteEnvironment`  環境を削除するために必要です。  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID `   | 
|   `DeleteEnvironmentMembership`   |   `cloud9:DeleteEnvironmentMembership`  環境からメンバーを削除するために必要です。  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID `   | 
|   `DescribeEnvironmentMemberships`   |   `cloud9:DescribeEnvironmentMemberships`  環境のメンバーのリストを取得するのに必要です。  |   `*`   | 
|   `DescribeEnvironments`   |   `cloud9:DescribeEnvironments`  環境に関する情報を取得するのに必要です。  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID `   | 
|   `DescribeEnvironmentStatus`   |   `cloud9:DescribeEnvironmentStatus`  環境のステータスに関する情報を取得するのに必要です。  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID `   | 
|   `UpdateEnvironment`   |   `cloud9:UpdateEnvironment`  環境の設定を更新するのに必要です。  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID `   | 
|   `UpdateEnvironmentMembership`   |   `cloud9:UpdateEnvironmentMembership`  環境のメンバーの設定を更新するのに必要です。  |   `arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID `   | 


**許可のみの API オペレーション**  

| AWS Cloud9 オペレーション | 説明 | コンソールドキュメンテーション | 
| --- | --- | --- | 
|   `ActivateEC2Remote`   |   `cloud9:ActivateEC2Remote`  IDE が接続する Amazon EC2 AWS Cloud9 インスタンスを起動します。  |   [で環境を開く AWS Cloud9](open-environment.md)   | 
|   `CreateEnvironmentSSH`   |   `cloud9:CreateEnvironmentSSH`  SSH AWS Cloud9 開発環境を作成します。  |   [SSH 環境を作成する](create-environment-ssh.md)  | 
|   `CreateEnvironmentToken`   |   `cloud9:CreateEnvironmentToken`   AWS Cloud9 IDE とユーザーの環境間の接続を許可する認証トークンを作成します。  |   [EC2 環境を作成する](create-environment-main.md)  | 
|   `DescribeEC2Remote`   |   `cloud9:DescribeEC2Remote`  ホスト、ユーザー、ポートなど、EC2 開発環境への接続に関する詳細を取得します。  |   [EC2 環境を作成する](create-environment-main.md)  | 
|   `DescribeSSHRemote`   |   `cloud9:DescribeSSHRemote`  ホスト、ユーザー、ポートなど、SSH 開発環境への接続に関する詳細を取得します。  |   [SSH 環境を作成する](create-environment-ssh.md)   | 
|   `GetEnvironmentConfig`   |  `cloud9:GetEnvironmentConfig`   AWS Cloud9 IDE を初期化するために使用される設定情報を取得します。  |   [IDE AWS Cloud9 の使用](ide.md)   | 
|   `GetEnvironmentSettings`   |  `cloud9:GetEnvironmentSettings`  指定された開発環境の AWS Cloud9 IDE 設定を取得します。  |   [IDE AWS Cloud9 の使用](ide.md)   | 
|   `GetMembershipSettings`   |   `cloud9:GetMembershipSettings`  指定された環境メンバーの AWS Cloud9 IDE 設定を取得します。  |   [での共有環境の使用 AWS Cloud9](share-environment.md)   | 
|   `GetUserPublicKey`   |   `cloud9:GetUserPublicKey`  ユーザーのパブリック SSH キーを取得します。これは、SSH 開発環境への接続 AWS Cloud9 に によって使用されます。  |   [SSH 環境を作成する](create-environment-ssh.md)   | 
|   `GetUserSettings`   |   `cloud9:GetUserSettings`  指定されたユーザーの AWS Cloud9 IDE 設定を取得します。  |   [IDE AWS Cloud9 の使用](ide.md)   | 
|   `ModifyTemporaryCredentialsOnEnvironmentEC2`   |  `cloud9:ModifyTemporaryCredentialsOnEnvironmentEC2`   AWS Cloud9 統合開発環境 (IDE) で使用される Amazon EC2 インスタンスに AWS マネージド一時認証情報を設定します。  |   [AWS マネージド一時認証情報](#auth-and-access-control-temporary-managed-credentials)   | 
|   `UpdateEnvironmentSettings`   |   `cloud9:UpdateEnvironmentSettings`  指定された開発環境の AWS Cloud9 IDE 設定を更新します。  |   [IDE AWS Cloud9 の使用](ide.md)   | 
|   `UpdateMembershipSettings`   |   `cloud9:UpdateMembershipSettings`  指定された環境メンバーの AWS Cloud9 IDE 設定を更新します。  |   [での共有環境の使用 AWS Cloud9](share-environment.md)   | 
|   `UpdateSSHRemote`   |   `cloud9:UpdateSSHRemote`  ホスト、ユーザー、ポートなど、SSH 開発環境への接続の詳細を更新します。  |   [SSH 環境を作成する](create-environment-ssh.md)   | 
|   `UpdateUserSettings`   |   `cloud9:UpdateUserSettings`  指定されたユーザーの AWS Cloud9 IDE 設定を更新します。  |   [IDE AWS Cloud9 の使用](ide.md)   | 
|   `GetMigrationExperiences`   |   `cloud9:GetMigrationExperiences`  から CodeCatalyst AWS Cloud9 への移行エクスペリエンスを取得するアクセス許可を AWS Cloud9 ユーザーに付与します。  | 

## AWS マネージド一時認証情報
<a name="auth-and-access-control-temporary-managed-credentials"></a>


****  

|  | 
| --- |
|   AWS マネージド一時認証情報がサポートするアクションのリストを検索する場合は、「」に進みます[AWS マネージド一時認証情報でサポートされるアクション](#auth-and-access-control-temporary-managed-credentials-supported)。  | 

 AWS Cloud9 EC2 開発環境の場合、 AWS Cloud9 は環境内で一時的な AWS アクセス認証情報を利用できるようにします。これらはAWS マネージド一時認証情報と呼ばれます。これには次の利点があります。
+  AWS 環境内の任意の場所にエンティティ (IAM ユーザーなど) の永続的な AWS アクセス認証情報を保存する必要はありません。これによって、ユーザーが認識して承認することなく、環境メンバーがこれらの認証情報にアクセスできなくなります。
+ 環境に接続する Amazon EC2 インスタンスにインスタンスプロファイルを手動で設定、管理、またはアタッチする必要はありません。インスタンスプロファイルは、一時的な AWS アクセス認証情報を管理するもう 1 つのアプローチです。
+ AWS Cloud9 は一時的な認証情報を継続的に更新するため、1 つの認証情報セットを期間限定でのみ使用できます。これは AWS セキュリティのベストプラクティスです。詳細については、「[AWS マネージド一時認証情報の作成と更新](#auth-and-access-control-temporary-managed-credentials-create-update)」を参照してください。
+ AWS Cloud9 では、一時的な認証情報を使用して環境から AWS アクションとリソースにアクセスする方法に関する追加の制限を設けています。これは AWS セキュリティのベストプラクティスでもあります。

**重要**  
現在、環境の EC2 インスタンスが**プライベートサブネット**で起動されている場合、 AWS マネージド一時認証情報を使用してEC2 環境が AWS エンティティ (IAM ユーザーなど) に代わって AWS サービスにアクセスすることを許可することはできません。  
プライベートサブネットに EC2 インスタンスを起動できる時期に関する詳細については、「[のサブネットを作成する AWS Cloud9](vpc-settings.md#vpc-settings-create-subnet)」を参照してください。

**注記**  
 AWS マネージド一時認証情報を使用する場合は、インラインポリシーの代わりに AWS マネージドポリシーを使用することを検討してください。

EC2 環境が AWS エンティティ (IAM ユーザーなど) AWS のサービス に代わって にアクセスしようとするたびに、 AWS マネージド一時認証情報がどのように機能するかを次に示します。

1. AWS Cloud9 は、呼び出し元の AWS エンティティ (IAM ユーザーなど) に、リクエストされたリソースに対してリクエストされたアクションを実行するアクセス許可があるかどうかをチェックします AWS。許可がない場合、または明示的に拒否されている場合、リクエストは失敗します。

1. AWS Cloud9 は、 AWS マネージド一時認証情報をチェックして、そのアクセス許可が、リクエストされたリソースに対してリクエストされたアクションを許可するかどうかを確認します AWS。許可がない場合、または明示的に拒否されている場合、リクエストは失敗します。 AWS マネージド一時認証情報がサポートするアクセス許可のリストについては、「」を参照してください[AWS マネージド一時認証情報でサポートされるアクション](#auth-and-access-control-temporary-managed-credentials-supported)。
+  AWS エンティティと AWS マネージド一時認証情報の両方が、リクエストされたリソースに対してリクエストされたアクションを許可している場合、リクエストは成功します。
+  AWS エンティティまたは AWS マネージド一時認証情報のいずれかが、リクエストされたリソースに対してリクエストされたアクションを明示的に拒否または明示的に許可しなかった場合、リクエストは失敗します。つまり、呼び出し元の AWS エンティティに正しいアクセス許可がある場合でも、 AWS Cloud9 が明示的に許可しない場合、リクエストは失敗します。同様に、 AWS Cloud9 が特定のリソースに対して特定のアクションを実行することを許可する場合、 AWS エンティティが明示的に許可していない場合、リクエストは失敗します。

EC2 環境の所有者は、次のように、その環境の AWS マネージド一時認証情報をいつでもオンまたはオフにできます。

1. 環境を開いた状態で、IDE AWS Cloud9 のメニューバーで **AWS Cloud9、設定** を選択します。

1. ［**優先**］タブのナビゲーションペインで、［**AWS 設定]、［認証情報］** を選択します。

1. **AWS マネージド一時認証情報**を使用して、 AWS マネージド一時認証情報をオンまたはオフにします。

**注記**  
 AWS Cloud9 API オペレーションを呼び出し[https://docs.aws.amazon.com/cloud9/latest/APIReference/API_UpdateEnvironment.html](https://docs.aws.amazon.com/cloud9/latest/APIReference/API_UpdateEnvironment.html)、 `managedCredentialsAction` パラメータに値を割り当てることで、 AWS マネージド一時認証情報を有効または無効にすることもできます。この API オペレーションは、 AWS SDKsや などの標準 AWS ツールを使用してリクエストできます AWS CLI。

 AWS マネージド一時認証情報をオフにすると、リクエストを行った AWS エンティティに関係なく AWS のサービス、環境は にアクセスできません。ただし、環境の AWS マネージド一時認証情報を有効にできない、または有効にしたくない場合でも、環境にアクセスする必要があるとします AWS のサービス。その場合、次の代替方法を検討してください。
+ Amazon EC2 インスタンス にインスタンスプロファイルを添付して、環境に接続します。手順については、「[インスタンスプロファイルを作成して使用し一時認証情報を管理する](credentials.md#credentials-temporary)」を参照してください。
+ 特別な環境変数を設定したり、 `aws configure` コマンドを実行したりするなどして、永続的な AWS アクセス認証情報を環境に保存します。手順については、「[環境に永続的アクセス認証情報を作成して保存する](credentials.md#credentials-permanent-create)」を参照してください。

上記の方法は、EC2 環境の AWS マネージド一時認証情報によって許可 (または拒否) されるすべての許可より優先されます。

### AWS マネージド一時認証情報でサポートされるアクション
<a name="auth-and-access-control-temporary-managed-credentials-supported"></a>

 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 インスタンスにインスタンスプロファイルを添付します。手順については、「[インスタンスプロファイルを作成・使用しマネージド一時認証情報を管理する](credentials.md#credentials-temporary)」を参照してください。
+ 特別な環境変数を設定するか、 `aws configure` コマンドを実行するなどして、永続的な AWS アクセス認証情報を EC2 環境に保存します。手順については、「[環境に永続的アクセス認証情報を作成して保存する](credentials.md#credentials-permanent-create)」を参照してください。

上記の方法は、EC2 環境の AWS マネージド一時認証情報によって許可 (または拒否) されるすべての許可より優先されます。

#### AWS マネージド一時認証情報の作成と更新
<a name="auth-and-access-control-temporary-managed-credentials-create-update"></a>

 AWS Cloud9 EC2 開発環境の場合、 AWS マネージド一時認証情報は環境を初めて開いたときに作成されます。

AWS マネージド一時認証情報は、次のいずれかの条件の下で更新されます。
+ 一定の時間が経過するたび。現在、これは 5 分ごとです。
+ 環境の IDE を表示するウェブブラウザタブを再ロードするたび。
+ 環境の `~/.aws/credentials` ファイルにリストされているタイムスタンプに達したとき。
+ **AWS マネージド一時認証情報)** 設定がオフに設定されている場合、それをオンに戻すたび。(この設定を表示または変更するには、IDE のメニューバーにおける**AWS Cloud9優先を選択** します。［**優先**］タブでは、ナビゲーションペインで、**AWS 設定、認証情報**を選択します。)
+ セキュリティのため、 AWS マネージド一時認証情報は 15 分後に自動的に期限切れになります。認証情報を更新するには、環境所有者が IDE を通じて AWS Cloud9 環境を実行します。環境所有者のロールに関する詳細については、[AWS マネージド一時認証情報へのアクセスの制御](#temporary-managed-credentials-control) を参照してください。

#### AWS マネージド一時認証情報へのアクセスの制御
<a name="temporary-managed-credentials-control"></a>

 AWS マネージド一時認証情報を持つ共同作業者は、 AWS Cloud9 を使用して他の とやり取りできます AWS のサービス。信頼できる共同作業者だけが AWS マネージド一時認証情報を与えるため、環境所有者以外の者を新しいメンバーを追加した場合、これらの認証情報は無効になります。認証情報は、`~/.aws/credentials` ファイルを削除すると無効になります。

**重要**  
AWS マネージド一時認証情報も 15 分ごとに自動的に期限切れになります。共同作業者が引き続き使用できるように認証情報を更新するには、環境所有者が IDE を介して AWS Cloud9 環境に接続されている必要があります。

 AWS マネージド一時認証情報を他のメンバーと共有できるように再有効化できるのは、環境所有者のみです。環境所有者が IDE を開くと、 AWS マネージド一時認証情報が無効になっていることを確認するダイアログボックスが表示されます。環境所有者は、すべてのメンバーの資格情報を再度有効にするか、すべてのメンバーの認証情報を無効にできます。

**警告**  
ベストセキュリティプラクティスに従うため、環境に最後に追加されたユーザーのアイデンティティが確実にわからない場合は、マネージド一時認証情報が無効のままになります。［ [Collaborate (コラボレーション)](share-environment-members-list.md)］ウィンドウで読み取り/書き込み許可がおりたメンバーの一覧をチェックできます。