今日の小ネタ:AWSアクセスキーは「ワンタイム」で使え
AIにAWSを触らせるのはめちゃくちゃ便利。
CloudWatchのログを直接見せてデバッグしたり、 設定の確認をさせたりすると作業効率はかなり上がる。
ただし問題は「アクセスキーどうするか」。
■ 固定アクセスキーはやめる
よくあるやり方: IAMユーザーのアクセスキーを作って使い回す
これは危険。
・漏れたら無限に使われる ・削除しない限り有効 ・どこに渡ったか管理できない
AIに渡す用途ではNG。
■ ワンタイムキーはある(正式には違う)
AWSには「ワンタイム的に使えるキー」がある。
正式には: AWS Security Token Service(STS) 一時的な認証情報(Temporary Credentials)
■ 仕組み
- IAMロールを作成
- STSで一時的な認証情報を取得
- AIに渡す
- 一定時間で自動失効
■ 発行される情報
・Access Key ID ・Secret Access Key ・Session Token(必須) ・Expiration(有効期限)
この3つセットで利用する。
■ CLI例
aws sts assume-role
—role-arn arn:aws:iam::123456789012:role/MyRole
—role-session-name ai-session
■ メリット
・時間制限付きなので安全性が高い ・必要な権限だけ付与できる ・ロール単位で制御可能
■ 注意点
-
権限は最小にする 例:CloudWatch読み取り専用など
-
有効期限は短くする 15分〜1時間で十分
-
本番環境では使わない 個人情報や機密データが含まれる可能性あり
■ まとめ
AIにAWSを触らせる場合は
・固定アクセスキーは使わない ・STSの一時的認証情報を使う
これだけでリスクはかなり下げられる。