AWS IAMポリシーを徹底的に調べる

求人
AWS IAMポリシーを徹底的に調べる

IAMポリシーは何となくとっつきにくい感じがあります。

ということで徹底的に調べてビジュアルエディターではなくJSONで書いてみます。

AWSはいつからかビジュアルエディターも用意してくれていますが、根本を理解するためにJSONで書いてみたいと思います。

バージョンを指定する

ポリシーで明示的にアクセスポリシー言語の「2012-10-17」バージョンを指定する必要があります。

アクセスポリシー言語のデフォルトバージョン (2008-10-17) では、ポリシー変数をサポートしていません。

“Statement”: []の中にJSONオブジェクトで記述する

「”Statement”: []」はステートメント配列って言います。この中にJSONオブジェクトを格納していきます。

サンプル

Sidとは

SidとはステートメントIDのことで、ポリシードキュメントに与える任意の識別子です。

JSONポリシー内で固有であればSid値はなんでも構いません。

Effectとは

Effectエレメントは必須項目です。ステートメントの結果を許可または明示的な拒否のどちらにするかを指定します。

“Allow”、または、”Deny”のどちらかを指定します。

Actionとは

Actionエレメントは、必須ではありませんが指定しない場合はNotActionエレメントを指定する必要があります。

以下、Actionエレメントの例です。

複数指定する場合は配列で指定することができます。

ワイルドカードが使用できる

上記例の通り、sqsには複数のActionがあります。これを全て指定する場合は「*」を使用します。

IAMポリシーは、どのエンティティ(AWSサービス)に対してどのアクションを許可・拒否するかをJSON形式で定義したものです。

試しに書くと以下のような感じです。

IAMロールとは

IAMロールとは、どのエンティティ(AWSサービス)に権限を付与するためのIAMオブジェクトになります。

例えばLambdaからDynamoDBにアクセスする場合は、IAMロールはLambdaにアタッチしておく必要があります。

IAM JSON ポリシーエレメント参考サイト

株式会社CONFRAGE

関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
Python3.6,Djangoを勉強中です,Javaは少し飽きてしまってます–;
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA