

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

# リソースへのアクセスの管理
<a name="access-control-manage-access-intro"></a>

*アクセス権限ポリシー* では、誰が何にアクセスできるかを記述します。以下のセクションで、アクセス許可ポリシーを作成するために使用可能なオプションについて説明します。

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

IAM アイデンティティにアタッチされているポリシーは、アイデンティティベースのポリシー (IAM ポリシー) と呼ばれます。**リソースにアタッチされたポリシーは、リソースベースのポリシーと呼ばれます。**

**注記**  
 AWS Control Tower では、アイデンティティベースのポリシー (IAM ポリシー) のみサポートされます。

**Topics**
+ [アイデンティティベースのポリシー (IAM ポリシー) について](#access-control-manage-access-intro-iam-policies)
+ [ロールを作成して、アクセス許可を割り当てる](assign-permissions.md)
+ [リソースベースのポリシー](#access-control-manage-access-intro-resource-policies)

## アイデンティティベースのポリシー (IAM ポリシー) について
<a name="access-control-manage-access-intro-iam-policies"></a>

ポリシーを IAM アイデンティティにアタッチできます。例えば、次の操作を実行できます。
+ **アカウントのユーザーまたはグループに許可ポリシーをアタッチする** – ランディングゾーンのセットアップなどの AWS Control Tower リソースを作成するユーザー許可を付与するために、ユーザーまたはユーザーが所属するグループに許可ポリシーをアタッチできます。
+  **許可ポリシーをロールにアタッチする (クロスアカウントの許可を付与)** – アイデンティティベースのアクセス許可ポリシーを IAM ロールにアタッチして、クロスアカウントの許可を付与することができます。たとえば、ある AWS アカウントの管理者 (*アカウント A*) は、別のアカウント ( AWS アカウント *B*) にクロスアカウントアクセス許可を付与するロールを作成したり、別の AWS サービスにアクセス許可を付与するロールを作成したりできます。

  1. アカウント A の管理者は IAM ロールを作成し、そのロールに、アカウント A のリソースを管理する許可を付与する権限ポリシーをアタッチします。

  1. アカウント A の管理者は、ロールに信頼ポリシーをアタッチします。ポリシーは、ロールを引き受けることのできるプリンシパルとしてアカウント B を識別します。

  1. プリンシパルとして、アカウント B の管理者は、アカウント B のすべてのユーザーにそのロールを引き受ける権限を与えることができます。このロールを引き受けることで、アカウント B のユーザーはアカウント A のリソースを作成したり、アクセスしたりできます。

  1.  AWS サービスにロールを引き受ける機能 (アクセス許可) を付与するには、信頼ポリシーで指定するプリンシパルを AWS サービスにすることができます。

# ロールを作成して、アクセス許可を割り当てる
<a name="assign-permissions"></a>

ロールとアクセス許可により、AWS Control Tower や AWS の他のサービスのリソースにアクセスできます。これにはリソースへのプログラムによるアクセスも含まれます。

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
+ 以下のユーザーとグループ AWS IAM アイデンティティセンター:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。*IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス許可の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) の指示に従います。

IAM を使用した許可の委任の詳細については、「IAM ユーザーガイド」の「[アクセス管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)」を参照してください。

**注記**  
AWS Control Tower のランディングゾーンを設定するときは、**AdministratorAccess**管理ポリシー持つユーザーまたはロールが必要です。(arn: aws: iam:: aws: policy/AdministratorAccess)

**のロールを作成するには AWS のサービス (IAM コンソール)**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. IAM コンソールのナビゲーションペインで、**[ロール]**、**[ロールを作成]** を選択します。

1. **信頼できるエンティティタイプ** で、**AWS のサービス** を選択します。

1. **[サービスまたはユースケース]** でサービスを選択し、次にユースケースを選択します。ユースケースは、サービスに必要な信頼ポリシーを含める定義になります。

1. [**次へ**] を選択します。

1. **[アクセス許可ポリシー]** では、オプションは選択したユースケースによって異なります。
   + サービスがロールのアクセス許可を定義している場合、アクセス許可ポリシーを選択することはできません。
   + 制限されたアクセス許可ポリシーのセットから選択します。
   + すべてのアクセス許可ポリシーから選択します。
   + アクセス許可ポリシーを選択するのではなく、ロールの作成後にポリシーを作成し、そのポリシーをロールにアタッチします。

1. (オプション) [アクセス許可の境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)を設定します。このアドバンスド機能は、サービスロールで使用できますが、サービスにリンクされたロールではありません。

   1. **[アクセス許可の境界の設定]** セクションを開き、**[アクセス許可の境界を使用してロールのアクセス許可の上限を設定する]** を選択します。

      IAM には、 アカウントの AWS 管理ポリシーとカスタマー管理ポリシーのリストが含まれます。

   1. アクセス許可の境界として使用するポリシーを選択します。

1. [**次へ**] を選択します。

1. **[ロール名]** では、オプションはサービスによって異なります。
   + サービスでロール名が定義されている場合、ロール名を編集することはできません。
   + サービスでロール名のプレフィックスが定義されている場合、オプションのサフィックスを入力できます。
   + サービスでロール名が定義されていない場合、ロールに名前を付けることができます。
**重要**  
ロールに名前を付けるときは、次のことに注意してください。  
ロール名は 内で一意である必要があり AWS アカウント、大文字と小文字を区別することはできません。  
例えば、**PRODROLE** と **prodrole** の両方の名前でロールを作成することはできません。ロール名がポリシーまたは ARN の一部として使用される場合、ロール名は大文字と小文字が区別されます。ただし、サインインプロセスなど、コンソールにロール名がユーザーに表示される場合、ロール名は大文字と小文字が区別されません。
他のエンティティがロールを参照する可能性があるため、ロールを作成した後にロール名を編集することはできません。

1. (オプション) **[説明]** にロールの説明を入力します。

1. (オプション) ロールのユースケースとアクセス許可を編集するには、**[ステップ 1: 信頼されたエンティティを選択]** または **[ステップ 2: アクセス権限を追加]** のセクションで **[編集]** を選択します。

1. (オプション) ロールの識別、整理、検索を簡単にするには、キーと値のペアとしてタグを追加します。IAM でのタグの使用の詳細については、IAM *ユーザーガイド*の[AWS Identity and Access Management 「リソースのタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)」を参照してください。

1. ロールを確認したら、**[ロールを作成]** を選択します。

**JSON ポリシーエディタでポリシーを作成するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. 左側のナビゲーションペインで、**[ポリシー]** を選択します。

   初めて **[ポリシー]** を選択する場合には、**[管理ポリシーにようこそ]** ページが表示されます。**今すぐ始める** を選択します。

1. ページの上部で、**[ポリシーを作成]** を選択します。

1. **ポリシーエディタ** セクションで、**JSON** オプションを選択します。

1. JSON ポリシードキュメントを入力するか貼り付けます。IAM ポリシー言語の詳細については、「[IAM JSON ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)」を参照してください。

1. [ポリシーの検証](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html)中に生成されたセキュリティ警告、エラー、または一般警告をすべて解決してから、**[次へ]** を選択します。
**注記**  
いつでも **[ビジュアル]** と **[JSON]** エディタオプションを切り替えることができます。ただし、**[ビジュアル]** エディタで **[次へ]** に変更または選択した場合、IAM はポリシーを再構成してビジュアルエディタに合わせて最適化することがあります。詳細については、「*IAM ユーザーガイド*」の「[ポリシーの再構成](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)」を参照してください。

1. (オプション) でポリシーを作成または編集するときに AWS マネジメントコンソール、テンプレートで使用できる JSON または YAML ポリシー CloudFormation テンプレートを生成できます。

   これを行うには、**ポリシーエディタ**で **[アクション]** を選択し、次に **[CloudFormation テンプレートを生成]** を選択します。詳細については CloudFormation、「 *AWS CloudFormation ユーザーガイド*」の「 [AWS Identity and Access Management リソースタイプのリファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IAM.html)」を参照してください。

1. ポリシーにアクセス権限を追加し終えたら、**[次へ]** を選択します。

1. **[確認と作成]** ページで、作成するポリシーの **[ポリシー名]** と **[説明]** (オプション) を入力します。**このポリシーで定義されているアクセス許可** を確認して、ポリシーによって付与されたアクセス許可を確認します。

1. (オプション) タグをキーと 値のペアとしてアタッチして、メタデータをポリシーに追加します。IAM でのタグの使用の詳細については、IAM *ユーザーガイド*の[AWS Identity and Access Management 「リソースのタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)」を参照してください。

1. **[ポリシーを作成]** をクリックして、新しいポリシーを保存します。

**ビジュアルエディタを使用してポリシーを作成するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. 左側のナビゲーションペインで、**[ポリシー]** を選択します。

   初めて **[ポリシー]** を選択する場合には、**[管理ポリシーにようこそ]** ページが表示されます。**[Get Started]** (今すぐ始める) を選択します。

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

1. **[ポリシーエディタ]** セクションで、**[サービスを選択]** セクションを見つけて、 AWS のサービスを選択します。上部の検索ボックスを使用して、サービスのリストの結果を制限することができます。ビジュアルエディタのアクセス許可ブロック内で選択できるサービスは 1 つだけです。複数のサービスにアクセス許可を付与するには、[**さらにアクセス許可を追加する**] を選択して、複数のアクセス許可ブロックを追加します。

1. [**許可されるアクション**] で、ポリシーに追加するアクションを選択します。アクションは次の方法で選択できます。
   + すべてのアクションのチェックボックスをオンにします。
   + **[アクションを追加]** を選択して、特定のアクションの名前を入力します。ワイルドカード文字 (`*`) を使用すると、複数のアクションを指定できます。
   + [**アクセスレベル**] グループの 1 つを選択して、アクセスレベルのすべてのアクション ([**読み取り**]、[**書き込み**]、または [**リスト**] など) を選択します。
   + それぞれの [**アクセスレベル**] グループを展開して、個々のアクションを選択します。

   デフォルトでは、作成しているポリシーが選択するアクションを許可します。その代わりに選択したアクションを拒否するには、[**Switch to deny permissions (アクセス許可の拒否に切り替え)**] を選択します。[IAM はデフォルトでは拒否](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)されるため、ユーザーが必要とするアクションとリソースのみに対してアクセス許可を許可することを、セキュリティのベストプラクティスとしてお勧めします。別のステートメントまたはポリシーによって個別に許可されるアクセス許可を上書きする場合のみ、アクセス許可を拒否する JSON ステートメントを作成します。これにより、アクセス許可のトラブルシューティングがより困難になる可能性があるため、拒否ステートメントの数は最小限に制限することをお勧めします。

1. [**リソース**] では、前のステップで選択したサービスとアクションが[特定のリソース](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-resources)の選択をサポートしていない場合は、すべてのリソースが許可され、このセクションを編集することはできません。

   [リソースレベルのアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-resources)をサポートする 1 つ以上のアクションを選択した場合、ビジュアルエディタでそれらのリソースが一覧表示されます。[**リソース**] を展開して、ポリシーのリソースを指定できます。

   リソースは次の方法で指定できます。
   + [**ARN を追加**] を選択して、それらの Amazon リソースネーム (ARN) 別にリソースを指定します。ビジュアル ARN エディタを使用するか、ARN を手動でリストすることができます。ARN 構文の詳細については、「*IAM ユーザーガイド*」の「[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)」を参照してください。ポリシーの `Resource` 要素で ARN を使用する方法については、「*IAM ユーザーガイド*」の「[IAM JSON ポリシー要素: Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)」を参照してください。
   + リソースの横にある **[このアカウント内のすべて]** を選択して、そのタイプのすべてのリソースにアクセス許可を付与します。
   + [**すべて**] を選択し、そのサービスのすべてのリソースを選択します。

1. (オプション) **[リクエスト条件 - *オプション*]** を選択して、作成するポリシーに条件を追加します。条件によって JSON ポリシーステートメントの効果が制限されます。例えば、特定の時間範囲内でそのユーザーのリクエストが発生した場合にのみ、ユーザーがリソースに対してアクションを実行できるように指定できます。また、一般的に使用される条件を使用して、多要素認証 (MFA) デバイスでユーザーを認証する必要があるかどうかを制限することもできます。または、リクエストの発行元を特定範囲内の IP アドレスに限定できます。ポリシー条件で使用できるすべてのコンテキストキーのリストについては、*「サービス認可リファレンス*」の「 [AWS サービスのアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)」を参照してください。

   条件は次の方法で選択できます。
   + 一般的に使用される条件を選択するには､チェックボックスを使用します。
   + 他の条件を指定するには、[**別の条件を追加**] を選択します。条件の **[条件キー]**、**[修飾子]**、**[演算子]** を選択し、**[値]** に入力します。複数の値を追加するには、[**追加**] を選択します。値は、論理 `OR` 演算子によって接続されていると見なすことができます。完了したら、[**条件を追加**] を選択します。

   複数の条件を追加するには、[**別の条件を追加**] を選択します。必要に応じて操作を繰り返します。各条件は、この 1 つのビジュアルエディタのアクセス許可ブロックにのみ適用されます。アクセス許可ブロックが一致すると見なされるためには、すべての条件が満たされている必要があります。つまり、論理 `AND` 演算子によって接続される条件を考慮します。

   **Condition** 要素の詳細については、「*IAM ユーザーガイド*」の「[IAM JSON ポリシー要素: Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)」を参照してください。

1. さらにアクセス許可ブロックを追加するには、[**さらにアクセス許可を追加**] を選択します。各ブロックに対して、ステップ 2 から 5 を繰り返します。
**注記**  
いつでも **[Visual]** と **[JSON]** エディタオプションを切り替えることができます。ただし、**[ビジュアル]** エディタで **[次へ]** に変更または選択した場合、IAM はポリシーを再構成してビジュアルエディタに合わせて最適化することがあります。詳細については、「*IAM ユーザーガイド*」の「[ポリシーの再構成](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)」を参照してください。

1. (オプション) でポリシーを作成または編集するときに AWS マネジメントコンソール、テンプレートで使用できる JSON または YAML ポリシー CloudFormation テンプレートを生成できます。

   これを行うには、**ポリシーエディタ**で **[アクション]** を選択し、次に **[CloudFormation テンプレートを生成]** を選択します。詳細については CloudFormation、「 *AWS CloudFormation ユーザーガイド*」の「 [AWS Identity and Access Management リソースタイプのリファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IAM.html)」を参照してください。

1. ポリシーにアクセス権限を追加し終えたら、**[次へ]** を選択します。

1. **[確認と作成]** ページで、作成するポリシーの **[ポリシー名]** と **[説明]** (オプション) を入力します。[**このポリシーで定義されているアクセス許可**] を確認し、意図したアクセス許可を付与したことを確認します。

1. (オプション) タグをキーと 値のペアとしてアタッチして、メタデータをポリシーに追加します。IAM でのタグの使用の詳細については、IAM *ユーザーガイド*の[AWS Identity and Access Management 「リソースのタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)」を参照してください。

1. **[ポリシーを作成]** をクリックして、新しいポリシーを保存します。

**プログラム的なアクセス権を付与するには**

ユーザーが の AWS 外部で を操作する場合は、プログラムによるアクセスが必要です AWS マネジメントコンソール。プログラムによるアクセスを許可する方法は、 がアクセスするユーザーのタイプによって異なります AWS。

ユーザーにプログラムによるアクセス権を付与するには、以下のいずれかのオプションを選択します。


****  

| プログラムによるアクセス権を必要とするユーザー | 目的 | 方法 | 
| --- | --- | --- | 
| IAM | (推奨) コンソール認証情報を一時的な認証情報として使用して AWS CLI、、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/assign-permissions.html)  | 
|  ワークフォースアイデンティティ (IAM アイデンティティセンターで管理されているユーザー)  | 一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/assign-permissions.html)  | 
| IAM | 一時的な認証情報を使用して AWS CLI、、 AWS SDKs、または AWS APIs。 | 「IAM [ユーザーガイド」の「 AWS リソースでの一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)の使用」の手順に従います。 | 
| IAM | (非推奨)長期認証情報を使用して、 AWS CLI、 AWS SDKs、または AWS APIs。 |  使用するインターフェイスの指示に従ってください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/assign-permissions.html)  | 

## 攻撃者からの保護
<a name="protect"></a>

他の AWS サービスプリンシパルにアクセス許可を付与するときに攻撃者から保護する方法の詳細については、[「ロールの信頼関係のオプション条件](https://docs.aws.amazon.com//controltower/latest/userguide/conditions-for-role-trust.html)」を参照してください。ポリシーに特定の条件を追加することで、混乱した代理攻撃と呼ばれる特定のタイプの攻撃を防ぐことができます。これは、クロスサービス偽装など、エンティティが、より特権のあるエンティティにアクションを実行させる場合に発生します。**ポリシー条件に関する一般的な情報については、「[ポリシーでの条件の指定](access-control-overview.md#specifying-conditions)」も参照してください。

AWS Control Tower でアイデンティティベースのポリシーを使用する場合の詳細については、「[AWS Control Tower でアイデンティティベースのポリシー (IAM ポリシー) を使用する](access-control-managing-permissions.md)」を参照してください。ユーザー、グループ、ロール、アクセス許可の詳細については、「IAM ユーザーガイド」の「[アイデンティティ (ユーザー、グループ、ロール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)」を参照してください。**

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

Simple Storage Service (Amazon S3) などの他のサービスでは、リソースベースの許可ポリシーもサポートされています。例えば、ポリシーを S3 バケットにアタッチして、そのバケットに対するアクセス許可を管理できます。AWS Control Tower では、リソースベースのポリシーはサポートされていません。