

# Amazon CloudFront のアイデンティティとアクセス管理
<a name="security-iam"></a>





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

**Topics**
+ [対象者](#security_iam_audience)
+ [アイデンティティによる認証](#security_iam_authentication)
+ [ポリシーを使用したアクセス権の管理](#security_iam_access-manage)
+ [Amazon CloudFront と IAM との連携方法](security_iam_service-with-iam.md)
+ [Amazon CloudFront のアイデンティティベースのポリシー例](security_iam_id-based-policy-examples.md)
+ [AWSAmazon CloudFront の 管理ポリシー](security-iam-awsmanpol.md)
+ [CloudFront のサービスリンクロールを使用する](using-service-linked-roles.md)
+ [Amazon CloudFront のアイデンティティとアクセスのトラブルシューティング](security_iam_troubleshoot.md)

## 対象者
<a name="security_iam_audience"></a>

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

## アイデンティティによる認証
<a name="security_iam_authentication"></a>

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

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

プログラムによるアクセスの場合、AWS はリクエストに暗号で署名するための SDK と CLI を提供します。詳細については、「*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 つのサインイン ID を使用して開始します。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、「*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 プロバイダー、Directory Service のユーザーであり、ID ソースからの認証情報を使用して 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 ユーザーガイド*」の「[人間のユーザーが一時的な認証情報を使用して AWS にアクセスするには ID プロバイダーとのフェデレーションの使用が必要です](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 ロール (コンソール) に切り替える](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)、または AWS CLI や AWS API オペレーションを呼び出すことで、ロールを引き受けることができます。詳細については、「*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 でアクセスを制御するには、ポリシーを作成して AWS ID またはリソースにアタッチします。ポリシーは、アイデンティティやリソースとの関連付けに伴うアクセス許可を定義します。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) を参照してください。

# Amazon CloudFront と IAM との連携方法
<a name="security_iam_service-with-iam"></a>

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






**Amazon CloudFront で利用できる IAM の機能**  

| IAM 機能 | CloudFront サポート | 
| --- | --- | 
|  [アイデンティティベースのポリシー](#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)  |   はい  | 

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

## CloudFront のアイデンティティベースのポリシー
<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)」を参照してください。

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



CloudFront のアイデンティティベースのポリシー例については、「[Amazon CloudFront のアイデンティティベースのポリシー例](security_iam_id-based-policy-examples.md)」を参照してください。

## CloudFront 内のリソースベースのポリシー
<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)を参照してください。

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

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

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

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



CloudFront アクションのリストを確認するには、「サービス認証リファレンス」の「[Actions defined by Amazon CloudFront](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudfront.html#amazoncloudfront-actions-as-permissions)」を参照してください。**

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

```
cloudfront
```

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

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





CloudFront のアイデンティティベースのポリシーの例については、「[Amazon CloudFront のアイデンティティベースのポリシー例](security_iam_id-based-policy-examples.md)」を参照してください。

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

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

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

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

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

CloudFront リソースのタイプとその ARN のリストを確認するには、「サービス認証リファレンス」の「[Resources defined by Amazon CloudFront](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudfront.html#amazoncloudfront-resources-for-iam-policies)」を参照してください。**どのアクションで各リソースの ARN を指定できるかについては、「[Amazon CloudFront で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudfront.html#amazoncloudfront-actions-as-permissions)」を参照してください。





CloudFront のアイデンティティベースのポリシーの例については、「[Amazon CloudFront のアイデンティティベースのポリシー例](security_iam_id-based-policy-examples.md)」を参照してください。

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

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

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

`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)を参照してください。

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

CloudFront のアイデンティティベースのポリシー例については、「[Amazon CloudFront のアイデンティティベースのポリシー例](security_iam_id-based-policy-examples.md)」を参照してください。

## CloudFront の ACL
<a name="security_iam_service-with-iam-acls"></a>

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

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

## CloudFront での ABAC
<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)」を参照してください。

CloudFront は、ディストリビューション、テナント、トラストストアなどのタグをサポートする CloudFront リソースの ABAC をサポートしています。

## CloudFront での一時的な認証情報の使用
<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)」および「[IAM と連携する AWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## CloudFront の転送アクセスセッション
<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)」を参照してください。

## CloudFront のサービスロール
<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)を参照してください。

**警告**  
サービスロールのアクセス許可を変更すると、CloudFront の機能が破損する可能性があります。CloudFront が指示する場合以外は、サービスロールを編集しないでください。

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

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

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

CloudFront は、サービスリンクロールを使用してユーザーの代わりにアクションを実行します。CloudFront サービスにリンクされたロールの作成または管理の詳細については、「[CloudFront のサービスリンクロールを使用する](using-service-linked-roles.md)」を参照してください。Lambda@Edge サービスリンクロールの作成または管理の詳細については、「[Lambda@Edge 用のサービスにリンクされたロール](lambda-edge-permissions.md#using-service-linked-roles-lambda-edge)」を参照してください。

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

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

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

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

CloudFront が定義するアクションとリソースタイプ (リソースタイプごとの ARN の形式を含む) の詳細については、「サービス認証リファレンス」の「[Actions, resources, and condition keys for Amazon CloudFront](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudfront.html)」を参照してください。**

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [ユーザーが自分の権限を表示できるようにする](#security_iam_id-based-policy-examples-view-own-permissions)
+ [プログラムで CloudFront にアクセスするための許可](#security_iam_id-based-policy-examples-programmatic-access-all)
+ [CloudFront コンソールの使用に必要なアクセス許可](#security_iam_id-based-policy-examples-console-required-permissions)
+ [カスタマーマネージドポリシーの例](#security_iam_id-based-policy-examples-sdk-cli)

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

アイデンティティベースのポリシーは、アカウント内で、CloudFront リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、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 を使用して送信するように指定できます。また、CloudFormation などの特定の AWS のサービス を介して使用する場合、条件を使用してサービスアクションへのアクセスを許可することもできます。詳細については、*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) を要求する** – AWS アカウントで IAM ユーザーまたはルートユーザーを要求するシナリオがある場合は、セキュリティを強化するために 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)」を参照してください。

## ユーザーが自分の権限を表示できるようにする
<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": "*"
        }
    ]
}
```

## プログラムで CloudFront にアクセスするための許可
<a name="security_iam_id-based-policy-examples-programmatic-access-all"></a>

以下に示しているのは、アクセス権限ポリシーです。`Sid` (ステートメント ID) はオプションです。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "AllowAllCloudFrontPermissions",
         "Effect": "Allow",
         "Action": ["cloudfront:*"],
         "Resource": "*"
      }
   ]
}
```

------

ポリシーでは、すべての CloudFront オペレーションを実行するアクセス許可を付与します。これは、プログラムで CloudFront にアクセスするのに十分なアクセス許可です。コンソールを使用して CloudFront にアクセスする場合は、「[CloudFront コンソールの使用に必要なアクセス許可](#security_iam_id-based-policy-examples-console-required-permissions)」を参照してください。

各アクションを使用するアクセス許可を付与または拒否するために指定するアクションおよび ARN のリストについては、「サービス認証リファレンス」の「[Actions, resources, and condition keys for Amazon CloudFront](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudfront.html)」を参照してください。**

## CloudFront コンソールの使用に必要なアクセス許可
<a name="security_iam_id-based-policy-examples-console-required-permissions"></a>

CloudFront コンソールへのフルアクセスを許可するには、以下のアクセス許可ポリシーでアクセス許可を付与します。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "acm:ListCertificates", 
            "cloudfront:*", 
            "cloudwatch:DescribeAlarms",
            "cloudwatch:PutMetricAlarm",
            "cloudwatch:GetMetricStatistics",
            "elasticloadbalancing:DescribeLoadBalancers",
            "iam:ListServerCertificates",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "waf:GetWebACL",
            "waf:ListWebACLs"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets",
            "s3:PutBucketPolicy"
         ],
         "Resource":"arn:aws:s3:::*"
      }
   ]
}
```

------

アクセス許可が必要な理由は次のとおりです。

**`acm:ListCertificates`**  
CloudFront コンソールを使用してディストリビューションを作成および更新していて、ビューワーと CloudFront 間、または CloudFront とオリジン間で HTTPS を必須とするように CloudFront を設定するときに、ACM 証明書のリストを表示できるようにします。  
CloudFront コンソールを使用していない場合、このアクセス許可は必要ありません。

**`cloudfront:*`**  
すべての CloudFront アクションを実行できるようにします。

**`cloudwatch:DescribeAlarms` と `cloudwatch:PutMetricAlarm`**  
CloudFront コンソールで CloudWatch アラームを作成および表示できるようにします。`sns:ListSubscriptionsByTopic` と `sns:ListTopics` も参照してください。  
CloudFront コンソールを使用していない場合、これらのアクセス許可は必要ありません。

**`cloudwatch:GetMetricStatistics`**  
CloudFront コンソールで CloudWatch メトリクスを表示できるようにします。  
CloudFront コンソールを使用していない場合、このアクセス許可は必要ありません。

**`elasticloadbalancing:DescribeLoadBalancers`**  
ディストリビューションを作成および更新するときに、使用できるオリジンのリストで、Elastic Load Balancing ロードバランサーのリストを表示できるようにします。  
CloudFront コンソールを使用していない場合、このアクセス許可は必要ありません。

**`iam:ListServerCertificates`**  
CloudFront コンソールを使用してディストリビューションを作成および更新していて、ビューワーと CloudFront 間、または CloudFront とオリジン間で HTTPS を必須とするように CloudFront を設定するときに、IAM 証明書ストアで証明書のリストを表示できるようにします。  
CloudFront コンソールを使用していない場合、このアクセス許可は必要ありません。

**`s3:ListAllMyBuckets`**  
ディストリビューションを作成および更新するときに、以下のオペレーションを実行できるようにします。  
+ 使用できるオリジンのリストで S3 バケットのリストを表示する
+ アクセスログを保存できる S3 バケットのリストを表示する
CloudFront コンソールを使用していない場合、このアクセス許可は必要ありません。

**`S3:PutBucketPolicy`**  
S3 バケットへのアクセスを制限するディストリビューションを作成または更新するときに、CloudFront オリジンのアクセスアイデンティティにアクセスできるようにバケットポリシーを更新することをユーザーに許可します。詳しくは、「[オリジンアクセスアイデンティティを使用する (レガシー、非推奨)](private-content-restricting-access-to-s3.md#private-content-restricting-access-to-s3-oai)」を参照してください。  
CloudFront コンソールを使用していない場合、このアクセス許可は必要ありません。

**`sns:ListSubscriptionsByTopic` と `sns:ListTopics`**  
CloudFront コンソールで CloudWatch アラームを作成するときに、通知用の SNS トピックを選択できるようにします。  
CloudFront コンソールを使用していない場合、これらのアクセス許可は必要ありません。

**`waf:GetWebACL` と `waf:ListWebACLs`**  
CloudFront コンソールで AWS WAF ウェブ ACL のリストを表示できるようにします。  
CloudFront コンソールを使用していない場合、これらのアクセス許可は必要ありません。

### CloudFront コンソールのアクセス許可のみのアクション
<a name="console-only-actions"></a>

[[CloudFront Security Savings Bundle]](https://console.aws.amazon.com//cloudfront/v3/home#/savings-bundle/overview) ページで以下の CloudFront アクションを実行できます。以下の API アクションは、コードで呼び出すことを意図したものではなく、AWS CLI と AWS SDK には含まれていません。


****  

| アクション | 説明 | 
| --- | --- | 
|  `CreateSavingsPlan`  |  新しい Savings Plans を作成するアクセス許可を付与します。  | 
|   `GetSavingsPlan`   |  Savings Plans を取得するアクセス許可を付与します。  | 
|  `ListRateCards`  |  アカウントの CloudFront レートカードを一覧表示するアクセス許可を付与します。  | 
|   `ListSavingsPlans`   |  アカウント内の Savings Plans を一覧表示するアクセス許可を付与します。  | 
|   `ListUsages`   |  CloudFront の使用状況を一覧表示するアクセス許可を付与します。  | 
|   `UpdateSavingsPlan`   |  Savings Plans を更新するアクセス許可を付与します。  | 

**注意事項**  
CloudFront Savings Plans の詳細については、「[Amazon CloudFront についてのよくある質問](https://aws.amazon.com/cloudfront/faqs/)」の「CloudFront Security Savings Bundle」セクションを参照してください。
CloudFront の Savings Plans を作成し、後で削除する場合は、[AWS サポート](https://console.aws.amazon.com/support/home#/case/create?issueType=customer-service)にお問い合わせください。

## カスタマーマネージドポリシーの例
<a name="security_iam_id-based-policy-examples-sdk-cli"></a>

独自のカスタム IAM ポリシーを作成して、CloudFront API アクションに対するアクセス許可を付与できます。これらのカスタムポリシーは、指定されたアクセス許可が必要な IAM ユーザーまたはグループにアタッチできます。これらのポリシーは、CloudFront API、AWS SDK、または AWS CLI を使用しているときに機能します。次の例では、いくつかの一般的ユースケースのアクセス権限を示します。CloudFront へのフルアクセスをユーザーに許可するポリシーについては、「[CloudFront コンソールの使用に必要なアクセス許可](#security_iam_id-based-policy-examples-console-required-permissions)」を参照してください。

**Topics**
+ [例 1: すべてのディストリビューションへの読み取りアクセスを許可する](#security_iam_id-based-policy-examples-allow-read-all-distributions)
+ [例 2: ディストリビューションの作成、更新、削除を許可する](#security_iam_id-based-policy-examples-allow-create-update-delete-distributions)
+ [例 3: 無効化の作成と一覧表示を許可する](#security_iam_id-based-policy-examples-allow-create-list-invalidations)
+ [例 4: ディストリビューションの作成を許可する](#create-distribution-iam-policy)

### 例 1: すべてのディストリビューションへの読み取りアクセスを許可する
<a name="security_iam_id-based-policy-examples-allow-read-all-distributions"></a>

以下のアクセス許可ポリシーでは、CloudFront コンソールですべてのディストリビューションを表示するアクセス許可をユーザーに付与します。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "acm:ListCertificates", 
            "cloudfront:GetDistribution",
            "cloudfront:GetDistributionConfig",
            "cloudfront:ListDistributions",
            "cloudfront:ListCloudFrontOriginAccessIdentities",
            "elasticloadbalancing:DescribeLoadBalancers",
            "iam:ListServerCertificates",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "waf:GetWebACL",
            "waf:ListWebACLs"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets"
         ],
         "Resource":"arn:aws:s3:::*"
      }
   ]
}
```

------

### 例 2: ディストリビューションの作成、更新、削除を許可する
<a name="security_iam_id-based-policy-examples-allow-create-update-delete-distributions"></a>

以下のアクセス許可ポリシーでは、CloudFront コンソールを使用して、ディストリビューションを作成、更新、削除することをユーザーに許可します。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "acm:ListCertificates", 
            "cloudfront:CreateDistribution",
            "cloudfront:DeleteDistribution",
            "cloudfront:GetDistribution",
            "cloudfront:GetDistributionConfig",
            "cloudfront:ListDistributions",
            "cloudfront:UpdateDistribution",
            "cloudfront:ListCloudFrontOriginAccessIdentities",
            "elasticloadbalancing:DescribeLoadBalancers",
            "iam:ListServerCertificates",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "waf:GetWebACL",
            "waf:ListWebACLs"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets",
            "s3:PutBucketPolicy"
         ],
         "Resource":"arn:aws:s3:::*"
      }
   ]
}
```

------

`cloudfront:ListCloudFrontOriginAccessIdentities` アクセス許可では、ユーザーは、Amazon S3 バケットのオブジェクトを操作するアクセス許可が既存のオリジンアクセスアイデンティティに自動的に付与されるようにできます。また、ユーザーがオリジンアクセスアイデンティティを作成できるようにする場合は、`cloudfront:CreateCloudFrontOriginAccessIdentity` アクセス権限も許可する必要があります。

### 例 3: 無効化の作成と一覧表示を許可する
<a name="security_iam_id-based-policy-examples-allow-create-list-invalidations"></a>

次のアクセス権限ポリシーでは、ユーザーが無効化を作成し、一覧表示できるようにします。これに CloudFront ディストリビューションへの読み取りアクセスが含まれているのは、最初にディストリビューション用の設定を表示して、無効化を作成および表示するためです。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "acm:ListCertificates", 
            "cloudfront:GetDistribution",
            "cloudfront:GetStreamingDistribution",
            "cloudfront:GetDistributionConfig",
            "cloudfront:ListDistributions",
            "cloudfront:ListCloudFrontOriginAccessIdentities",
            "cloudfront:CreateInvalidation",
            "cloudfront:GetInvalidation",
            "cloudfront:ListInvalidations",
            "elasticloadbalancing:DescribeLoadBalancers",
            "iam:ListServerCertificates",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "waf:GetWebACL",
            "waf:ListWebACLs"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets"
         ],
         "Resource":"arn:aws:s3:::*"
      }
   ]
}
```

------

### 例 4: ディストリビューションの作成を許可する
<a name="create-distribution-iam-policy"></a>

次のアクセス許可ポリシーでは、CloudFront コンソールでディストリビューションを作成して表示するためのアクセス許可をユーザーに付与します。`CreateDistribution` アクションでは、ディストリビューション ARN (`arn:aws:cloudfront::123456789012:distribution/*`) のワイルドカードの代わりに、`Resource` のワイルドカード (\$1) 文字を指定します。`Resource` 要素の詳細については、「IAM ユーザーガイド」の「[IAM JSON ポリシー要素: Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)」を参照してください。**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "cloudfront:CreateDistribution",
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "cloudfront:ListDistributions",
            "Resource": "*"
        }
    ]
}
```

------







# AWSAmazon CloudFront の 管理ポリシー
<a name="security-iam-awsmanpol"></a>

ユーザー、グループ、ロールにアクセス許可を追加するには、自分でポリシーを作成するよりも、AWS 管理ポリシーを使用する方が簡単です。ユーザーに必要なアクセス許可のみを提供する [IAM カスタマー管理ポリシーを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)には、時間と専門知識が必要です。すぐに使用を開始するために、AWS マネージドポリシーを使用できます。これらのポリシーは、一般的なユースケースをターゲット範囲に含めており、AWS アカウント で利用できます。AWS マネージドポリシーの詳細については、「IAM ユーザーガイド」の[「AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

AWS のサービスはAWS マネージドポリシーを維持および更新します。AWS 管理ポリシーのアクセス許可を変更することはできません。サービスでは新しい機能を利用できるようにするために、AWS マネージドポリシーに権限が追加されることがあります。この種類の更新はポリシーがアタッチされている、すべてのアイデンティティ (ユーザー、グループおよびロール) に影響を与えます。新しい機能が立ち上げられたり、新しいアクセス許可が使用可能になったりすると、各サービスで AWS 管理ポリシーが更新される可能性が最も高くなります。各サービスでは、AWS 管理ポリシーからアクセス許可が削除されないため、ポリシーの更新によって既存のアクセス許可が破棄されることはありません。

さらに、AWS は複数のサービスにまたがるジョブ機能の特徴に対するマネージドポリシーもサポートしています。例えば、**ReadOnlyAccess** AWS マネージドポリシーではすべての AWS のサービスおよびリソースへの読み取り専用アクセスを許可します。サービスが新しい機能を起動する場合、AWS は新たなオペレーションとリソース用に、読み取り専用の許可を追加します。ジョブ関数ポリシーのリストと説明については、*IAM ユーザーガイド*の「[AWS ジョブ関数のマネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)」を参照してください。

**Topics**
+ [AWS 管理ポリシー: CloudFrontReadOnlyAccess](#security-iam-awsmanpol-cloudfront-read-only)
+ [AWS 管理ポリシー: CloudFrontFullAccess](#security-iam-awsmanpol-cloudfront-full-access)
+ [AWS 管理ポリシー: AWSCloudFrontLogger](#security-iam-awsmanpol-cloudfront-logger)
+ [AWS 管理ポリシー: AWSLambdaReplicator](#security-iam-awsmanpol-lambda-replicator)
+ [AWS マネージドポリシー: AWSCloudFrontVPCOriginServiceRolePolicy](#security-iam-awsmanpol-vpc-origin)
+ [CloudFront による AWS 管理ポリシーの更新](#security-iam-awsmanpol-updates)







## AWS 管理ポリシー: CloudFrontReadOnlyAccess
<a name="security-iam-awsmanpol-cloudfront-read-only"></a>

IAM ID に **CloudFrontReadOnlyAccess** ポリシーをアタッチできます。このポリシーでは CloudFront リソースへの読み取り専用アクセス許可が許可されます。また、CloudFront に関連し、CloudFront コンソールに表示される他の AWS サービスのリソースへの読み取り専用アクセスも許可されます。

**権限の詳細**

このポリシーには、以下のアクセス許可が含まれています。
+ `cloudfront:Describe*` - プリンシパルが CloudFront リソースに関するメタデータに関する情報を取得できるようにします。
+ `cloudfront:Get*` - プリンシパルが CloudFront リソースの詳細情報と設定を取得できるようにします。
+ `cloudfront:List*` - プリンシパルが CloudFront リソースのリストを取得できるようにします。
+ `cloudfront-keyvaluestore:Describe*` - プリンシパルに、キーバリューストアに関する情報の取得を許可します。
+ `cloudfront-keyvaluestore:Get*` - プリンシパルに、キーバリューストアの詳細情報や設定の取得を許可します。
+ `cloudfront-keyvaluestore:List*` - プリンシパルに、キーバリューストアのリストの取得を許可します。
+ `acm:DescribeCertificate` — プリンシパルが ACM 証明書についての詳細の取得を許可します。
+ `acm:ListCertificates` - プリンシパルが ACM 証明書のリストを取得できるようにします。
+ `iam:ListServerCertificates` - プリンシパルが IAM に格納されるサーバー証明書のリストを許可できるようにします。
+ `route53:List*` - プリンシパルが Route 53 リソースのリストを取得できるようにします。
+ `waf:ListWebACLs` - プリンシパルが のウェブ ACL のリストを取得できるようにします。AWS WAF
+ `waf:GetWebACL` - プリンシパルが のウェブ ACL に関する詳細情報を取得できるようにします。AWS WAF
+ `wafv2:ListWebACLs` - プリンシパルが のウェブ ACL のリストを取得できるようにします。AWS WAF
+ `wafv2:GetWebACL` - プリンシパルが のウェブ ACL に関する詳細情報を取得できるようにします。AWS WAF
+ `pricingplanmanager:GetSubscription` - プリンシパルに料金プランのサブスクリプションに関する詳細を取得するための読み取り専用アクセスを与えます。
+ `pricingplanmanager:ListSubscriptions` - プリンシパルに料金プランのサブスクリプションを一覧表示するための読み取り専用アクセスを与えます。
+ `ec2:DescribeIpamPools` - プリンシパルが IPAM プールに関する詳細情報を取得することを許可します。
+ `ec2:GetIpamPoolCidrs` - プリンシパルが IPAM プールにプロビジョニングされた CIDR を取得することを許可します。

このポリシーのアクセス許可を確認するには、「*AWS Managed Policy Reference*」の「[CloudFrontReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudFrontReadOnlyAccess.html)」を参照してください。

## AWS 管理ポリシー: CloudFrontFullAccess
<a name="security-iam-awsmanpol-cloudfront-full-access"></a>

IAM ID に **CloudFrontFullAccess** ポリシーをアタッチできます。このポリシーでは、CloudFront リソースに対する管理アクセス許可が許可されます。また、CloudFront に関連し、CloudFront コンソールに表示される他の AWS サービスのリソースへの読み取り専用アクセスも許可されます。

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

このポリシーには、以下のアクセス許可が含まれています。
+ `s3:ListAllMyBuckets` - プリンシパルが、すべての Amazon S3 バケットのリストを取得できるようにします。
+ `acm:DescribeCertificate` — プリンシパルが ACM 証明書についての詳細の取得を許可します。
+ `acm:ListCertificates` - プリンシパルが ACM 証明書のリストを取得できるようにします。
+ `acm:RequestCertificate` – プリンシパルが ACM からのマネージド証明書のリクエストを許可します。
+ `cloudfront:*` - プリンシパルが、すべての CloudFront リソースに対してすべてのアクションを実行できるようにします。
+ `cloudfront-keyvaluestore:*` - プリンシパルに、キーバリューストアに対するすべてのアクションの実行を許可します。
+ `iam:ListServerCertificates` - プリンシパルが IAM に格納されるサーバー証明書のリストを許可できるようにします。
+ `waf:ListWebACLs` - プリンシパルが のウェブ ACL のリストを取得できるようにします。AWS WAF
+ `waf:GetWebACL` - プリンシパルが のウェブ ACL に関する詳細情報を取得できるようにします。AWS WAF
+ `waf:CreateWebACLs` - プリンシパルが AWS WAF でウェブ ACL を作成することを許可します。
+ `wafv2:ListWebACLs` - プリンシパルが のウェブ ACL のリストを取得できるようにします。AWS WAF
+ `wafv2:GetWebACL` - プリンシパルが のウェブ ACL に関する詳細情報を取得できるようにします。AWS WAF
+ `kinesis:ListStreams` - プリンシパルが Amazon Kinesis ストリームのリストを取得できるようにします。
+ `elasticloadbalancing:DescribeLoadBalancers` - プリンシパルが Elastic Load Balancing のロードバランサーに関する詳細情報を取得することを許可します。
+ `kinesis:DescribeStream` - プリンシパルが Kinesis ストリームに関する詳細情報を取得できるようにします。
+ `iam:ListRoles` - プリンシパルが IAM のロールのリストを取得できるようにします。
+ `pricingplanmanager:AssociateResourcesToSubscription` - プリンシパルがサブスクリプションにリソースを関連付けることを許可します。これにより、リソースはサブスクリプションの料金プランの対象になります。
+ `pricingplanmanager:CancelSubscription` - プリンシパルが既存のサブスクリプションをキャンセルすることを許可します。
+ `pricingplanmanager:CancelSubscriptionChange` - プリンシパルが、変更が適用される前に、プランのアップグレードなど、既存のサブスクリプションへの保留中の変更をキャンセルすることを許可します。
+ `pricingplanmanager:CreateSubscription` - プリンシパルが料金プランのサブスクリプションを作成することを許可します。
+ `pricingplanmanager:DisassociateResourcesFromSubscription` - プリンシパルがリソースと既存のサブスクリプション間の関連付けを削除することを許可します。
+ `pricingplanmanager:UpdateSubscription` - プリンシパルが料金プランの変更など、既存のサブスクリプションの変更をすることを許可します。
+ `pricingplanmanager:GetSubscription` - プリンシパルに料金プランのサブスクリプションに関する詳細を取得するための読み取り専用アクセスを与えます。
+ `pricingplanmanager:ListSubscriptions` - プリンシパルに料金プランのサブスクリプションを一覧表示するための読み取り専用アクセスを与えます。
+ `ec2:DescribeInstances` – プリンシパルが Amazon EC2 インスタンスに関する詳細情報を取得することを許可します。
+ `ec2:DescribeInternetGateways` - プリンシパルが Amazon EC2 のインターネットゲートウェイに関する詳細情報を取得することを許可します。
+ `ec2:DescribeIpamPools` - プリンシパルが IPAM プールに関する詳細情報を取得することを許可します。
+ `ec2:GetIpamPoolCidrs` - プリンシパルが IPAM プールにプロビジョニングされた CIDR を取得することを許可します。

このポリシーのアクセス許可を確認するには、「*AWS Managed Policy Reference*」の「[CloudFrontFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudFrontFullAccess.html)」を参照してください。

**重要**  
CloudFront でアクセスログを作成および保存するには、追加のアクセス許可を付与する必要があります。詳細については、「[アクセス許可](standard-logging-legacy-s3.md#AccessLogsBucketAndFileOwnership)」を参照してください。

## AWS 管理ポリシー: AWSCloudFrontLogger
<a name="security-iam-awsmanpol-cloudfront-logger"></a>

IAM ID に **AWSCloudFrontLogger** ポリシーをアタッチすることはできません。このポリシーは、CloudFront がユーザーに代わってアクションを実行できるようにする、サービスにリンクされたロールにアタッチされます。詳細については、「[Lambda@Edge 用のサービスにリンクされたロール](lambda-edge-permissions.md#using-service-linked-roles-lambda-edge)」を参照してください。

このポリシーにより、CloudFront が Amazon CloudWatch にログファイルをプッシュできるようになります。このポリシーに含まれるアクセス許可の詳細については、「[CloudFront ロガー用のサービスにリンクされたロールのアクセス許可](lambda-edge-permissions.md#slr-permissions-cloudfront-logger)」を参照してください。

このポリシーのアクセス許可を確認するには、「*AWS Managed Policy Reference*」の「[AWSCloudFrontLogger](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloudFrontLogger.html)」を参照してください。

## AWS 管理ポリシー: AWSLambdaReplicator
<a name="security-iam-awsmanpol-lambda-replicator"></a>

IAM ID に **AWSLambdaReplicator** ポリシーをアタッチすることはできません。このポリシーは、CloudFront がユーザーに代わってアクションを実行できるようにする、サービスにリンクされたロールにアタッチされます。詳細については、「[Lambda@Edge 用のサービスにリンクされたロール](lambda-edge-permissions.md#using-service-linked-roles-lambda-edge)」を参照してください。

このポリシーにより、CloudFront が AWS Lambda の関数を作成、削除、無効化して AWS リージョン に Lambda@Edge 関数をレプリケートできるようになります。このポリシーに含まれるアクセス許可の詳細については、「[Lambda Replicator 用のサービスにリンクされたロールのアクセス許可](lambda-edge-permissions.md#slr-permissions-lambda-replicator)」を参照してください。

このポリシーのアクセス許可を確認するには、「*AWS Managed Policy Reference*」の「[AWSLambdaReplicator](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaReplicator.html)」を参照してください。

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

IAM エンティティに **AWSCloudFrontVPCOriginServiceRolePolicy** ポリシーをアタッチすることはできません。このポリシーは、CloudFront がユーザーに代わってアクションを実行できるようにする、サービスにリンクされたロールにアタッチされます。詳細については、「[CloudFront のサービスリンクロールを使用する](using-service-linked-roles.md)」を参照してください。

このポリシーは、CloudFront がユーザーに代わって EC2 Elastic Network Interface とセキュリティグループを管理することを許可します。このポリシーに含まれるアクセス許可の詳細については、「[CloudFront VPC オリジン用のサービスリンクロールのアクセス許可](using-service-linked-roles.md#slr-permissions)」を参照してください。

このポリシーのアクセス許可を確認するには、「*AWS Managed Policy Reference*」の「[AWSCloudFrontVPCOriginServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloudFrontVPCOriginServiceRolePolicy.html)」を参照してください。

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

CloudFront の AWS 管理ポリシーの更新に関する詳細を、このサービスがこれらの変更の追跡を開始した以降の分について表示します。このページへの変更に関する自動通知については、CloudFront [ドキュメントの履歴](WhatsNew.md)ページの RSS フィードを購読してください。




| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
|  [CloudFrontReadOnlyAccess](#security-iam-awsmanpol-cloudfront-read-only) – 既存のポリシーの更新  |  CloudFront は Amazon EC2 の新しいアクセス許可を追加しました。 新しいアクセス許可により、プリンシパルは `ec2:DescribeIpamPools` および `ec2:GetIpamPoolCidrs` アクションを使用できます。  | 2025 年 11 月 24 日 | 
|  [CloudFrontFullAccess](#security-iam-awsmanpol-cloudfront-full-access) – 既存のポリシーの更新  |  CloudFront は Amazon EC2 の新しいアクセス許可を追加しました。 新しいアクセス許可により、プリンシパルは `ec2:DescribeIpamPools` および `ec2:GetIpamPoolCidrs` アクションを使用できます。  | 2025 年 11 月 24 日 | 
|  [CloudFrontFullAccess](#security-iam-awsmanpol-cloudfront-full-access) – 既存のポリシーの更新  |  CloudFront は、AWS WAF ACL リソースを作成する新しいアクセス許可を追加し、作成、更新、削除、読み取りのアクセス許可を AWS Pricing Plan Manager に追加しました。  | 2025 年 11 月 18 日 | 
|  [CloudFrontFullAccess](#security-iam-awsmanpol-cloudfront-full-access) – 既存のポリシーの更新  |  CloudFront は、AWS WAF ACL リソースを作成する新しいアクセス許可を追加し、作成、更新、削除、読み取りのアクセス許可を AWS Pricing Plan Manager に追加しました。  | 2025 年 11 月 18 日 | 
|  [CloudFrontReadOnlyAccess](#security-iam-awsmanpol-cloudfront-read-only) – 既存のポリシーの更新  |  CloudFront は、AWS Pricing Plan Manager への読み取り専用アクセスのための新しいアクセス許可を追加しました。  | 2025 年 11 月 18 日 | 
|  [CloudFrontReadOnlyAccess](#security-iam-awsmanpol-cloudfront-read-only) – 既存のポリシーの更新  |  CloudFront は、AWS Pricing Plan Manager への読み取り専用アクセスのための新しいアクセス許可を追加しました。  | 2025 年 11 月 18 日 | 
|  [CloudFrontReadOnlyAccess](#security-iam-awsmanpol-cloudfront-read-only) – 既存のポリシーの更新  |  CloudFront が ACM の新しいアクセス許可を追加しました。 新しいアクセス許可により、プリンシパルは ACM 証明書の詳細を取得できます。  | 2025 年 4 月 28 日 | 
|  [CloudFrontFullAccess](#security-iam-awsmanpol-cloudfront-full-access) – 既存のポリシーの更新  |  CloudFront は ACM の新しいアクセス許可を追加しました。 新しいアクセス許可により、プリンシパルは ACM 証明書についての詳細を取得し、ACM からのマネージド証明書をリクエストできます。  | 2025 年 4 月 28 日 | 
|  [CloudFrontFullAccess](#security-iam-awsmanpol-cloudfront-full-access) – 既存のポリシーの更新  |  CloudFront は、Amazon EC2 と Elastic Load Balancing の新しいアクセス許可を追加しました。 新しいアクセス許可により、CloudFront は Elastic Load Balancing のロードバランサー、Amazon EC2 のインスタンスとインターネットゲートウェイに関する詳細情報を取得できます。  | 2024 年 11 月 20 日 | 
|  [AWSCloudFrontVPCOriginServiceRolePolicy](#security-iam-awsmanpol-vpc-origin) – 新しいポリシー  |  CloudFront は新しいポリシーを追加しました。 このポリシーは、CloudFront がユーザーに代わって EC2 Elastic Network Interface とセキュリティグループを管理することを許可します。  | 2024 年 11 月 20 日 | 
|  [CloudFrontReadOnlyAccess](#security-iam-awsmanpol-cloudfront-read-only) と [CloudFrontFullAccess](#security-iam-awsmanpol-cloudfront-full-access) - 2 つの既存のポリシーに対する更新  |  CloudFront はキーバリューストアに対する新しいアクセス許可を追加しました。 新しいアクセス許可により、ユーザーはキーバリューストアに関する情報を取得し、キーバリューストアにアクションを実行できます。  | 2023 年 12 月 19 日 | 
|  [CloudFrontReadOnlyAccess](#security-iam-awsmanpol-cloudfront-read-only) – 既存ポリシーへの更新  |  CloudFront に CloudFront Functions を記述するためのアクセス許可が新たに追加されました。 このアクセス許可により、ユーザー、グループ、またはロールは関数に関する情報とメタデータを読み取ることができます。ただし、関数のコードを読み取ることはできません。  | 2021 年 9 月 8 日 | 
|  CloudFront が変更の追跡を開始しました  |  CloudFront が AWS 管理ポリシーの変更の追跡を開始しました。  | 2021 年 9 月 8 日 | 

# CloudFront のサービスリンクロールを使用する
<a name="using-service-linked-roles"></a>

Amazon CloudFront は AWS Identity and Access Management (IAM) [サービスリンクロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用します。サービスリンクロールは、CloudFront に直接リンクされた一意のタイプの IAM ロールです。サービスリンクロールは、CloudFront によって事前定義されており、ユーザーの代わりにサービスから他の AWS のサービスを呼び出すために必要なすべてのアクセス許可が含まれています。

サービスリンクロールを使用すると、必要なアクセス許可を手動で追加する必要がなくなるため、CloudFront の設定が簡単になります。CloudFront は、サービスリンクロールのアクセス許可を定義します。別に定義されている場合を除き、CloudFront のみがそのロールを引き受けることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

サービスリンクロールを削除するには、最初に関連リソースを削除する必要があります。これにより、リソースへのアクセス許可を誤って削除することがなくなり、CloudFront リソースが保護されます。

サービスにリンクされたロールをサポートする他のサービスについては、「[IAM と連動する AWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照し、**[サービスにリンクされたロール]** 列内で **[はい]** と表記されたサービスを確認してください。サービスリンクロールに関するドキュメントをサービスで表示するには、リンクで **[はい]** を選択します。

## CloudFront VPC オリジン用のサービスリンクロールのアクセス許可
<a name="slr-permissions"></a>

CloudFront VPC オリジンは、**AWSServiceRoleForCloudFrontVPCOrigin** という名前のサービスリンクロールを使用します。このロールは、CloudFront がユーザーに代わって EC2 Elastic Network Interface とセキュリティグループを管理することを許可します。

AWSServiceRoleForCloudFrontVPCOrigin サービスリンクロールは、以下のサービスを信頼してロールを引き受けます。
+ `vpcorigin.cloudfront.amazonaws.com`

AWSCloudFrontVPCOriginServiceRolePolicy という名前のロールアクセス許可ポリシーは、指定したリソースに対して以下のアクションを実行することを CloudFront VPC オリジンに許可します。
+ アクション: `ec2:CreateNetworkInterface`。対象リソース: `arn:aws:ec2:*:*:network-interface/*`
+ アクション: `ec2:CreateNetworkInterface`。対象リソース: `arn:aws:ec2:*:*:subnet/*`、`arn:aws:ec2:*:*:security-group/*`
+ アクション: `ec2:CreateSecurityGroup`。対象リソース: `arn:aws:ec2:*:*:security-group/*`
+ アクション: `ec2:CreateSecurityGroup`。対象リソース: `arn:aws:ec2:*:*:vpc/*`
+ アクション: `ec2:ModifyNetworkInterfaceAttribute`、`ec2:DeleteNetworkInterface`、`ec2:DeleteSecurityGroup`、`ec2:AssignIpv6Addresses`、`ec2:UnassignIpv6Addresses`。対象リソース: `supported AWS resources that have the aws:ResourceTag/aws.cloudfront.vpcorigin tag enabled`
+ アクション: `ec2:DescribeNetworkInterfaces`、`ec2:DescribeSecurityGroups`、`ec2:DescribeInstances`、`ec2:DescribeInternetGateways`、`ec2:DescribeSubnets`、`ec2:DescribeRegions`、`ec2:DescribeAddresses`。対象リソース: `all AWS resources that the actions support`
+ アクション: `ec2:CreateTags`。対象リソース: `arn:aws:ec2:*:*:security-group/*`、`arn:aws:ec2:*:*:network-interface/*`
+ アクション: `elasticloadbalancing:DescribeLoadBalancers`、`elasticloadbalancing:DescribeListeners`、`elasticloadbalancing:DescribeTargetGroups`。対象リソース: `all AWS resources that the actions support`

ユーザー、グループ、またはロールにサービスリンクロールの作成、編集、または削除を許可するには、アクセス許可を設定する必要があります。詳細については*IAM ユーザーガイド* の「[サービスにリンクされた役割のアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

## CloudFront VPC オリジンのサービスリンクロールを作成する
<a name="create-slr"></a>

サービスリンクロールを手動で作成する必要はありません。VPC オリジンを AWS マネジメントコンソール、AWS CLI、または AWS API で作成すると、CloudFront VPC オリジンがサービスリンクロールを自動的に作成します。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。VPC オリジンを作成すると、CloudFront VPC オリジンがサービスリンクロールを自動的に再作成します。

## CloudFront VPC オリジンのサービスリンクロールを編集する
<a name="edit-slr"></a>

CloudFront VPC オリジンは、AWSServiceRoleForCloudFrontVPCOrigin サービスリンクロールの編集を許可しません。サービスリンクロールの作成後は、さまざまなエンティティがロールを参照する可能性があるため、ロール名を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

## CloudFront VPC オリジンのサービスリンクロールを削除する
<a name="delete-slr"></a>

サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールのリソースをクリーンアップする必要があります。

**注記**  
リソースを削除する際に、CloudFront サービスでロールを使用中である場合、削除は失敗することがあります。失敗した場合は数分待ってから操作を再試行してください。

**AWSServiceRoleForCloudFrontVPCOrigin で使用している CloudFront VPC オリジンリソースを削除するには**
+ アカウントの VPC オリジンリソースを削除します。
  + CloudFront がアカウントからのリソースの削除を完了するまでに時間がかかる場合があります。サービスリンクロールをすぐに削除できない場合は、しばらく待ってから再度試してください。

**IAM を使用してサービスリンクロールを手動で削除するには**

IAM コンソール、AWS CLI、または AWS API を使用して、AWSServiceRoleForCloudFrontVPCOrigin サービスリンクロールを削除します。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」を参照してください。

## CloudFront VPC オリジンのサービスリンクロールでサポートされているリージョン
<a name="slr-regions"></a>

CloudFront VPC オリジンは、サービスが利用可能なすべてのリージョンでサービスリンクロールの使用をサポートしているわけではありません。以下のリージョンでは、AWSServiceRoleForCloudFrontVPCOrigin ロールを使用できます。


| リージョン名 | リージョン識別子 | CloudFront でのサポート | 
| --- | --- | --- | 
| 米国東部 (バージニア北部) | us-east-1 | はい | 
| 米国東部 (オハイオ) | us-east-2 | はい | 
| 米国西部 (北カリフォルニア) | us-west-1 (AZ usw1-az2 を除く） | はい | 
| 米国西部 (オレゴン)  | us-west-2 | はい | 
| アフリカ (ケープタウン) | af-south-1 | はい | 
| アジアパシフィック (香港) | ap-east-1 | はい | 
| アジアパシフィック (ジャカルタ) | ap-southeast-3 | はい | 
| アジアパシフィック (メルボルン) | ap-southeast-4 | はい | 
| アジアパシフィック (ムンバイ) | ap-south-1 | はい | 
| アジアパシフィック (ハイデラバード) | ap-south-2 | はい | 
| アジアパシフィック (大阪) | ap-northeast-3 | はい | 
| アジアパシフィック (ソウル) | ap-northeast-2 | はい | 
| アジアパシフィック (シンガポール) | ap-southeast-1 | はい | 
| アジアパシフィック (シドニー) | ap-southeast-2 | はい | 
| アジアパシフィック (東京) | ap-northeast-1 (AZ apne1-az3 を除く） | はい | 
| カナダ (中部) | ca-central-1 (AZ cac1-az3 を除く） | はい | 
| カナダ西部 (カルガリー) | ca-west-1 | はい | 
| 欧州 (フランクフルト) | eu-central-1 | はい | 
| 欧州 (アイルランド) | eu-west-1 | はい | 
| 欧州 (ロンドン) | eu-west-2 | はい | 
| 欧州 (ミラノ) | eu-south-1 | はい | 
| 欧州 (パリ) | eu-west-3 | はい | 
| 欧州 (スペイン) | eu-south-2 | はい | 
| 欧州 (ストックホルム) | eu-north-1 | はい | 
| 欧州 (チューリッヒ) | eu-central-2 | はい | 
| イスラエル (テルアビブ) | il-central-1 | はい | 
| 中東 (バーレーン) | me-south-1 | はい | 
| 中東 (アラブ首長国連邦) | me-central-1 | はい | 
| 南米 (サンパウロ) | sa-east-1 | はい | 

# Amazon CloudFront のアイデンティティとアクセスのトラブルシューティング
<a name="security_iam_troubleshoot"></a>

以下の情報は、CloudFront と IAM の使用時に発生する可能性がある一般的な問題の診断や修復に役立ちます。

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

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

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

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

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

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

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

## iam: PassRole を実行する権限がない
<a name="security_iam_troubleshoot-passrole"></a>

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

一部の AWS のサービス では、新しいサービスロールやサービスリンクロールを作成せずに、既存のロールをサービスに渡すことができます。そのためには、サービスにロールを渡すアクセス許可が必要です。

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

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

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

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

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

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

詳細については、以下を参照してください。
+ CloudFront でこれらの機能がサポートされているかどうかを確認するには、「[Amazon CloudFront と IAM との連携方法](security_iam_service-with-iam.md)」を参照してください。
+ 所有している 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)」を参照してください。