1
0

AWS CLIを使い始めるまで

Posted at

はじめに

AWS CLIを認証する方法は複数あり、結局どのようにすれば良いのか迷ってしまいました。ここでは、公式が推奨している方法をまとめます。

AWS CLIのインストール

Linux、MacOS、Windowsでインストール方法が異なります。公式ドキュメントの通りにインストールするのが確実です。

IAM Identity Centerを使ったログイン

IAM Identity Centerは組織がユーザのアクセスを一元管理するサービスです。
ポータルサイトのURL(https://xxx.awsapps.com/start/のようなURL)にログインします。
アカウントが発行されていないなら、管理者に依頼するか、以下のドキュメントにしたがってIAM Identity Centerを導入する必要があります。

認証方法

SSOトークンを使った認証が推奨されています。
SSOとはシングルサインオン(Single Sign On)のことで、ユーザ認証を一度だけ行うことで複数のサービスを利用できる機能のことです。

IAM Identity Centerの情報取得

認証に必要な情報を事前に取得しておきます。
まず、AWS access portalにログインして、Access keysのリンクをクリックしてください。
image.png

クリックしたら以下のような画面になるので、自分が使っているOSを選んで、SSO start URLSSO Regionをコピーします。
認証のときに、この2つを使います。
image.png

コマンドによる認証

ポータルサイトにログインしたら、ローカルのターミナル等で次のコマンドを入力します。

$ aws configure sso

設定が必要になるので、以下の項目のように入力していきます。

項目 入力
SSO session name (Recommended) 自由に設定
SSO start URL 前節でコピーしたURL
SSO region 前節でコピーしたURL
SSO registration scopes sso:account:accessと入力

入力するとブラウザが起動して認証を求められます。
認証が終わると再びターミナルに戻り、残りの項目を入力していきます。

項目 入力
There are n AWS accounts available to you. 使用するアカウントの選択
There are n roles available to you. 使用するロールを選択
CLI default client Region リージョン一覧から選んで入力(例えば東京はap-northeast-1)
CLI default output format json yaml yaml-stream text tableから選択
CLI profile name 設定の名前を自由に入力

以上で設定は完了となります。正しく設定できたかどうかは、以下のコマンドを入力すると分かります。

$ aws s3 ls --profile [CLI profile name]

セッションが切れたら

AWSではセッションの期間はデフォルトで1時間に設定されています。

新しいアクセス権限セットを作成すると、デフォルトでセッションの継続時間が 1 時間 (秒単位) に設定されます。セッション時間は、最短で 1 時間、最長で 12 時間まで設定できます。

セッションの期間を変更する場合は、セッション期間の設定にしたがいましょう。

セッション期間が切れると以下のようなメッセージが出力されます。

$ aws s3 ls --profile [CLI profile name]
> Error when retrieving token from sso: Token has expired and refresh failed

このときには以下のコマンドで再認証できます。

$ aws sso login --profile [CLI profile name]

プロファイル名を忘れてしまったとき

ログインのときにはプロファイル名が必要ですが、忘れてしまった場合でも、以下のコマンドで設定したプロファイルの一覧が確認できます。

$ aws configure list-profiles

設定したプロファイルを削除するとき

設定情報は~/.aws/configファイルに書かれているので、テキストエディタで削除できます。

参考

トークンによる認証方法
AWS 設定コマンド

1
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
1
0