3
4

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 3 years have passed since last update.

【AWS】MFAを有効にしているユーザでCLIを利用する方法

Posted at

はじめに

MFAを設定しているユーザでAWS CLIを利用してみたいと思ったので、試してみました。

利用方法

アクセストークンの設定

ユーザのCLIアクセストークン等の情報は事前に発行しておいてください。

基本情報設定コマンド
aws configure

下記4点の情報について入力を求められるので、ユーザの認証情報を入力してください。

基本情報設定コマンド実行結果
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

CLI上でMFA認証

ターミナル上で下記の文を実行します。

MFA認証を実行する
aws sts get-session-token --serial-number [[自分のMFAデバイスのARN]] --duration-seconds 86400 --token-code [[MFAデバイスの認証コード]]

自分のMFAデバイスのARNの確認方法
AWSマネジメントコンソールのユーザータブから、確認したいユーザのページを開きます。
認証情報のタブを開き、赤枠内に記載されているARNを利用します。

0720.png

--token-codeの確認方法
自分が設定しているMFAの認証機器上でコードを確認してください。

MFA認証実行後の設定

MFA認証を実行すると、下記のような認証結果が返却されます。

MFA認証の実行結果
{
    "Credentials": {
        "AccessKeyId": "AccessKeyIdxxxxxxxxxxxxxxxxxxx",
        "SecretAccessKey": "SecretAccessKeyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "SessionToken": "SessionTokenxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "Expiration": "202X-XX-XXTXX:XX:XX+00:00"
    }
}

実行結果を元に、認証情報を設定します。
--profileで名前を付けて認証情報を設定します。
今回は、「mfa-user」という名前で認証情報を登録します。

~/.aws/credentialsに情報を登録します。

credentialsの末尾に追加する内容
[mfa-user]
output = json
region = ap-northeast-1
aws_access_key_id = AccessKeyIdxxxxxxxxxxxxxxxxxxx
aws_secret_access_key = SecretAccessKeyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
aws_session_token = SessionTokenxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

実行確認

上記の設定で、mfa-userというプロファイルでCLIが動作するようになっていると思います。

実行できるか確認してみましょう。

確認用コマンド
aws s3 ls --profile mfa-user

正常に設定されていた場合、エラーでは無く、s3のバケット一覧が表示されるはずです!
s3のバケットが1つも無い場合は1つも無い旨のメッセージが表示されます。

まとめ

MFA認証を有効にしたまま、CLIを利用する方法をまとめてみました。
今までは、AWSマネジメントコンソールから操作していましたが、今後は、CLIを積極的に利用していきたいと思います。

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?