0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS IAM関連リソースをCLIでつくってみた。

Last updated at Posted at 2023-02-15

AWSともっと仲良くなるためにAWSリソースをCLIで作成できるように練習してみる。
何かやだなーってところは適当にマスクする。

参考:AWS CLI Command Reference

今回はIAM周りの設定から。

とりあえずヘルプ

必要なコマンドを探すためヘルプを表示

$ aws iam help

無駄に名前だけいっぱい出てきた。。リファレンス見た方がよい。

IAMユーザの作成

それっぽいコマンドがあったのでたたいてみる。

$ aws iam create-user test-user

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

aws.exe: error: the following arguments are required: --user-name

怒られた…もう一度再挑戦

$ aws iam create-user --user-name test-user

無事作成完了

access-keyの発行

それっぽくアクセスキーも発行してみる。

$ aws iam create-access-key --user-name test-user

おー!作成できた。

IAMポリシーの作成

ポリシーの作成にも挑戦

え、ちょっと待って。
引数どーすんの?って時はリファレンスを確認。

読み込ませるjsonファイルはこちら(IAMReadOnlyAccessをコピー)

vi policy.json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:GenerateCredentialReport",
                "iam:GenerateServiceLastAccessedDetails",
                "iam:Get*",
                "iam:List*",
                "iam:SimulateCustomPolicy",
                "iam:SimulatePrincipalPolicy"
            ],
            "Resource": "*"
        }
    ]
}

ポリシーを作成

$ aws iam create-policy --policy-name test-user --policy-document file://policy.json

作成したポリシーをアタッチする。

$ aws iam attach-user-policy --user-name test-user --policy-arn arn:aws:iam::************:policy/test-user

アタッチされたポリシーの確認

$ aws iam list-attached-user-policies --user-name test-user

あんがい出来るやん。

後始末

アクセスキーID確認

$ aws iam list-access-keys --user-name test-user

アクセスキー削除
⇒ 違うユーザから削除する場合は--user-nameが必要みたい。

$ aws iam delete-access-key --user-name test-user --access-key-id *************

ポリシーのデタッチ

$ aws iam detach-user-policy --user-name test-user --policy-arn arn:aws:iam::************:policy/test-user

ユーザ削除

$ aws iam delete-user --user-name test-user

ポリシーの検索

$ aws iam list-policies --query 'Policies[?PolicyName==`test-user`]'

ポリシーの削除

aws iam delete-policy --policy-arn arn:aws:iam::************:policy/test-user

感想

  • 思ったより簡単だった
  • 情報出力の際は--queryがだいぶ役に立つっポイ
  • shellscript活用すればだいぶ業務圧縮できるんでないの?
  • Jenkinsとかと組み合わせるとすっごい活躍してくれそう

めちゃめちゃ便利だったので、今後もっと極めていきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?