メメメモモ

プログラミング、筋トレ、ゲーム、etc

アクセスキーとシークレットキーを含んだCSVファイルをパースして、credentialsとconfigの設定を出力するスクリプトを書いた

概要

以下のような形式のCSVファイルを想定しています。

User name,Password,Access key ID,Secret access key,Console login link
{user_name},{password},{access_key},{secret_access_key},https://{account_name}.signin.aws.amazon.com/console

スクリプトはPythonで書きました。

#!/usr/bin/env python
import csv
import sys
import re

rows = []

for i in range(1, len(sys.argv)):
    arg = sys.argv[i]
    with open(arg, 'r') as f:
        reader = csv.reader(f)
        header = next(reader)

        row = next(reader)
        m = re.search(r'https://(.+)\.signin\.aws.amazon\.com/console', row[4])
        row[4] = m.group(1)

        rows.append(row)
        

for row in rows:
    print("[{}]".format(row[4]))
    print("aws_access_key_id = {}\naws_secret_access_key = {}".format(row[2], row[3]))

print("")

for row in rows:
    print("[profile {}]".format(row[4]))
    print("output = json")
    print("region = ap-northeast-1")

以下のようなアウトプットになります。

[{account_name}]
aws_access_key_id = {access_key}
aws_secret_access_key = {secret_access_key}

[profile {account_name}]
output = json
region = ap-northeast-1