

# Lambda での属性ベースのアクセスコントロールの使用
<a name="attribute-based-access-control"></a>

[属性ベースのアクセス制御 (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) では、タグを使用して Lambda リソースへのアクセスを制御できます。タグは、特定の Lambda リソースにアタッチしたり、特定の API リクエストに渡したり、リクエストを実行する AWS Identity and Access Management (IAM) プリンシパルにアタッチしたりすることができます。AWS による属性ベースアクセスの付与の詳細については、「IAM ユーザーガイド」の「[タグを使用した AWS リソースへのアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)」を参照してください。

ABAC を使用すると、IAM ポリシーで Amazon リソースネーム (ARN) または ARN パターンを指定しなくても、[最小特権を付与](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)することができます。代わりに、IAM ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)で、アクセスを制御するためのタグを指定します。新しいリソースを作成する際の IAM ポリシーの更新が必要なくなるため、ABAC を使用するとスケーリングが容易になります。代わりに、新しいリソースには、アクセスを制御するためのタグを追加します。

Lambda では、タグは次のリソースで機能します。
+ 関数 — 関数のタグ付けの詳細については、「[Lambda 関数でのタグの使用](configuration-tags.md)」を参照してください。
+ コード署名設定 — コード署名設定のタグ付けの詳細については、「[コード署名設定でのタグの使用](tags-csc.md)」を参照してください。
+ イベントソースマッピング — イベントソースマッピングのタグ付けの詳細については、「[イベントソースマッピングでのタグの使用](tags-esm.md)」を参照してください。

レイヤーではタグはサポートされていません。

次の条件キーを使用すると、タグに基づいて IAM ポリシールールを記述できます。
+ [aws:ResourceTag/tag-key](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag): Lambda リソースにアタッチされているタグに基づいてアクセスを制御します。
+ [aws:RequestTag/tag-key](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag): 新しい関数の作成時などに、リクエスト内のタグを要求します。
+ [aws:PrincipalTag/tag-key](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltag): IAM プリンシパル (リクエストを行っているユーザー) が実行できる操作内容を、IAM [ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags_users.html)または[ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags_roles.html)にアタッチされたタグに基づき制御します。
+  [aws:TagKeys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys): リクエストで特定のタグキーを使用できるかどうかを制御します。

 それらをサポートするアクションに対してのみ、条件を指定できます。各 Lambda アクションでサポートされる条件のリストについては、「サービス認可リファレンス」の「[AWS Lambda のアクション、リソース、および条件キー](https://docs.aws.amazon.com//service-authorization/latest/reference/list_awslambda.html)」を参照してください。**aws:ResourceTag/tag-key** のサポートについては、「AWS Lambda で定義されるリソースタイプ」を参照してください。**aws:RequestTag/tag-key** および **aws:TagKeys** のサポートについては、「AWS Lambda で定義されるアクション」を参照してください。

**Topics**
+ [タグによる関数の保護](attribute-based-access-control-example.md)