読取り専用だけど、自分のパスワードやアクセスキー,
MFA (二段階認証) の設定だけはユーザ自身で出来る。
そんな IAM ユーザの作り方のメモです。
請求情報も参照できるポリシーも書きました。
Management Console や API から自由に参照はしていいけど、
変更は許したくない、というユーザ用に。
IAM グループの作成
この記事では IAM グループを作成し、そのグループにポリシーを与えていきます。
IAM Management Console - グループ から
リードオンリー用のグループを作成します。
ここでは "Readonly" という名前でグループを作成しました。
ポリシーは後で追加していくので、まずは空っぽで。
次に IAM Management Console - ユーザー から
ユーザを作成し、 Readonly グループに加えます。
グループに与える権限 (ポリシー)
以降、次のポリシーに分けてグループに追加していきます。
不要なものは読み飛ばしてください。
- 各サービスの情報の参照
- 請求情報の参照
- 自身のパスワードの変更 (認証情報ページからの変更)
- 自身のパスワードの変更 (ユーザーページからの変更)
- 自身のアクセスキーの変更
- 自身の MFA デバイスの変更
- 自身の SSH キーの変更
各サービスの情報の参照
管理ポリシー "ReadOnlyAccess" が用意されてるので、
それを Readonly グループに追加するだけでOKです。
請求情報の参照
デフォルトでは IAM ユーザは請求情報にアクセスできなくなってるので、
まずはアクセス許可の設定をします。
ルートアカウントで Billing Management Console - アカウント を開き、
[IAM アクセスのアクティブ化] を ON にします。
その後、 Readonly グループに次のインラインポリシーを追加すればOKです。
僕は "PortalReadonlyAccess" という名前で追加しました。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aws-portal:View*" ], "Resource": [ "*" ] } ] }
もし参照できる情報を制限したい場合は、試してないけど
"aws-portal:View*"
の部分にワイルドカードを使わなければ良いと思う。
ViewBilling
次の [Billing and Cost Management] コンソールページを表示する権限を
IAM ユーザーに与えるか拒否します。
- 請求ダッシュボード
- 請求書
- コストエクスプローラー
- 予算
- 支払履歴
- 一括請求
- 設定
- Credits
- 前払い(前払いの詳細については、「一括請求について」を参照してください。)
ViewAccount
アカウント設定を表示するアクセス権限を IAM ユーザーに与えるか拒否します。
ViewBudget
予算を表示するアクセス権限を IAM ユーザーに与えるか拒否します。
IAM ユーザーに予算の表示を許可するには、ViewBilling も許可する必要があります。ViewPaymentMethods
支払方法を表示するアクセス権限を IAM ユーザーに与えるか拒否します。
ViewUsage
AWS 使用状況レポートを表示するアクセス権限を IAM ユーザーに与えるか拒否します。
IAM ユーザーが使用状況レポートを表示できるようにするには、
ViewUsage と ViewBilling の両方を許可する必要があります。
自身のパスワードの変更 (認証情報ページからの変更)
Management Console 右上メニュー [認証情報] からの変更を許可します。
デフォルトでは全てのユーザが自身のパスワードは変更できるようになっているので、
特にやることはありません。
もし一部のユーザのみ自身のパスワードを変更可にする場合は、
まずは IAM Management Console - アカウント設定 で
[ユーザーにパスワードの変更を許可] をオフにします。
その後、 Readonly グループに次のインラインポリシーを追加すればOKです。
僕は "MyPasswordAccess" という名前で追加しました。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:ChangePassword", "iam:GetAccountPasswordPolicy" ], "Resource": "*" } ] }
自身のアクセスキーの変更 (ユーザーページからの変更)
ユーザページ からの変更を許可します。
Readonly グループに次のインラインポリシーを追加すればOKです。
僕は "MyLoginProfileAccess" という名前で追加しました。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:*LoginProfile" ], "Resource": [ "arn:aws:iam::*:user/${aws:username}" ] }, { "Effect": "Allow", "Action": [ "iam:ListAccount*", "iam:GetAccountSummary", "iam:GetAccountPasswordPolicy", "iam:ListUsers" ], "Resource": [ "*" ] } ] }
自身のアクセスキーの変更
Readonly グループに次のインラインポリシーを追加すればOKです。
僕は "MyAccessKeyAccess" という名前で追加しました。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:*AccessKey" ], "Resource": [ "arn:aws:iam::*:user/${aws:username}" ] }, { "Effect": "Allow", "Action": [ "iam:ListAccount*", "iam:GetAccountSummary", "iam:ListUsers" ], "Resource": [ "*" ] } ] }
自身の MFA デバイスの変更
Readonly グループに次のインラインポリシーを追加すればOKです。
僕は "MyMFADeviceAccess" という名前で追加しました。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:*MFADevice" ], "Resource": [ "arn:aws:iam::*:user/${aws:username}", "arn:aws:iam::*:mfa/${aws:username}" ] }, { "Effect": "Allow", "Action": [ "iam:ListAccount*", "iam:GetAccountSummary", "iam:ListUsers", "iam:ListMFADevices", "iam:ListVirtualMFADevices" ], "Resource": [ "*" ] } ] }
自身の SSH キーの変更
Readonly グループに次のインラインポリシーを追加すればOKです。
僕は "MySSHPublicKeyAccess" という名前で追加しました。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:*SSHPublicKey" ], "Resource": [ "arn:aws:iam::*:user/${aws:username}" ] }, { "Effect": "Allow", "Action": [ "iam:ListAccount*", "iam:GetAccountSummary", "iam:ListUsers", "iam:ListSSHPublicKeys" ], "Resource": [ "*" ] } ] }
以上!
これでIAMユーザをグループに加えたり外したりで管理できるようになりました!
参考
- AWS Identity and Access Management
- AWS 請求情報とコスト管理
- [AWS] 閲覧のみ(Read Only) IAMユーザの作り方 - Developers.IO
- 【IAM】リードオンリーのユーザーにパスワード変更を許可する方法について - Developers.IO

Amazon Web Services クラウドデザインパターン設計ガイド 改訂版
- 作者: 玉川憲,片山暁雄,鈴木宏康,野上忍,瀬戸島敏宏,坂西隆之,日経SYSTEMS
- 出版社/メーカー: 日経BP社
- 発売日: 2015/05/28
- メディア: 単行本
- この商品を含むブログ (3件) を見る

Amazon Web Services クラウドデザインパターン実装ガイド 改訂版
- 作者: 大澤文孝,アマゾンデータサービスジャパン玉川憲,アマゾンデータサービスジャパン片山暁雄,アイレット鈴木宏康,日経SYSTEMS
- 出版社/メーカー: 日経BP社
- 発売日: 2015/03/05
- メディア: 単行本
- この商品を含むブログ (2件) を見る