AWS 第2回『やってみようシリーズ:IAMアカウントを作ってみよう-IAMポリシー解説編-』

皆様こんにちは、AWS専任担当の藤島です。
最近、通勤途中で見かける花の色がどんどん増えてきました。私はユキヤナギが好きで、流れるような真っ白い花が咲いているのを見かけると、春が来たんだなぁと実感いたします。

さて、今回のテーマですが、「やってみようシリーズ」と称しまして、前編・後編に内容を分け、IAMアカウントを作成し、管理者権限を付与する方法をご紹介してまいります。

今回の記事は前編として、IAMポリシーに関する基本的な知識を解説させて頂きます。

解説とかいいのでとりあえず手順を教えて!という方は後続の記事、「やってみようシリーズ:IAMアカウントを作ってみよう~IAMユーザー作成編~」を見てくださいね!

IAMアカウントを操作する前に、AWSってどうやってログインするの??という方は、前回のブログ記事「アマゾンウェブサービスの始め方 for iKAZUCHI(雷)」をご参考にしてくださいね。

■こちらの記事で想定するゴール

 管理者権限が付与されたIAMアカウントを作成するため、IAMポリシーに関する基礎知識を身に着けます。

■改めての整理

IAMアカウントをご説明させて頂くにあたり、「ルートアカウント」との対比知識は絶対的に必要となります。くどいのは承知で、ユーザーアカウントの種類について、再度ご案内させて下さいね。

DISにAWSをご発注頂いた際には、ルートアカウントは弊社で厳重に保管をさせて頂いております。このため、ご発注頂いた企業様には「管理者権限」が付与した形でIAMアカウントをご提供させて頂きます。

■IAMポリシーとは

IAMに関連するAWS用語は複数ありますが、今回はIAMポリシーについて理解を深めていきましょう。

 IAMポリシーとは、「どのAWSサービスの」、「どのリソースに対して」、「どんな操作を」、「許可するか(許可しないか)」、を権限とし、利用者(IAMユーザーなど)に対して設定することが出来る定義をIAMポリシーと呼びます。
 ここで、2人のユーザー「EDABUさん」と「RUESUさん」に登場して頂き、イメージ図をご用意。(名づけが雑!)
ここから先はユーザー単位の話になってまいりますので、IAMアカウントをIAMユーザーとして表現していきたいと思います。
 
EDABUさんは、ITインフラ基盤技術担当のリーダーで、アマゾンウェブサービスの環境自体を操作する責任者です。
この場合、アカウントに対するすべての権限を持ったユーザーが必要です。
EDABUさんにはIAMユーザーを作成後、すべての操作権限を付与した形でIAMポリシーを用意し、作成したIAMユーザーにアタッチします。

RUESUさんは、アプリ開発技術担当で、基本はOS上で操作となります。ただし、仮想マシンのスペック等、リソースの情報は定期的に確認が必要です。

RUESUさんには、仮想マシン情報を確認するための、Amazon EC2サービスの読み取り権限をIAMポリシーとして用意することにしました。RUESUさん用のIAMユーザーを作成後、IAMポリシーをアタッチします。

IAMを利用したアカウント運用はこのような形で実装していきます。

■管理者権限のIAMポリシーは作成されています

IAMポリシーにはいくつか種類があります。

  • IAMユーザーに対してアタッチをする「ユーザーベースのポリシー」
  • AWSリソースに対してアタッチをする「リソースベースのポリシー」
  • IAMロールに対してアタッチをする「IAMロールの信頼ポリシー」

今回のテーマとしては、IAMアカウント作成し、権限を適用することを目的としておりますので、一番上の「ユーザーベースのポリシー」についてご案内をいたします。おいおい、他の内容についても触れられたらいいななんて思います。IAMは本当に奥が深いので…。

さて、早速IAMポリシーを用意していきたいのですが、管理者権限を付与したい時に、IAMポリシーは自分で作る必要がありません。なぜなら、よくあるパターンのIAMポリシーは、事前にアマゾンウェブサービス上に用意されているからです。

以下の表をご参照ください。

No. ポリシー分類 作成者 概要
1 AWS管理ポリシー AWS AWSによって事前に準備がされているIAMポリシー
複数のIAMユーザーや、IAMグループ、IAMロール間で共有可能
2 カスタマー管理ポリシー 利用者 AWS管理ポリシーに存在しなく、利用者によって手動作成を行うことが出来るIAMポリシー
複数のIAMユーザーや、IAMグループ、IAMロール間で共有可能
3 インラインポリシー 利用者 1対1の特定IAMユーザー(IAMグループ、IAMロール)に対して適用する、利用者による手動で作成したIAMポリシー

No.1にあるAWS管理ポリシーは、AWSマネジメントコンソールで以下のように確認が出来ます。

いま見たら、なんと799件が登録されていました!(※2021年3月現在)

もうなんていうか…どんな種類のIAMポリシーが存在するかを知ることが大変ですね。全てを覚えることは天才であっても難しいと思いますので、どのような権限が必要かを検討いただき、AWSのテクニカルサポートに問い合わせるなどして、必要なポリシーを特定していきましょう。

■IAMポリシーは自分で作成することもできます

物事はそう単純ではありません。

アカウント運用をするためには、この権限とこの権限とこの権限はこのユーザーにつけて…というように、利用する権限をカスタマイズしたい。という要望はよくあるお話ですね。

IAMポリシーは、IAMユーザーに対して複数個適用することもできますし、自分でカスタマイズ版を作成することもできます。これがカスタマー管理ポリシーです。

ポリシーを手動で作る際には、JSONで記述をするのが一般的です。こんなやつですね。

JSONとかわかんないし!!!という方、安心してください。私もそうでした。

ビジュアルエディタというものがあり、ポチポチ入力していくだけで作成することもできますし、入力したものは自動的にJSON化されますので、使い方としては難しくはありません。

とはいえ、アマゾンウェブサービスは、サービスの種類が200近く存在することもあり、指定可能な項目が大量に存在するため、最初のうちはAWS管理ポリシーを活用しながら、必要に応じてカスタマー管理ポリシーの作成に手を掛けていくことをお勧めいたします。

IAMポリシーについてご紹介をさせて頂きました。如何でしたでしょうか。
実はIAMサービス、本が一冊出来ちゃうぐらい奥が深いサービスなのです。その中でも今回のご紹介した内容は基礎中の基礎。
なるほどー、こんな感じでアカウント作って運用していくんだねと、イメージ頂けましたら嬉しいです。
それでは次回後編でお会いいたしましょう!

--Let's Enjoying Amazon Web Services!

マルチクラウドの記事