

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





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

**Topics**
+ [対象者](#security_iam_audience)
+ [アイデンティティによる認証](#security_iam_authentication)
+ [ポリシーを使用したアクセス権の管理](#security_iam_access-manage)
+ [AWS Lambda と IAM の連携方法](security_iam_service-with-iam.md)
+ [AWS Lambda のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)
+ [AWS Lambda の AWS マネージドポリシー](security-iam-awsmanpol.md)
+ [AWS Lambda ID とアクセスのトラブルシューティング](security_iam_troubleshoot.md)

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

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

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

IAM を使用して Lambda へのアクセスを管理する前に、Lambda で使用できる IAM 機能について学びます。




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

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

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

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



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

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

リソースベースのポリシーを Lambda 関数またはレイヤーにアタッチできます。このポリシーは、関数またはレイヤー上でアクションを実行できるプリンシパルを定義します。

リソースベースのポリシーを機能またはレイヤーにアタッチする方法については、「[Lambda でのリソースベースの IAM ポリシーの表示](access-control-resource-based.md)」を参照してください。

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

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

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

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



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

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

```
lambda
```

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

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





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

## Lambda のポリシーリソース
<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": "*"
```

Lambda リソースのタイプとその ARN のリストを確認するには、「サービス認可リファレンス」の「[AWS Lambda で定義されるリソース](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html#awslambda-resources-for-iam-policies)」を参照してください。どのアクションで各リソースの ARN を指定できるかについては、「[AWS Lambda で定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html#awslambda-actions-as-permissions)」を参照してください。





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

## Lambda のポリシー条件キー
<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)を参照してください。

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

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

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

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

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

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

Lambda リソースのタグ付けの詳細については、「[Lambda での属性ベースのアクセスコントロールの使用](attribute-based-access-control.md)」を参照してください。

## Lambda で一時的な認証情報の使用
<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)」を参照してください。

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

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

Lambda では、サービスロールは[実行ロール](lambda-intro-execution-role.md)と呼ばれます。

**警告**  
実行ロールのアクセス許可を変更すると、Lambda の機能が破損する可能性があります。

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

**サービスにリンクされたロールをサポート**： 一部

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

Lambda にはサービスにリンクされたロールはありませんが、Lambda@Edge にはあります。詳細については、「Amazon CloudFront デベロッパーガイド」の「[Lambda@Edge 用のサービスにリンクされたロール](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-edge-permissions.html#using-service-linked-roles)」を参照してください。

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

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

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

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

Lambda が定義するアクションとリソースタイプ (リソースタイプごとの ARN の形式を含む) の詳細については、「サービス認可リファレンス」の「[AWS Lambda のアクション、リソース、および条件キー](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html)」を参照してください。

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [Lambda コンソールを使用する](#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 ベースのポリシーは、ユーザーのアカウントで誰かが Lambda リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションでは、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) を参照してください。

## Lambda コンソールを使用する
<a name="security_iam_id-based-policy-examples-console"></a>

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

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

関数開発に最小限のアクセスを許可するポリシーの例については、「」を参照してください[Lambda 関数へのアクセス権をユーザーに付与する](permissions-user-function.md) Lambda API に加えて、Lambda コンソールでは他のサービスを使用して、トリガーの設定を表示し、新しいトリガーを追加できるようにします。ユーザーが他のサービスで Lambda を使用する場合は、それらのサービスにもアクセスする必要があります。Lambda を使用して他のサービスを設定する方法の詳細については、[他の AWS サービスからのイベントを使用した Lambda の呼び出し](lambda-services.md) を参照してください。

## 自分の許可の表示をユーザーに許可する
<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 Lambda の AWS マネージドポリシー
<a name="security-iam-awsmanpol"></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 マネージドポリシーに定義されているアクセス許可を更新すると、更新はポリシーがアタッチされているすべてのプリンシパルアイデンティティ (ユーザー、グループ、ロール) に影響します。新しい AWS のサービス を起動するか、既存のサービスで新しい API オペレーションが使用可能になると、AWS が AWS マネージドポリシーを更新する可能性が最も高くなります。

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

**Topics**
+ [AWS 管理ポリシー: AWSLambda\$1FullAccess](#lambda-security-iam-awsmanpol-AWSLambda_FullAccess)
+ [AWS 管理ポリシー: AWSLambda\$1ReadOnlyAccess](#lambda-security-iam-awsmanpol-AWSLambda_ReadOnlyAccess)
+ [AWS 管理ポリシー: AWSLambdaBasicExecutionRole](#lambda-security-iam-awsmanpol-AWSLambdaBasicExecutionRole)
+ [AWS マネージドポリシー: AWSLambdaBasicDurableExecutionRolePolicy](#lambda-security-iam-awsmanpol-AWSLambdaBasicDurableExecutionRolePolicy)
+ [AWS 管理ポリシー: AWSLambdaDynamoDBExecutionRole](#lambda-security-iam-awsmanpol-AWSLambdaDynamoDBExecutionRole)
+ [AWS 管理ポリシー: AWSLambdaENIManagementAccess](#lambda-security-iam-awsmanpol-AWSLambdaENIManagementAccess)
+ [AWS 管理ポリシー: AWSLambdaInvocation-DynamoDB](#lambda-security-iam-awsmanpol-AWSLambdaInvocation-DynamoDB)
+ [AWS 管理ポリシー: AWSLambdaKinesisExecutionRole](#lambda-security-iam-awsmanpol-AWSLambdaKinesisExecutionRole)
+ [AWS 管理ポリシー: AWSLambdaMSKExecutionRole](#lambda-security-iam-awsmanpol-AWSLambdaMSKExecutionRole)
+ [AWS 管理ポリシー: AWSLambdaRole](#lambda-security-iam-awsmanpol-AWSLambdaRole)
+ [AWS 管理ポリシー: AWSLambdaSQSQueueExecutionRole](#lambda-security-iam-awsmanpol-AWSLambdaSQSQueueExecutionRole)
+ [AWS 管理ポリシー: AWSLambdaVPCAccessExecutionRole](#lambda-security-iam-awsmanpol-AWSLambdaVPCAccessExecutionRole)
+ [AWS マネージドポリシー: AWSLambdaManagedEC2ResourceOperator](#lambda-security-iam-awsmanpol-AWSLambdaManagedEC2ResourceOperator)
+ [AWS マネージドポリシー: AWSLambdaServiceRolePolicy](#lambda-security-iam-awsmanpol-AWSLambdaServiceRolePolicy)
+ [Lambda での AWS マネージドポリシーの更新](#lambda-security-iam-awsmanpol-updates)

## AWS 管理ポリシー: AWSLambda\$1FullAccess
<a name="lambda-security-iam-awsmanpol-AWSLambda_FullAccess"></a>

このポリシーは Lambda アクションに対するフルアクセスを付与します。また、Lambda リソースの開発と保守に使用される他の AWS サービスへのアクセス許可も付与します。

ユーザー、グループおよびロールに `AWSLambda_FullAccess` ポリシーをアタッチできます。

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

このポリシーには、以下のアクセス許可が含まれています。
+ `lambda` – プリンシパルに Lambda への完全なアクセスを許可します。
+ `cloudformation` — プリンシパルが AWS CloudFormation スタックを記述し、それらのスタック内のリソースを一覧表示できるようにします。
+ `cloudwatch` — プリンシパルが Amazon CloudWatch メトリクスを一覧表示し、メトリクスデータを取得できるようにします。
+ `ec2` — プリンシパルがセキュリティグループ、サブネット、および VPC を記述できるようにします。
+ `iam` — プリンシパルがポリシー、ポリシーバージョン、ロール、ロールポリシー、アタッチされたロールポリシー、およびロールのリストを取得できるようにします。また、このポリシーでは、プリンシパルが Lambda にロールを渡すことも許可されます。`PassRole` 許可は、関数に実行ロールを割り当てる際に使用します。`CreateServiceLinkedRole` アクセス許可は、サービスにリンクされたロールを作成するときに使用されます。
+ `kms` – プリンシパルにエイリアスの一覧表示とボリューム暗号化のキーの記述を許可します。
+ `logs` – プリンシパルがログストリームを記述し、ログイベントを取得し、ログイベントをフィルタリングし、ライブテールセッションを開始および停止できるようにします。
+ `states` — プリンシパルが AWS Step Functions 状態のマシンを記述および一覧表示できるようにします。
+ `tag` — プリンシパルがタグに基づいてリソースを取得できるようにします。
+ `xray` — プリンシパルが AWS X-Ray トレースサマリーを取得し、ID で指定されたトレースのリストを取得できるようにします。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambda\$1FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambda_FullAccess.html)」を参照してください。

## AWS 管理ポリシー: AWSLambda\$1ReadOnlyAccess
<a name="lambda-security-iam-awsmanpol-AWSLambda_ReadOnlyAccess"></a>

このポリシーは、Lambda リソースと、Lambda リソースの開発と保守に使用される他の AWS サービスへの読み取り専用アクセスを許可します。

ユーザー、グループおよびロールに `AWSLambda_ReadOnlyAccess` ポリシーをアタッチできます。

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

このポリシーには、以下のアクセス許可が含まれています。
+ `lambda` - プリンシパルがすべてのリソースを取得して一覧表示できるようにします。
+ `cloudformation` — プリンシパルが AWS CloudFormation スタックを記述および一覧表示して、それらのスタック内のリソースを一覧表示できるようにします。
+ `cloudwatch` — プリンシパルが Amazon CloudWatch メトリクスを一覧表示し、メトリクスデータを取得できるようにします。
+ `ec2` — プリンシパルがセキュリティグループ、サブネット、および VPC を記述できるようにします。
+ `iam` — プリンシパルがポリシー、ポリシーバージョン、ロール、ロールポリシー、アタッチされたロールポリシー、およびロールのリストを取得できるようにします。
+ `kms` - プリンシパルがエイリアスを一覧表示できるようにします。
+ `logs` – プリンシパルがログストリームを記述し、ログイベントを取得し、ログイベントをフィルタリングし、ライブテールセッションを開始および停止できるようにします。
+ `states` — プリンシパルが AWS Step Functions 状態のマシンを記述および一覧表示できるようにします。
+ `tag` — プリンシパルがタグに基づいてリソースを取得できるようにします。
+ `xray` — プリンシパルが AWS X-Ray トレースサマリーを取得し、ID で指定されたトレースのリストを取得できるようにします。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambda\$1ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambda_ReadOnlyAccess.html)」を参照してください。

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

このポリシーは、ログを CloudWatch Logs にアップロードするための許可を付与します。

ユーザー、グループおよびロールに `AWSLambdaBasicExecutionRole` ポリシーをアタッチできます。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaBasicExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaBasicExecutionRole.html)」を参照してください。

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

このポリシーは、CloudWatch Logs への書き込みアクセス許可と、Lambda の永続関数で使用される永続的実行 API への読み取り/書き込みアクセス許可を提供します。このポリシーは、Lambda の永続関数に必要な重要なアクセス許可を提供します。このアクセス許可は、永続的実行 API を使用して、関数の呼び出し全体で進行状況と状態を維持します。

ユーザー、グループおよびロールに `AWSLambdaBasicDurableExecutionRolePolicy` ポリシーをアタッチできます。

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

このポリシーには、以下のアクセス許可が含まれています。
+ `logs` – プリンシパルに、ロググループ、ログストリームの作成、CloudWatch Logs へのログイベントの書き込みを許可します。
+ `lambda` – プリンシパルが永続的実行の状態をチェックポイントし、Lambda 永続関数の永続的実行の状態を取得できるようにします。

ポリシーの詳細 (JSON ポリシードキュメントの最新バージョンを含む) を確認するには、「*AWS マネージドポリシーのリファレンスガイド*」の「[AWSLambdaBasicDurableExecutionRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaBasicDurableExecutionRolePolicy.html)」を参照してください。

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

このポリシーは、Amazon DynamoDB ストリームからレコードを読み取り、CloudWatch Logs に書き込むための許可を付与します。

ユーザー、グループおよびロールに `AWSLambdaDynamoDBExecutionRole` ポリシーをアタッチできます。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaDynamoDBExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaDynamoDBExecutionRole.html)」を参照してください。

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

このポリシーは、VPC 対応の Lambda 関数で使用される Elastic Network Interface を作成、記述、削除する許可を付与します。

ユーザー、グループおよびロールに `AWSLambdaENIManagementAccess` ポリシーをアタッチできます。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaENIManagementAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaENIManagementAccess.html)」を参照してください。

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

このポリシーは Amazon DynamoDB Streams への読み取りアクセスを許可します。

ユーザー、グループおよびロールに `AWSLambdaInvocation-DynamoDB` ポリシーをアタッチできます。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaInvocation-DynamoDB](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaInvocation-DynamoDB.html)」を参照してください。

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

このポリシーは、Amazon Kinesis データストリームからイベントを読み取り、CloudWatch Logs に書き込むための許可を付与します。

ユーザー、グループおよびロールに `AWSLambdaKinesisExecutionRole` ポリシーをアタッチできます。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaKinesisExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaKinesisExecutionRole.html)」を参照してください。

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

このポリシーは、Amazon Managed Streaming for Apache Kafka クラスターからレコードを読み取り、アクセスし、Elastic Network Interface を管理し、CloudWatch Logs に書き込むための許可を付与します。

ユーザー、グループおよびロールに `AWSLambdaMSKExecutionRole` ポリシーをアタッチできます。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaMSKExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaMSKExecutionRole.html)」を参照してください。

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

このポリシーは、Lambda 関数を呼び出す許可を付与します。

ユーザー、グループおよびロールに `AWSLambdaRole` ポリシーをアタッチできます。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaRole.html)」を参照してください。

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

このポリシーは、Amazon Simple Queue Service キューからのメッセージの読み取りと削除の許可を付与し、CloudWatch Logs への書き込みの許可を付与します。

ユーザー、グループおよびロールに `AWSLambdaSQSQueueExecutionRole` ポリシーをアタッチできます。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaSQSQueueExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaSQSQueueExecutionRole.html)」を参照してください。

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

このポリシーは、Amazon 仮想プライベートクラウド内の Elastic Network Interface を管理して、CloudWatch Logs に書き込む許可を付与します。

ユーザー、グループおよびロールに `AWSLambdaVPCAccessExecutionRole` ポリシーをアタッチできます。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaVPCAccessExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaVPCAccessExecutionRole.html)」を参照してください。

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

このポリシーは、Lambda キャパシティープロバイダーの自動 Amazon Elastic Compute Cloud インスタンス管理を有効にします。これは、ユーザーに代わってインスタンスライフサイクルオペレーションを実行するためのアクセス許可を Lambda スケーラーサービスに付与します。

ユーザー、グループおよびロールに `AWSLambdaManagedEC2ResourceOperator` ポリシーをアタッチできます。

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

このポリシーには、以下のアクセス許可が含まれています。
+ `ec2:RunInstances` – ec2:ManagedResourceOperator が scaler.lambda.amazonaws.com に等しく、AMI の使用を Amazon が所有するイメージのみに制限するという条件で、Lambda が新しい Amazon EC2 インスタンスを起動できるようにします。
+ `ec2:DescribeInstances` および `ec2:DescribeInstanceStatus` – Lambda がインスタンスのステータスをモニタリングし、インスタンス情報を取得できるようにします。
+ `ec2:CreateTags` – Lambda が管理および識別の目的で Amazon EC2 リソースにタグを付けることを許可します。
+ `ec2:DescribeAvailabilityZones` – Lambda がインスタンス配置の決定に使用できるゾーンを表示できるようにします。
+ `ec2:DescribeCapacityReservations` – Lambda が最適なインスタンス配置のためにキャパシティ予約をチェックできるようにします。
+ `ec2:DescribeInstanceTypes` および `ec2:DescribeInstanceTypeOfferings` – Lambda が使用可能なインスタンスタイプとそのサービスを確認できるようにします。
+ `ec2:DescribeSubnets` – Lambda がネットワーク計画のサブネット設定を調べることを許可します。
+ `ec2:DescribeSecurityGroups` – Lambda がネットワークインターフェイス設定のセキュリティグループ情報を取得できるようにします。
+ `ec2:CreateNetworkInterface` – Lambda がネットワークインターフェイスを作成し、サブネットとセキュリティグループの関連付けを管理できるようにします。
+ `ec2:AttachNetworkInterface` – `ec2:ManagedResourceOperator` が [scaler.lambda.amazonaws.com](http://scaler.lambda.amazonaws.com/) に等しいという条件で、Lambda が Amazon EC2 インスタンスにネットワークインターフェイスをアタッチできるようにします。

JSON ポリシードキュメントやポリシーバージョンを含むこのポリシーの詳細については、「*AWS 管理ポリシーリファレンスガイド*」の「[AWSLambdaManagedEC2ResourceOperator](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaManagedEC2ResourceOperator.html)」を参照してください。

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

このポリシーは、AWSServiceRoleForLambda という名前のサービスにリンクされたロールにアタッチされ、Lambda が Lambda キャパシティプロバイダーの一部として管理されるインスタンスを終了できるようにします。

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

このポリシーには、以下のアクセス許可が含まれています。
+ `ec2:TerminateInstances` – ec2:ManagedResourceOperator が scaler.lambda.amazonaws.com に等しいという条件で、Lambda が EC2 インスタンスを終了できるようにします。
+ `ec2:DescribeInstanceStatus` および `ec2:DescribeInstances` – Lambda が EC2 インスタンスを記述できるようにします。

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

## Lambda での AWS マネージドポリシーの更新
<a name="lambda-security-iam-awsmanpol-updates"></a>


| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
|  [AWSLambdaManagedEC2ResourceOperator](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaManagedEC2ResourceOperator.html) – 新しいポリシー  |  Lambda は、Lambda キャパシティプロバイダーの自動 Amazon EC2 インスタンス管理を有効にする新しいマネージドポリシーを追加し、スケーラーサービスがインスタンスライフサイクルオペレーションを実行できるようにしました。  | 2025 年 11 月 30 日 | 
|  [AWSLambdaServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaServiceRolePolicy.html) – 新しいポリシー  |  Lambda は、サービスにリンクされたロールに新しい管理ポリシーを追加し、Lambda が Lambda キャパシティプロバイダーの一部として管理されるインスタンスを終了できるようにしました。  | 2025 年 11 月 30 日 | 
|  [AWSLambda\$1FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambda_FullAccess.html) – 変更  |  Lambda は、`kms:DescribeKey` と `iam:CreateServiceLinkedRole` アクションを許可するように `AWSLambda_FullAccess` ポリシーを更新しました。  | 2025 年 11 月 30 日 | 
|  [AWSLambdaBasicDurableExecutionRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaBasicDurableExecutionRolePolicy.html) – 新しい管理ポリシー  |  Lambda は、CloudWatch Logs への書き込みアクセス許可と、Lambda の永続関数で使用される永続的実行 API への読み取り/書き込みアクセス許可を提供する新しいマネージドポリシー `AWSLambdaBasicDurableExecutionRolePolicy` をリリースしました。  | 2025 年 12 月 1 日 | 
|  [AWSLambda\$1ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambda_ReadOnlyAccess.html) および [AWSLambda\$1FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambda_FullAccess.html) – 変更  |  Lambda は、`logs:StartLiveTail` と `logs:StopLiveTail` アクションを許可するように `AWSLambda_ReadOnlyAccess` と `AWSLambda_FullAccess` ポリシーを更新しました。  | 2025 年 3 月 17 日 | 
|  [AWSLambdaVPCAccessExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaVPCAccessExecutionRole.html) – 変更  |  Lambda は、アクション `ec2:DescribeSubnets` を許可するように `AWSLambdaVPCAccessExecutionRole` ポリシーを更新しました。  | 2024 年 1 月 5 日 | 
|  [AWSLambda\$1ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambda_ReadOnlyAccess.html) — 変更  |  Lambda は、プリンシパルが CloudFormation スタックを一覧表示できるように `AWSLambda_ReadOnlyAccess` ポリシーを更新しました。  | 2023 年 7 月 27 日 | 
|  AWS Lambda は変更の追跡を開始しました  |  AWS Lambda が AWS マネージドポリシーの変更の追跡を開始しました。  | 2023 年 7 月 27 日 | 

# AWS Lambda ID とアクセスのトラブルシューティング
<a name="security_iam_troubleshoot"></a>

次の情報は、Lambda と IAM の使用に伴い発生する可能性のある、一般的な問題の診断や修復に役立ちます。

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

## Lambda でアクションを実行する権限がない
<a name="security_iam_troubleshoot-no-permissions"></a>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

詳細については、以下を参照してください。
+ Lambda でこれらの機能がサポートされるかどうかを確認するには、[AWS Lambda と 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)」を参照してください。