BioErrorLog Tech Blog

試行錯誤の記録

IAM Policyの"Action"に指定できる権限の一覧はどこにあるのか

IAM Policyの"Action"区内に指定できるaction権限の一覧が記載されている場所の備忘録です。

はじめに

こんにちは、@bioerrorlogです。

IAM Policyの"Action"には、各AWSサービスのaction権限を指定します。 しかし、各サービスで提供されている全てのAPIが、IAM Policyの"Action"に指定できるわけではありません。 逆に、サービスからAPIとして提供されていないものでも、IAM Policyの"Action"に指定できるものがあります。

ドキュメントにも、以下のように記載されています。

Not all API operations that are defined by a service can be used as an action in an IAM policy. In addition, a service might define some actions that don't directly correspond to an API operation.


例えば、S3ではListBucketsというAPIが提供されていますが、IAM Policyの"Action"に "s3:ListBuckets"としてそのまま権限を指定することはできません。 サービスのAPI Referenceに記載されているからといって、必ずしもIAM Policyの"Action"に記載できる訳ではない、ということです。


[関連記事] S3 ListBucketsの実行に必要なIAM権限


では、IAM Policyの"Action"に指定できるaction権限の一覧はどこで調べればよいのでしょうか?

その場所を見つけたので備忘録を残します。


IAM Policyの"Action"に指定できるaction権限の一覧

場所

IAM Policyの"Action"に指定できるaction一覧は、以下に記載されています。

docs.aws.amazon.com

使い方

使い方は単純です。

まず、サイドバーから対象のサービス(例: S3)を選択します。


サービス毎のページに飛んだら、そこに"Action"として指定できるaction権限の一覧があります。


ちなみに、このドキュメントにはActionに関する情報だけでなくResource typeやCondition keyについての情報も記載されています。 IAM Policyを設計する際には大いに参考にできそうです。

おわりに

今回は、IAM Policyの"Action"に指定できるaction権限一覧の場所を記しました。

これまでは、各サービスのAPI Referenceを参照しながらIAM Policyを書くことが多かったので、たまに権限付与が上手くいかないケースがありました。 これからは今回取り上げたドキュメントを参照して、正しくActionを把握していきたいところです。

それにしても、権限周りはなかなかに奥が深くて面白いですね。

[関連記事]

www.bioerrorlog.work

www.bioerrorlog.work

www.bioerrorlog.work

参考

Actions, resources, and condition keys for AWS services - Service Authorization Reference