マルチクラウド 担当者コラム
マルチクラウド・AWS
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!