まくろぐ
更新: / 作成:

何をするか?

AWS のベストプラクティスでは、管理者であっても普段の作業では AWS アカウントのルートユーザーを直接使うべきではないとされています。

そこで、まずは管理者の普段の作業用に IAM ユーザーを作成します。 この作成作業は、AWS アカウントのルートユーザーで行う必要があります(初期状態ではユーザー作成の権限がルートユーザーにしかないため)。

ここでは、下記のような名前の IAM ユーザーとグループを作成することにします。

  • IAM ユーザー: admin
  • IAM グループ: Admins … (AdministratorAccess ポリシーを割り当てます)

管理者用 IAM ユーザーの作成

AWS IAM コンソール にサインインし、次のような感じで IAM ユーザーを作成します。

  1. アクセス管理ユーザーユーザーを追加 を選択し、次のように入力
    • ユーザー名: admin
    • アクセスの種類: CLI などで操作するなら プログラムによるアクセス にチェック
  2. ユーザーをグループに追加グループの作成 を選択し、次のように入力
    • グループ名: Admins
    • ポリシー: AdministratorAccess を選択

アクセスキーや、シークレットアクセスキーを作成したのであれば、このタイミングで表示されるので、なくさないよう厳重に保存します(後から確認することはできません)。

これで、管理者用の普段の作業も、ルートユーザーではなく、admin という IAM ユーザーで行えるようになります。

(応用)開発者用の IAM ユーザーの作成

上記では管理者用の IAM ユーザーを作成しましたが、それ以外の IAM ユーザー(開発者用など)も同様に作成することができます。 AWS は開発者用の IAM ポリシーをいくつか定義しています。 AdministratorAccess ポリシーとの大きな違いは、IAM 関連の操作(つまりユーザー管理)をするための権限を持っていないことです。

ここでは、AWS CLI を使って、コマンドラインからユーザーの作成と、PowerUserAccess ポリシーの割り当てをしてみます。 事前準備として、AWS CLI の初期設定 は完了しており、AdministratorAccess ポリシーの付いた IAM ユーザーのアクセスキーでコマンド実行できるようになっているものとします。

IAM ユーザー (maku) の作成
$ aws iam create-user --user-name maku

User:
  Arn: arn:aws:iam::098342099475:user/maku
  CreateDate: '2021-02-07T12:20:38+00:00'
  Path: /
  UserId: ABS2Q6S3VUAIDAQXINMCQ
  UserName: maku
IAM ユーザーのアクセスキーを発行
$ aws iam create-access-key --user-name=maku

AccessKey:
  AccessKeyId: AOXINMCQO7AASOQAKIAQ
  CreateDate: '2021-02-07T12:38:11+00:00'
  SecretAccessKey: MbX17I/DSInIN7dD1YOh5cE19EqG4gmblXSotFTj
  Status: Active
  UserName: maku

ここで、忘れずにアクセスキー (AccessKeyId) とシークレットアクセスキー (SecretAccessKey) を保存しておきます。

IAM ユーザーに PowerUserAccess ポリシーを割り当てる
$ aws iam attach-user-policy --user-name=maku --policy-arn=arn:aws:iam::aws:policy/PowerUserAccess

これで、開発用に使用する IAM ユーザーの作成は完了です。

関連記事

まくろぐ
サイトマップまくへのメッセージ