■ はじめに
https://dk521123.hatenablog.com/entry/2017/02/26/231046
の続き。 IAM について、もう少し掘り下げる。
目次
【1】IAM 1)認証 (Authentication) 2)認可 (Authorization) 【2】IAMユーザ・グループ 1)認証種類 2)MFA設定手順 【3】IAM Policy(ポリシー) 【4】IAM role 1)ロールを切り替えるのは 【5】Billing and Cost Management コンソールの閲覧許可する
【1】IAM
* AWS操作をより安全に行うための認証・認可の仕組み
1)認証 (Authentication)
* アクセスしたユーザに対して、 その人本人であるかの確認を取ること
例
* ユーザID/パスワード
2)認可 (Authorization)
* 「認証」したユーザが何をしていいかを許可すること
例
* アクセス制御機能
【2】IAMユーザ・グループ
* 『認証』の部分
1)認証種類
* 以下の2種類 ~~~~~~~ [1] ユーザーIDとパスワード [2] アクセスキーとシークレットアクセスキー ~~~~~~~
[1] ユーザーIDとパスワード
* Webコンソールでアクセスする際に使用 * MFAと組み合わせも可能(後述「2)MFA設定手順」参照)
[2] アクセスキーとシークレットアクセスキー
* CLIやAPIからAWSリソースにアクセスする際に使用
2)MFA設定手順
* 以下の関連記事を参照
IAM ~ 多要素認証(MFA)の設定 ~
https://dk521123.hatenablog.com/entry/2020/12/09/150822
【3】IAM Policy(ポリシー)
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies.html
* アクセス制御 => AWSユーザに対して、AWS サービス を実行権限をコントロールできる * 『認可』の部分 * 詳細は、以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2020/09/30/133123
基本的な運用方法
* IAMグループごと又はIAMロールごとに、 ポリシーを付与するようにする
【4】IAM role
導入
* IAMユーザに対して、IAMポリシーを直接アタッチできるが EC2などのAWSサービスに対しては、直接アタッチはできない => EC2などのAWSサービスに対しては、IAMロールを割り当てる
IAMロールとは?
* 一時的にAWSリソースへのアクセス権限を付与する場合などに使用 => この『一時的に』がポイント。 ~~~~~ [1] AWSリソースへの権限付与 [2] クロスアカウントアクセス [3] IDフェデレーション => Active Directoryでアクセス [4] Web ID フェデレーション => GoogleやFacebookアカウントでアクセス ~~~~~
補足:IDフェデレーション
* 以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2022/10/18/185246
1)ロールを切り替えるのは
* 1ユーザには複数のロールを設定することができ、 ログインした際に切り替えることできる
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_use_switch-role-console.html
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html
手順
[1] [IAM]-[ロール] を選択 [2] 対象のロールを選択する [3] コンソールで [ロールの切り替える]リンクを押下
【5】Billing and Cost Management コンソールの閲覧許可する
* IAMユーザでの Billing and Cost Management コンソールの 閲覧許可する方法を記載する。
現象
* IAM ユーザ/AdministratorAccess 管理ポリシーで、 Billing and Cost Management コンソールへのアクセスしても権限で怒られる
原因
* Billing and Cost Management コンソールへのアクセスを アクティベートする必要がある
対応方法
http://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/grantaccess.html
に記載されている [1] ルートアカウント認証情報 (AWS アカウントの作成に 使用した E メール アドレスとパスワード) で AWS マネジメントコンソール にサインイン [2] ナビゲーションバーでアカウント名を選択してから、[アカウント] を選択 [3] [IAM User Access to Billing Information] の横で、[編集] を選択 [4] [Activate IAM Access] チェックボックスをオンにする [5] ログオフして、IAMユーザでログインし直して、 Billing and Cost Management コンソールにアクセスできるか確認する
関連記事
IAM ~ IAM Policy 編 ~
https://dk521123.hatenablog.com/entry/2020/09/30/133123
IAM ~ アクセスキー ~
https://dk521123.hatenablog.com/entry/2023/02/02/091544
IAM ~ クロスアカウント ~
https://dk521123.hatenablog.com/entry/2022/05/23/000000
IAM ~ 別AWSアカウントのS3にファイルアップロード ~
https://dk521123.hatenablog.com/entry/2024/03/08/003841
IAM ~ Service-Linked Roles ~
https://dk521123.hatenablog.com/entry/2023/01/22/000000
AWS CLI ~ aws sts ~
https://dk521123.hatenablog.com/entry/2023/04/09/104204
IAM ~ 多要素認証(MFA)の設定 ~
https://dk521123.hatenablog.com/entry/2020/12/09/150822
IDフェデレーション
https://dk521123.hatenablog.com/entry/2022/10/18/185246