$30 off During Our Annual Pro Sale. View Details »

aws-vault を使った セキュアなアクセスキー管理 / Manage AWS Access Key More Securely By Using aws-vault

Kizashi Nagata
September 30, 2022

aws-vault を使った セキュアなアクセスキー管理 / Manage AWS Access Key More Securely By Using aws-vault

2022/09/29
AWS Startup Tech Meetup 関西 #1
発表資料

https://aws-startup-community.connpass.com/event/258486/

Kizashi Nagata

September 30, 2022
Tweet

More Decks by Kizashi Nagata

Other Decks in Technology

Transcript

  1. aws-vault を使った セキュアなアクセスキー管理 AWS Startup Tech Meetup 関西 #1 2022/09/29

    株式会社インゲージ 永田 兆
  2. 自己紹介 • 永田 兆(ながた きざし) • @kizashi1122 • 2014年よりインゲージ社(創業メンバー) ◦ 創業時よりCTO ◦

    Re:lation(次のページ)の開発 ◦ バックエンドやインフラを担当 2
  3. サービス紹介

  4. aws のアクセスキーの管理 どうしていますか? 4

  5. サービス開発とアクセスキー • 本番環境では IAM Role(ECS TaskRoleなど)を使っているためアクセスキー を意識することはありません • 開発環境(個人の PC

    端末)では、AWS リソースにアクセスする事情がある 場合にはアクセスキーを付与する必要があります ◦ 付与したアクセスキーは $HOME/.aws/credentials に配置する、など 5
  6. 今まで • 社員メンバーについては IAM Identity Center(旧AWS SSO)で管理するよう になった • (にもかかわらず)開発環境用に最低限のポリシーをアタッチした

    IAM User Group を作成して、 • その IAM User Group 内にエンジニア(社員・パートナーともに)ごとに、 IAM User を作成していた(アクセスキーを払い出していた) 6 IAM Policy IAM User Group IAM User IAM User IAM User
  7. 7 しかし、永続アクセスキーは情報漏えいの観点からも、 付与すべきではありません! せめてもの対策で https://github.com/rhyeal/aws-rotate-iam-keys をつかって、 キーのローテーションの自動化はしていました

  8. 方針 • aws-vault を使う ◦ アクセスキーや秘匿情報を .aws/credentials ではなく、OS のキーストアに管理できる Go

    製 のコマンドラインツール ◦ brew install --cask aws-vault でインストール可能 ◦ sts/mfa/sso に対応 • 社員(IAM Identity Center 管理) ◦ IAM Identity Center と aws-vault を連携させる ◦ MFA は IdP 側でおこなっているので AWS 側では設定不要とする • パートナー(IAM Identity Center 管理外) ◦ IAM User は作成する(し、アクセスキーも発行する) ◦ MFA 認証後でないと開発者向け IAM Role を引き受けられないというポリシーを設定 ◦ このアクセスキーが漏れても実害がない 8
  9. コマンド実行例 • -- の後ろのコマンドに AWS_ACCESS_KEY_ID などの環境変数が引き渡され る ◦ aws コマンドだけでなく、docker-compose

    や terraform でも使えます • ただし、コマンド実行時に、ブラウザで許可したり(SSO)、MFA パスコー ドを入力したり(STS)は必要 9 $ aws-vault exec relation -- docker-compose up -d
  10. 結果 • 社員に発行していた分の IAM Userは撲滅できた! • $HOME/.aws/credentials も不要になった! • 手間は増えたがセキュアになった!

    10
  11. 11 インゲージではエンジニアを募集しています!