1
2

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】aws-vaultを使ってCredentials, Access Keyを管理する

Last updated at Posted at 2021-04-24

今回はDjangoではなく、AWSがテーマです。

IAMユーザーでCredential情報を管理するにはどうしたらいいでしょうか?

CSVファイルをダウンロードして独自に管理するのは手間がかかるし、もしダウンロードしっぱなしにしてCSVファイルの存在を忘れた頃にPCがハッキングされる。なんてことがあったらたまりませんよね。

そこで、今回は__aws-vault__を使って管理しやすい環境を作っていこうと思います。

aws-vaultとは?

aws-vaultは、AmazonのSTS(Security Token Service)APIを使った、Credentialsの管理ソフトウェアです。

AWSユーザー認証にこのTokenを使うことで、認証に__最大12時間の有効期限__をつけることができ、セキュリティが高まるというメリットがあります。また、CSVファイルなどを管理する手間も省けます。

aws-vaultをインストールする

MacOSでHomebrewを使っている方は、

$ brew install --cask aws-vault

その他の方は、公式のgithub aws-vaultをご覧ください。

Access Keyをaws-vaultに保管する

以下の操作はCLIで行います。
addコマンドで、aws-vaultにIAMユーザーを登録します。

$ aws-vault add ここにiamのusernameなどを記入

そうすると、Access Keyを聞かれるので、IAMのコンソールから保存したいAccess KeyのIDをコピーしてペーストします。

ちなみに初めて使う場合は、その前にaws-vault自体のパスワードを設定する画面が出るはずです。

Enter Access Key ID: ここにペースト

その後、実際のSecret Access Keyを聞かれるので、IAMコンソールでshowを押してコピペして、ペーストします。

Enter Access Key: ここにペースト

以上でaddは完了です!

MFAなどの設定

addコマンドによって、~/.aws/configファイルに[profile 入力したusername]のセクションが生成されています。ここにIAMユーザーのデフォルトの設定を記入することができます。

~/.aws/config
[profile username]
region=ap-northeast-1
mfa_serial=arn:aws:iam::0123456789:mfa/iam.username

のように編集して、デフォルトのリージョンを設定したり、MFAのarnコードを保存しましょう。

細かい設定などは、github aws-vault Usageを確認してください。

実際にaws-vaultを使って認証用Tokenを生成する

execコマンドを使って、一時的な認証を行います。このコマンドによって、terminalのセッションに、aws-vaultが生成したCredentialが保存されます。

$ aws-vault exec taichi.masuyama --duration=2h

--duration オプションをつけて認証情報の有効期限を設定できます。最大で12時間(12h)です。

MFAを設定した方は、MFAのコードが要求されるので、AuthyなどのMFAを設定したデバイスでコードを確認して入力してください。

Enter token for arn:aws:iam::0123456789:mfa/iam.username: ここにコードを入力

これで、環境変数に認証に必要な変数がセットされています。export -pなどで確認してみてください。

また、

$ aws-vault list

で現在セッションに存在するユーザーや、残り時間を確認することができます。

終わりに

IAMのAccess KeyをCSVファイルで管理するのにはリスクもコストも伴います。aws-vaultはそれを簡単に解決してくれました。

参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?