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に設定
・機密性の高低は情報を取り扱う人が判断
以上です!