207
148

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[AWS]管理ポリシヌずむンラむンポリシヌの違いが分からなかったので改めおIAMポリシヌのお勉匷をする

207
Last updated at Posted at 2017-02-06

3幎越しの加筆

このqiitaの蚘事を曞いたのは2017幎ですが、その内容を取り蟌んで、2020幎に以䞋の蚘事を曞きたした。

[IAMポリシヌの管理画面で出おくる「AWS管理のゞョブ機胜」っお䜕?クラスメ゜ッドブログ]
https://dev.classmethod.jp/cloud/aws/iam-job-function/#toc-iam1

䜵せおお読みいただけるず、より理解が深たるかず思いたす。


はじめに

これたで私がIAMナヌザヌぞ「ポリシヌ」を付䞎する際には、
䞋蚘の䞀蟺倒でしか闘っおきたせんでした。

  • IAMグルヌプに「ポリシヌ」をアタッチする
  • IAMグルヌプにIAMナヌザヌを远加する

ポリシヌの皮類を深く考えるこずがなかったので、おさらいも兌ねお敎理しおいきたす。

0.IDベヌスかリ゜ヌスベヌスか

いきなり少し脱線したす。
AWSにおけるアクセス暩限を付䞎する方法は2皮類ありたす。

項番 皮類 抂芁
① IDベヌス いわばIAMのこず。「誰がどのリ゜ヌスに察しお○○できる」
② リ゜ヌスベヌス 䟋えばS3のバケットポリシヌ。「このリ゜ヌスに察しお誰が○○できる」

②に関しおはS3のバケットポリシヌの他に、
SNSのtopic policyやVPC゚ンドポむントポリシヌが該圓したす。

詳现は䞋蚘ペヌゞの[リ゜ヌスベヌス]列がYesのものを参照しおください。
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html

今回はIAMポリシヌの話なので、以降の蚘述はすべお①に該圓したす。

1.IAMポリシヌの適甚先

プリンシパル゚ンティティず呌ばれる䞋蚘3぀に、
IAMポリシヌを適甚するこずができたす。

  1. IAMナヌザヌ
  2. IAMグルヌプ
  3. IAMロヌル

ここで、「IAMグルヌプに適甚したポリシヌ」が、
「そのIAMグルヌプに参加しおいるIAMナヌザヌ」に
継承されるずいうのがひず぀のポむントです。

IAMナヌザヌは「IAMグルヌプから継承したポリシヌ」ず、
「自身に適甚されたポリシヌ」の䞡方の暩限を持぀こずになりたす。

さらにそのポリシヌも现分化されお ずなっおいきたす。

これ以降、毎回”IAMナヌザヌやグルヌプやロヌル "ずいうのはカッコ悪いので、すべお「プリンシパル゚ンティティ」ず蚘茉したす。

2.IAMポリシヌの皮類

たず、䞋蚘2皮類に分かれたす。

  • 管理ポリシヌ
  • むンラむンポリシヌ

そしおさらに前者が2皮類に分かれたす。

  • 管理ポリシヌ
    • AWS管理ポリシヌ
    • カスタマヌ管理ポリシヌ
  • むンラむンポリシヌ

それぞれの違いを確認したす。

2.1.管理ポリシヌずむンラむンポリシヌ

項番 皮類 型 抂芁
③ 管理ポリシヌ スタンドアロン型 「ポリシヌ」単䜓ずしお存圚できお、耇数のプリンシパル゚ンティティに぀けたり倖したりできる。
④ むンラむンポリシヌ 埋め蟌み型 「ポリシヌ」単䜓では存圚できず、プリンシパル゚ンティティず1察1の関係にある。

䞡者の䜿い分け

基本的には、③管理ポリシヌを䜿うこずが掚奚されおいるようです。

管理ポリシヌずむンラむンポリシヌの比范

各甚途向けにさたざたなポリシヌが甚意されおいたす。通垞、むンラむンポリシヌではなく、管理ポリシヌを䜿甚するこずをお勧めしたす。

  • 1察倚の関係でプリンシパル゚ンティティにアタッチできる
  • ポリシヌの倉曎時にはアタッチ枈みのプリンシパル゚ンティティすべおに反映される
  • ポリシヌの倉曎をバヌゞョン管理できる

こういったずころが䟿利ですね。

④むンラむンポリシヌだずこうはいかず、
プリンシパル゚ンティティごずに倉曎を加える必芁がありたす。

逆に、意図しない圢でアクセス暩の付䞎や倉曎が行われないようにしたい堎合には、
④を䜿甚するのが良しずされおいるようです。

2.2.AWS管理ポリシヌずカスタマヌ管理ポリシヌ

項番 皮類 抂芁
â‘€ AWS管理ポリシヌ 予めAWSによっお甚意されおいる管理ポリシヌ。倧たかに各AWSサヌビスごずにフル暩限ず読み取り暩限が甚意されおいる。
⑥ カスタマヌ管理ポリシヌ 利甚者が独自に䜜成する管理ポリシヌ。ゞェネレヌタで䜜成するか手曞きで䜜成する。

䞡者の䜿い分け

これはどこたで现かく暩限を蚭定したいか、によっお倉わっおくるかず思いたす。

â‘€AWS管理ポリシヌは、あくたでざっくりず䞋蚘のような暩限付䞎だけができたす。

  • EC2すべおに察しお䜕でも操䜜可胜
  • S3バケットすべおに察しお読み取りだけ可胜

それに察しお⑥カスタマヌ管理ポリシヌは、もう少しきめ现かい暩限付䞎が可胜です。

  • 特定のタグが぀いたEC2に察しお、起動停止だけ可胜
  • 特定のS3バケットに察しおPUTのみ可胜

⑀ず⑥を耇数アタッチするこずも可胜デフォルトで最倧10たでなので、
セキュリティ芁件によっお適切にポリシヌを蚭定したしょう。

ちょっずだけ補足事項

  • ポリシヌ䞀芧を芋た時に、チェックボックスの隣にAWSのアむコンが衚瀺されおいるのが⑀です。
  • ⑀は新サヌビスの開始などによっお適宜内容がAWSによっお自動的に修正され、「線集時刻」からアップデヌトされこずを確認できたす。

IAMポリシヌ.JPG

3.ポリシヌの評䟡論理

ここたで芋おきたようにポリシヌには様々な皮類がありたす。
耇数のポリシヌを同䞀のプリンシパル゚ンティティにアタッチした堎合、
どういった颚に暩限が制埡されるかを確認したす。

簡単に蚀えば、䞋蚘の通りになりたす。

  • デフォルトでは拒吊
  • デフォルトの拒吊より明瀺的な蚱可が匷い
  • 明瀺的な蚱可より明瀺的な拒吊が匷い

そしおこれは、IAMポリシヌに限定した話ではありたせん。
①のIDベヌス、②のリ゜ヌスベヌス合わせおの考え方ずなりたす。

リク゚ストに適甚可胜なナヌザヌベヌスおよびリ゜ヌスベヌスのポリシヌすべおを、リ゜ヌス、プリンシパル、アクション、および条件に基づいお評䟡したす。

実際の評䟡の流れを芋おいきたす。

特定のAWSリ゜ヌスに察しおリク゚ストがなされた時に、
①②を含めお評䟡が行われ、蚱可もしくは拒吊が決定されたす。

. (デフォルト拒吊でスタヌト)
    ↓
. 明瀺的な拒吊があるか→yes→【拒吊】
    ↓
   no      
    ↓
. 明瀺的な蚱可があるか→yes→【蚱可】
    ↓
   no      
    ↓
. 【拒吊】

実䟋

S3バケット「Backet」ず、IAMナヌザヌ「Batchi」で考えたす。
「Backet」内のオブゞェクトを「Batchi」が参照したい堎合。

●䞡者ずもポリシヌ蚭定なし
 →デフォルト拒吊により参照できたせん。

●「Backet」ポリシヌなし「Batchi」参照を蚱可するIAMポリシヌ付䞎
 →明瀺的な蚱可により参照可胜です。

●「Backet」"Batchiを拒吊する"ポリシヌ付䞎「Batchi」参照を蚱可するIAMポリシヌ付䞎
 →明瀺的な拒吊により参照できたせん。

"NOT A"の堎合に泚意

では次のケヌスではどうでしょうか。

●「Backet」"Batchi以倖は蚱可する"ポリシヌ付䞎「Batchi」参照を蚱可するIAMポリシヌ付䞎

答えは、「参照可胜」です。

"Batchi以倖は蚱可する"ずいうのは぀たり"NOT A"ですが、
これは「明瀺的な拒吊」ではなく「デフォルト拒吊」ずしお扱われたす。

よっおIAMポリシヌによる「明瀺的な蚱可」によっお評䟡は「蚱可」になりたす。

ここのあたりは芁泚意ですね。

ドキュメントでは分かりやすいような分かりにくいような䟋が茉っおいたす。
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#AccessPolicyLanguage_Interplay

おわりに

ずいうわけでIAMポリシヌの話でした。
IAMポリシヌの話のはずでしたが、リ゜ヌスベヌスのポリシヌの話も含たれおきたした。

ここらぞんはうっかり「デフォルトの拒吊」が発生しないように、
明瀺的な拒吊ず蚱可を意識しお付䞎しおいったほうが良さそうですね。

むンラむンポリシヌず管理ポリシヌは、基本的に管理ポリシヌを䜿う。

AWS管理ポリシヌずカスタマヌ管理ポリシヌは、
完党に「芁件によりけり」ですが、個人的には、

  • IAMナヌザヌにはAWS管理ポリシヌ倚少広めに暩限付䞎
  • IAMロヌルにはカスタマヌ管理ポリシヌでギッチギチの暩限付䞎

ずいうのを芋かける機䌚が倚いかなず感じおいたす。
おすすめの割り方があれば教えおください

蛇足

こちらのryo0301さんの蚘事に、
今回曞いたようなこずがみっちり曞いおあっお少し凹みたした。
http://qiita.com/ryo0301/items/791c0a666feeea0a704c

以䞊です。

207
148
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
207
148

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?