2021/08/17

AWS CLIとは?AWS CLIからIAMを操作する例を6つ紹介!

 
  

AWS CLIとは?


AWS Command Line Interface(AWS CLI)は、AWSの機能をコマンドベースで操作する機能です。クライアント端末にAWS CLIをインストールすると、AWSマネジメントコンソールで行える操作と同じ操作が、クライアント端末からコマンドで行えるようになります。

AWS CLIの主な利点は、コマンドを組み合わせることでAWSの管理作業が自動化できることにあります。また、AWS CLI自体には料金が発生せず、AWS CLIを利用して、操作したサービス毎に料金が発生します。

IAMとは?


AWS Identity and Access Management (IAM) は、EC2インスタンスなどのAWSリソースへの認証やアクセス権限を管理するためのWebサービスです。

AWS上にユーザーと権限をまとめたグループが作成・管理でき、AWSリソースへのアクセス許可・拒否を設定できます。

IAM自体の利用には料金が発生せず、IAMで管理するサービスの使用料のみ請求されます。

AWS CLIからIAMを操作する例


ここでは、AWS CLIでIAMを操作する時によく利用されるコマンドと実行例を紹介します。

紹介するコマンドは、AWS CLIを利用するための認証設定が完了していることを前提としていますので、ご了承ください。

IAMグループを作成する例

IAMグループの作成では、「create-group」というAWS CLIコマンドを利用します。

<主なオプション>

・--group-name:IAMグループ名

<コマンドの実行例>

$ aws iam create-group --group-name HogeGroup

【実行結果】


{
    "Group": {
        "GroupName": "HogeGroup",
        "CreateDate": "2021-01-14T03:03:52.834Z",
        "GroupId": "HSONEWUE9S6ANIDABUXAN",
        "Arn": "arn:aws:iam::123456789012:group/HogeGroup",
        "Path": "/"
    }
}

IAMユーザーを作成する例

IAMユーザーの作成では、「create-user」というAWS CLIコマンドを利用します。
<主なオプション>

・--user-name:IAMユーザー名

<コマンドの実行例>

$ aws iam create-user --user-name HogeUser

【実行結果】


{
    "User": {
        "UserName": "HogeUser",
        "Path": "/",
        "CreateDate": "2021-01-14T03:17:02.581Z",
        "UserId": "KIDSJY3KE2XIG6ESAMPLE",
        "Arn": "arn:aws:iam::123456789012:user/HogeUser"
    }
}

IAMユーザーをIAMグループに追加する例

IAMユーザーのIAMグループへの追加では、「add-user-to-group」というAWS CLIコマンドを利用します。
<主なオプション>


・--user-name:IAMユーザー名
・--group-name:IAMグループ名

<コマンドの実行例>

$ aws iam add-user-to-group --user-name HogeUser --group-name HogeGroup

IAMグループの設定状況は、「get-group」コマンドで確認可能です。
<主なオプション>

・--group-name:IAMグループ名

<コマンドの実行例>

$ aws iam get-group --group-name HogeGroup

IAMユーザーに初期パスワードを設定する例

IAMユーザーの初期パスワードの設定では、「create-login-profile」というAWS CLIコマンドを利用し、ユーザープロファイルの作成と初期パスワードの設定を行います。
<主なオプション>


・--user-name:IAMユーザー名
・--password:パスワード
・--password-reset-required:パスワードのリセットが必要な場合に設定
・--no-password-reset-required:パスワードのリセットが不要な場合に設定

<コマンドの実行例>


$ aws iam create-login-profile --user-name HogeUser --password HogeUser@LoginPassword --password-reset-required

【実行結果】


{
    "LoginProfile": {
        "UserName": "HogeUser",
        "CreateDate": "2021-01-14T16:22:18Z",
        "PasswordResetRequired": true
    }
}

なお、IAMユーザーのパスワード変更は「update-login-profile」コマンドを利用することで変更可能です。
<主なオプション>


・--user-name:IAMユーザー名
・--password:パスワード

<コマンドの実行例>

$ aws iam update-login-profile --user-name HogeUser --password HogeUser@NowLoginPassword

IAM管理ポリシーのAmazonリソースネームを追加する例

IAM ユーザーにIAM管理ポリシーを付与する際に、IAM管理ポリシーのAmazonリソースネーム(ARN)が必要になります。

そのため、ARNを環境変数に格納した後、IAM管理ポリシーへIAMユーザーを追加します。

【Step1】IAM管理ポリシーのARNを環境変数に格納する

IAM管理ポリシーのARNは、「list-policies」というAWS CLIコマンドを利用することで取得可能です。

<主なオプション>

・PolicyName==:IAM管理ポリシー名


<コマンドの実行例>


$ export POLICYARN=$(aws iam list-policies --query 'Policies[?PolicyName==`PowerUserAccess`].{ARN:Arn}' --output text)
$ echo $POLICYARN

【出力結果】

arn:aws:iam::aws:policy/PowerUserAccess

【Step2】IAM管理ポリシーへIAMユーザーを追加する例

IAM管理ポリシーへのIAMユーザー追加は、「attach-user-policy」というAWS CLIコマンドを利用します。

<主なオプション>


・--user-name:IAMユーザー名
・--policy-arn:【Step1】でIAM管理ポリシーのARNを格納した環境変数

<コマンドの実行例>


$ aws iam attach-user-policy --user-name HogeUser --policy-arn $POLICYARN

IAMユーザーのアクセスキーを作成する例

IAMユーザーのアクセスキーの作成には、「create-access-key」というAWS CLIコマンドを利用します。
<主なオプション>

・--user-name:IAMユーザー名

<コマンドの実行例>


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

【実行結果】


{
    "AccessKey": {
        "UserName": "HogeUser",
        "AccessKeyId": "AKIAIOSKODDN9ESAMPLE",
        "Status": "Active",
        "SecretAccessKey": "wJalrXUtnFELI/K7MDENG/bPxEfiCJEXAMPLEKEY",
        "CreateDate": "2021-01-14T16:34:16Z"
    }
}

AWS CLIでIAMを操作してみよう!


AWS CLIでIAMを操作する時によく利用されるコマンドと実行例を紹介しました。AWS CLIコマンドを組み合わせることでAWSの管理作業を自動化することも可能になります。

今回紹介したAWS CLIコマンドはごく一部のコマンドですので、AWS CLIのコマンドに興味がある方は、ぜひAWSの公式サイトもご参照ください。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】