LoginSignup
0
0

AWS-Vaultの設定方法

Posted at

概要

開発環境でAWSの認証情報を安全に行う為に、AWS Vaultを導入しました。今回はその設定方法について記載します。

事前設定

  • AWSのアカウントがあり、IAMの設定が出来る権限を持っている
  • Homebrewがインストールされている

導入手順

基本設定

  • AWS Vaultをインストールする
brew install --cask aws-vault 
  • AWS VaultにAWS認証情報を追加する
    Access KeySecret Access Keyの入力が必要な為、各項目に入力を行う
# 構文
$ aws-vault add # 任意のprofile名入力
Enter Access Key Id: # AWSのアクセスキーを入力
Enter Secret Key: # AWSのシークレットアクセスキーを入力

# 入力例
$ aws-vault add test
Enter Access Key Id: ABDCDEFDASDASF
Enter Secret Key: %%%

アクセスキーが作成されていない場合、下記のURLに作成方法が記載してありますので、参考にして作成してください。
[AWS公式ドキュメント] アクセスキーの管理 (コンソール)

aws-vaultのキーチェーンのパスワードを忘れた際の対処方法

  • 下記のコマンドで、aws-vaultのキーチェーンの情報を消去する
rm ~/Library/Keychains/aws-vault.keychain-db
  • 再度、キーチェーンの設定が表示される為、パスワードを入力する

[公式]Lost password

  • aws-vault listのコマンドで登録されている事を確認する
aws-vault list       
Profile                  Credentials              Sessions                 
=======                  ===========              ========                 
default                  -                        -                        
test                     test                     -   
  • 初期のconfigファイルは、下記の状態になっている
cat .aws/config                                           
[default]
region=ap-northeast-1

[profile test]

認証情報を継承

  • source_profileを設定をして、defaultに記載している認証情報を継承する
# 構文
aws configure set profile.任意のプロファイル名.source_profile default(継承したいprofileを選択しても良い)

# 入力例
aws configure set profile.test.source_profile default

defaultに設定があり、profile内に設定がない場合、defaultの設定内容を参照する

リージョンの変更

  • profile毎に使用するリージョンを変更したい場合に使用する
# 構文
aws configure set profile.任意のprofile名.region リージョン名

# 入力例
aws configure set profile.test.region us-east-1

IAMロールの導入

  • profile毎にロールの権限を付与してAWSのアクセス権限を制御したい場合に使用する
構文
aws configure set profile.任意のprofile名.role_arn IAMロールのARN

入力例
aws configure set profile.test.role_arn arn:aws:iam::123456789000:role/testRole

MFA認証の導入

profile毎にMFA認証を設定したい場合に使用する

# 構文
aws configure set profile.任意のprofile名.mfa_serial MFAのARN

# 入力例
aws configure set profile.test.mfa_serial arn:aws:iam::987654321000:mfa/testMfa

MFA認証の登録方法に関しては、下記を参考にして作成して下さい。
[公式]MFA デバイスを登録する

コマンドの叩き方

# 構文
aws-vault exec 任意のプロファイル名 -- awsコマンド or Terraformコマンド

# 入力例
# AWS CLI
aws-vault exec test -- aws s3 ls

# Terraform CLI
aws-vault exec test -- terraform init

補足

今回は、基本的な設定を記載しております。他にもいろんな設定が出来る為、公式ドキュメントを参考にして、必要に応じて組み込んで下さい

AWS Vaultに設定した認証の消去方法

  • 下記の消去コマンドで、Credentialsに記載されているprofile情報を入力して消去を行う
    (消去する際、本当に消去して良いか表示がされる為、問題なければyを押下する)
aws-vault remove プロファイル名

# 最終確認のコマンド入力
Delete credentials for profile "test"? (y|N) y
Deleted credentials.

参考記事

[公式]AWS Vault

まとめ

今回の記事の内容とは関係ないが、公式を読み込んで設定する事で、仕組みも理解出来、応用した設定も出来る。

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