#本記事の目的
JAWS-UG CLI オンラインハンズオンの復習として、ハンズオンで取り上げられたAWSサービスに関する用語と、使用したAWS CLI コマンドを箇条書きでまとめる。
今回はIAM基礎編を取り上げる。
#主なAWSサービス用語
####ポリシードキュメント
IAMポリシーにおける、アクセスの許可と拒否の条件を記載したJSON形式のファイル。
####(AWS CLI)認証情報ファイル
特定のIAMユーザで、AWS CLIからAWSリソースにアクセスする際に必要な認証ファイル。通常~/.aws/credentials
ファイル、及び~/.aws/config
ファイルを指す。
####インラインポリシー
AWSリソースに対する操作権限の一種。単一のユーザーやグループ、ロールに対してのみ付与できる。
####多要素認証(MFA)
特定のWebサービスにログインする際に、2つ以上の要素によって本人確認を行なう認証。特定のIAMユーザでAWSコンソールにログインする場合、MFAデバイスを設定する事でQRコードを用いたMFAを設定する事ができる。
####インスタンスプロファイル
特定のIAMロール情報をEC2インスタンス起動時に使用可能にするオブジェクト。
#主なAWS CLI コマンド一覧
####管理ポリシーバージョンの作成
$ aws iam create-policy-version --policy-arn <IAMポリシーのARN> --policy-document file://<IAMポリシードキュメントのパス>
####管理ポリシーバージョンの一覧表示
$ aws iam list-policy-versions --policy-arn <IAMポリシーのARN>
####管理ポリシーデフォルトバージョンの設定
$ aws iam set-default-policy-version --policy-arn IAMポリシーのARN> --version-id <IAMポリシーバージョンのID>
####管理ポリシーバージョンの削除
$ aws iam delete-policy-version --policy-arn <IAMポリシーのARN> --version-id <IAMポリシーバージョンのID>
####グループに対するインラインポリシーの作成
$ aws iam put-group-policy --group-name <IAMグループ名> --policy-name <IAMポリシー名> --policy-document file://<IAMポリシードキュメントパス>
####グループに対するインラインポリシーの一覧表示
$ aws iam list-group-policies --group-name <IAMグループ名>
####グループに対するインラインポリシーの削除
$ aws iam delete-group-policy --group-name <IAMグループ名> --policy-name <IAMポリシー名>
####仮想MFAデバイスの作成
$ aws iam create-virtual-mfa-device --virtual-mfa-device-name <仮想MFAデバイス名> --outfile <MFAブートストラップ出力ファイル用ディレクトリ> --bootstrap-method <MFAブートストラップメソッド名>
※--bootstrap-method
オプションの引数にQRCodePNG
を指定し、--outfile
オプションの引数にディレクトリを指定する事で、読み取る事で仮想MFAデバイスを登録できるQRコード画像が特定のディレクトリに出力される。
####仮想MFAデバイスの有効化
$ aws iam enable-mfa-device --user-name <IAMユーザー名> --serial-number <仮想MFAデバイスのシリアル番号> --authentication-code1 <連続した認証コード一回目> --authentication-code2 <連続した認証コード2回目>
####仮想MFAデバイスの一覧表示
$ aws iam list-virtual-mfa-devices
※仮想MFAデバイスのシリアル番号を表示できる。
####仮想MFAデバイスの無効化
$ aws iam deactivate-mfa-device --user-name <IAMユーザー名> --serial-number <仮想MFAデバイスのシリアル番号>
####仮想MFAデバイスの削除
$ aws iam delete-virtual-mfa-device --serial-number <仮想MFAデバイスのシリアル番号>
####ロールに対するインラインポリシーの作成
$ aws iam put-role-policy --role-name <IAMロール名> --policy-name <IAMポリシー名> --policy-document file://<IAMポリシードキュメントパス>
####ロールに対するインラインポリシーの一覧表示
$ aws iam list-role-policies --group-name <IAMロール名>
####ロールに対するインラインポリシーの削除
$ aws iam delete-role-policy --group-name <IAMロール名> --policy-name <IAMポリシー名>
####インスタンスプロファイルの作成
$ aws iam create-instance-profile --instance-profile-name <インスタンスプロファイル名> --path "<インスタンスプロファイルパス>"
####インスタンスプロファイルの一覧表示
$ aws iam list-instance-profiles
####インスタンスプロファイルの削除
aws iam delete-instance-profile --instance-profile-name <インスタンスプロファイル名>
####インスタンスプロファイルのアタッチ
$ aws iam add-role-to-instance-profile --instance-profile-name <インスタンスプロファイル名> --role-name <IAMロール名>
####インスタンスプロファイルの詳細表示
$ aws iam get-instance-profile --instance-profile-name <インスタンスプロファイル名>
####インスタンスプロファイルのデタッチ
$ aws iam remove-role-from-instance-profile --instance-profile-name <インスタンスプロファイル名> --role-name <IAMロール名>
#参考文献
- AWSCLIコマンドリファレンス:IAM
- JAWS-UG CLI専門支部:ハンズオン(簡易版): IAM基礎(ポリシー)
- JAWS-UG CLI専門支部:ハンズオン(簡易版): IAM基礎(グループ)
- JAWS-UG CLI専門支部:ハンズオン(簡易版): IAM基礎(ユーザー)
- JAWS-UG CLI専門支部:ハンズオン(簡易版): IAM基礎(ロール)
- JAWS-UG CLI専門支部:ハンズオン(簡易版): IAM基礎(インスタンスプロファイル)