今日の小ネタ:AWSアクセスキーは「ワンタイム」で使え

AIにAWSを触らせるのはめちゃくちゃ便利。

CloudWatchのログを直接見せてデバッグしたり、 設定の確認をさせたりすると作業効率はかなり上がる。

ただし問題は「アクセスキーどうするか」。

■ 固定アクセスキーはやめる

よくあるやり方: IAMユーザーのアクセスキーを作って使い回す

これは危険。

・漏れたら無限に使われる ・削除しない限り有効 ・どこに渡ったか管理できない

AIに渡す用途ではNG。

■ ワンタイムキーはある(正式には違う)

AWSには「ワンタイム的に使えるキー」がある。

正式には: AWS Security Token Service(STS) 一時的な認証情報(Temporary Credentials)

■ 仕組み

  1. IAMロールを作成
  2. STSで一時的な認証情報を取得
  3. AIに渡す
  4. 一定時間で自動失効

■ 発行される情報

・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

■ メリット

・時間制限付きなので安全性が高い ・必要な権限だけ付与できる ・ロール単位で制御可能

■ 注意点

  1. 権限は最小にする 例:CloudWatch読み取り専用など

  2. 有効期限は短くする 15分〜1時間で十分

  3. 本番環境では使わない 個人情報や機密データが含まれる可能性あり

■ まとめ

AIにAWSを触らせる場合は

・固定アクセスキーは使わない ・STSの一時的認証情報を使う

これだけでリスクはかなり下げられる。