【初心者向け】CloudFromationを使用して簡単にIAMユーザー作成

May
2024-06-19
2024-06-19

こんにちは。

今回はClouFormationのテンプレートでIAMユーザー作成の方法をご紹介します。

IAMユーザー作成する時、ログインするためUserNameとPassword設定が必要です。

初回のログインするタイミングで、パスワードリセットする設定が必要です。

管理するポリシーはPowerUserAccessポリシーを使用しています。

PowerUserAccess: このポリシーは、AWSリソースへの幅広いアクセス権を与えますが、アカウント全体を管理するための権限は持ちません。PowerUserは、EC2インスタンスを起動・停止したり、S3バケット内のオブジェクトを管理するなど、多くのAWSサービスに対する操作が可能です。しかし、IAMユーザーやグループの作成や削除、ポリシーの変更などのアカウント全体を管理するための権限は持っていません。

AWSのPowerUserAccessについては下記の公式ドキュメントにもご参考頂ければと思います。

AWSのPowerUserAccessポリシー

それにAWS APIへのアクセス、AWS CLIの使用や他のAWS SDKを使用してAWSリソースを管理する為、IAMユーザーのアクセスキーIDとシークレットアクセスキーも作成しています。

■CloudFormationのYAML形式テンプレート

(iam_user_template.yaml)テンプレートの書き方が下記となります。

AWSTemplateFormatVersion:
  "2010-09-09"
Description: IAM User作成テンプレート
# ------------------------------------------------------------#
Resources:
  FSIamUser:
    Type: AWS::IAM::User
    Properties:
      Path: /
      LoginProfile:
        Password: sGVFs123wvs
        PasswordResetRequired: false  ← 初回ログインパスワードリセット設定
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/PowerUserAccess
      UserName: fsIamUser
# ------------------------------------------------------------------------#
#AWS APIへのアクセス、AWS CLIの使用や他のAWS SDKを使用してAWSリソースを管理する為、
#IAMユーザーのアクセスキーIDとシークレットアクセスキーを作成する。
# --------------------------------------------------------------------------#
  FSIamUserAccessKey:
    Type: AWS::IAM::AccessKey
    Properties:
      UserName: !Ref FSIamUser

  FSIamUserAccessKeySecret:
    Type: AWS::SecretsManager::Secret
    Properties:
      Name: !Sub ${FSIamUser}-credentials
      SecretString: !Sub "{\"accessKeyId\":\"${FSIamUserAccessKey}\",\"secretAccessKey\":\"${FSIamUserAccessKey.SecretAccessKey}\"}"

※今回はOFFにしていますが。本来は初回ログインパスワードリセット設定はONにすることが推奨されます。ONにすることで、初回ログイン時にパスワードリセット設定を行うよう、パスワード変更ポリシーが与えられます。

テンプレートの使い方

AWSコンソールにログインして、CloudFromationパンネルに遷移する。

CloudFromationパンネルからスタックスタック作成 → テンプレートファイルのアップロードを選択して(iam_user_template.yaml)テンプレートをアプロードしてください。

その後、「次へ」ボッタンをクリックすると「スタックの詳細を指定画面」が表示されます。

スタック名の枠にスタック名(例:iam-user-create)を記入し、「次へ」をクリックする。

最後に「確認して作成」画面に下記の画像みたいに表示されたら、青い枠のチェックボックスにチェックを入れて「送信」ボタンをクリックしてください。

stack_create

スタック作成完了後は、下記のように表示されます。それで完成です。

stack_create_complete

■Secrets Manager に Access ID と Secret Access Key 確認する方法

1. AWSコンソールにログインして、検索枠にsecrets Managerを記入して検索する。

2.Secrets Managerをクリックしてsecrets Managerのパネルに遷移する。

secrets Manager

4.Secrets Managerパンネルに作成したcredentialsが表示されます。

credentials

5.表示されたfsIamUser-credentialsをクリックするとシークレットの詳細画面が表示されます。

secrets詳細

6.上記の画面にある「シークレットの値を取得する」をクリックすると下記のようにアクセスキーとシークレットキーが確認できます。

確認画面

■作成したIAMユーザーのログイン確認

AWSコンソールのサインイン URLからログインする。

サインイン URLはメインアカウントIDが記載されているURLとなります。

例:https://123456789123.signin.aws.amazon.com/console

iam-user-login

ログイン成功したら、ログインアカウントの所にfsIamUserが表示されます。

login

以上です。最後まで読んでくれてありがとうございました。