未分類

【AWS CLI】credentialsとconfigの使い分けは設定内容の機密度合い

AWS CLIで使用するcredentialsおよびconfigファイルの使い分けについて解説していきます。

環境

PC:MacOS

AWS CLI:1.16.170

credentialsおよびconfigファイルとは

credentialsおよびconfigファイルいずれもAWS CLIの設定ファイルです。

AWS環境のアクセスに必要なアクセスキーやシークレットキーなどを設定ファイルに定義します。

awsコマンドを使用して設定してみましょう。


$aws configure
AWS Access Key ID [None]: hoge
AWS Secret Access Key [None]: fuga
Default region name [None]: ap-northeast-1
Default output format [None]: json

設定すると「~/.aws/」配下に設定ファイルができていて、入力した内容が反映されています。


$ls -tr ~/.aws/
credentials	config

$ cat ~/.aws/credentials 
[default]
aws_access_key_id = hoge
aws_secret_access_key = fuga

$ cat ~/.aws/config 
[default]
region = ap-northeast-1
output = json

credentialsとconfigの使い分け

AWSは以下ルールで使い分けることを推奨しています。

機密性の高い情報はcredentialsに設定

機密性の低い情報はconfigに設定

機密性の高低の判断はその情報を取り扱う人によって異なるため、適切に判断して設定する必要があります。

一般的には

機密性の高い情報は、アクセスキーやシークレットキーなどが該当します。

機密性の低い情報は、リージョンや出力形式などが該当します。

その他の注意点として、機密性の高い情報をconfigに設定することも可能です。


$ cat ~/.aws/config 
[default]
aws_access_key_id = hoge
aws_secret_access_key = fuga
region = ap-northeast-1
output = json

また、同じ設定があった場合はcredentialsの設定が優先されます。

まとめ

・機密性の高い情報はcredentials、低い情報はconfigに設定

・機密性の高低は情報を取り扱う人が判断

以上です!