© 2022 NTT DATA Corporation
[2022 年の AWS アップデートを振り返ろう ~Season 4~]
IAM Roles Anywhereのない世界とある世界
2022/11/24
株式会社NTTデータ 奥村康晃
© 2022 NTT DATA Corporation 2
自己紹介
氏名:奥村 康晃
所属:NTTデータ ソリューション事業本部
データセンタ&クラウドサービス事業部
役割:
- クラウド分野における技術リード
- 先進技術のソリューション取り込み
好きなAWSサービス:
- Organizations
- IAM Roles Anywhere  New
© 2022 NTT DATA Corporation 3
本日ご紹介するアップデート
• IAM Roles AnywhereのGA
• https://aws.amazon.com/jp/about-aws/whats-new/2022/07/aws-
identity-access-management-iam-roles-anywhere-workloads-
outside-aws/
なぜIAM Roles Anywhereが素晴らしいのかを
“AWS外からAWSリソースへAPIアクセスする”というシチュエーションを
使って説明していきます!
© 2022 NTT DATA Corporation 4
AWS外からのAWSへのAPIアクセス時の課題
AWSの外からAWSリソースへAPI経由でアクセスしようとする場合、必ずアクセスキーを操作
元に保持する必要がある
• アクセスキー=アクセスキー IDとシークレットアクセスキーの2つの文字列の組み合わせ
アクセスキーが漏洩すると不正操作などが行われる可能性があり、
アクセスキー管理方法は注意を払う必要がある
AWS Cloud
オンプレシステム
ローカル開発環境
API
アクセスキー
アクセスキー
© 2022 NTT DATA Corporation 5
AWS外からのAWSへのAPIアクセス時の課題への対策
ポピュラーな対策が、一時的なアクセスキーを払い出すことで、漏洩時のリスクを抑えること
AWS Cloud
オンプレシステム
ローカル開発環境
API
アクセスキー
アクセスキー
有効期限のある一時的なアクセスキー
© 2022 NTT DATA Corporation 6
IAM Roles Anywhereがない世界の実現方法 | IAM Identity Center
• IAM Identity Center(旧SSO)を利用し、一時アクセスキーを発行
• AWS CLI(v2)を利用して、コマンドラインベースで一時的なアクセスキーを呼び出し元
に保持させることが可能
Member Account
オンプレシステム
ローカル開発環境
AWS IAM
Identity Center
1. aws sso login –profile xx
0.profile作成
2. IAM Identity Center
セッション認証情報の保存
3. profile指定でのawsコマンドの実行(一時アクセスキーの取得)
Master Account
AWS STS
4. 一時アクセスキーの取得しつつ、コマンド結果受領
© 2022 NTT DATA Corporation 7
IAM Roles Anywhereがない世界の実現方法 | IAM Identity Center
大規模なマルチアカウント環境になってくると、IAM Identity Centerでの中央
集権的な権限管理だと自由度が低く、つらくなる
(Organizationsが使えない場合はそもそもこの構成が取れない)
Member Account
オンプレシステム
ローカル開発環境
AWS IAM
Identity Center
1. aws sso login –profile xx
0.profile作成
2. IAM Identity Center
セッション認証情報の保存
3. profile指定でのawsコマンドの実行(一時アクセスキーの取得)
Master Account
AWS STS
4. 一時アクセスキーの取得しつつ、コマンド結果受領
© 2022 NTT DATA Corporation 8
IAM Roles Anywhereがない世界の実現方法 | Jump Account
• Jump Accountと呼ぶ踏み台アカウントを用意し、そこにだけIAMユーザを用意し、Jump
AccountのIAMユーザからメンバーアカウントへスイッチロールする方式
• 各AWSアカウントで自由に権限制御ができ、大規模マルチアカウント環境でもOK!
• Jump Account用のIAMユーザのみ長期アクセスキーを利用するが、接続元IPアドレス
制限、権限を絞る、で安心安全!
Member Account
オンプレシステム
ローカル開発環境
IAM User
1. IAMユーザで認証
(長期アクセスキー)
2. Member AccountのIAM Roleへスイッチロール
Jump Account
AWS STS
3. 一時アクセスキーの取得
IAM Role
assume roleを許可
権限管理
は各アカウント
© 2022 NTT DATA Corporation 9
IAM Roles Anywhereがない世界の実現方法 | Jump Account
ただし、結局組み合わせる文字列の数が2つから3つ(アクセスキーID, シークレッ
トアクセスキー, スイッチロール先のIAM RoleのARN)になっただけで、本当にセ
キュリティレベルが高まっているのか・・・
接続元のIPアドレス制限はされているのだけど・・・
モヤモヤ・・・
Member Account
オンプレシステム
ローカル開発環境
IAM User
1. IAMユーザで認証
(長期アクセスキー)
2. Member AccountのIAM Roleへスイッチロール
Jump Account
AWS STS
3. 一時アクセスキーの取得
IAM Role
assume roleを許可
権限管理
は各アカウント
© 2022 NTT DATA Corporation 10
そんな時に発表があったのが、
IAM Roles Anywhere
© 2022 NTT DATA Corporation 11
IAM Roles Anywhereとは?
AWS外部にあるアプリケーションが IAM ロールを使用して AWS API にセキュアにアクセス
できる仕組み
信頼済みの認証局が発行した証明書と一時アクセスキーを交換することが可能
オンプレシステム
ローカル開発環境
AWS Cloud
IAM Roles
Anywhere
認証局
発行
AWS STS
信頼
1. 秘密鍵と証明書の提示
2. 一時アクセスキーの取得
© 2022 NTT DATA Corporation 12
IAM Roles Anywhereを実環境で使うときに困ること
1.マルチアカウント環境で、全AWSアカウントにIAM Roles Anywhereを作るのか?
2.認証局をどうする?
困りポイント2
オンプレシステム
ローカル開発環境
AWS Cloud
IAM Roles
Anywhere
認証局
発行
AWS STS
信頼
1. 秘密鍵と証明書の提示
2. 一時アクセスキーの取得
困りポイント1
© 2022 NTT DATA Corporation 13
IAM Roles Anywhereを使いやすくするには?
• Jumpアカウント構成をとり、1つのAWSアカウントだけでIAM Roles Anywhereを用意
• 認証局をJumpアカウント内にPrivate CAとして用意し、認証局維持作業を軽減
• JumpアカウントのIAMロールとして認証を行い、その後メンバーアカウントのIAMロールへスイッチロール。
• 権限管理の自由度を高めつつ、Jumpアカウントへの認証機構のセキュリティレベルを向上!
Member Account
オンプレシステム
ローカル環境
Jump Account
2. MemberアカウントのIAMロールへスイッチロール
IAM Role
assume roleを許可
権限管理
は各アカウント
IAM Roles
Anywhere
IAM Role
Private CA
0. 発行
1. Jumpアカウントの
IAMロールへ
信頼
素晴らしき、IAM Role Anywhereのある世界・・・!
© 2022 NTT DATA Corporation 14
ただ・・・・
IAM Roles Anywhereは専用ツールである、クレデンシャル・ヘルパー・ツールの利用が必須
https://docs.aws.amazon.com/ja_jp/rolesanywhere/latest/userguide/c
redential-helper.html#getting-credential-helper-tool
ぜひともAWS CLIに標準装備していただけると、もっと嬉しい・・・!
以前はCLIでなければ作れなかったIAM Roles Anywhere用のIAM Roleもマネコンから作
れるようになっていたりと、改善が見られるので、引き続き改善よろしくお願いいたします!
© 2022 NTT DATA Corporation

IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)

  • 1.
    © 2022 NTTDATA Corporation [2022 年の AWS アップデートを振り返ろう ~Season 4~] IAM Roles Anywhereのない世界とある世界 2022/11/24 株式会社NTTデータ 奥村康晃
  • 2.
    © 2022 NTTDATA Corporation 2 自己紹介 氏名:奥村 康晃 所属:NTTデータ ソリューション事業本部 データセンタ&クラウドサービス事業部 役割: - クラウド分野における技術リード - 先進技術のソリューション取り込み 好きなAWSサービス: - Organizations - IAM Roles Anywhere  New
  • 3.
    © 2022 NTTDATA Corporation 3 本日ご紹介するアップデート • IAM Roles AnywhereのGA • https://aws.amazon.com/jp/about-aws/whats-new/2022/07/aws- identity-access-management-iam-roles-anywhere-workloads- outside-aws/ なぜIAM Roles Anywhereが素晴らしいのかを “AWS外からAWSリソースへAPIアクセスする”というシチュエーションを 使って説明していきます!
  • 4.
    © 2022 NTTDATA Corporation 4 AWS外からのAWSへのAPIアクセス時の課題 AWSの外からAWSリソースへAPI経由でアクセスしようとする場合、必ずアクセスキーを操作 元に保持する必要がある • アクセスキー=アクセスキー IDとシークレットアクセスキーの2つの文字列の組み合わせ アクセスキーが漏洩すると不正操作などが行われる可能性があり、 アクセスキー管理方法は注意を払う必要がある AWS Cloud オンプレシステム ローカル開発環境 API アクセスキー アクセスキー
  • 5.
    © 2022 NTTDATA Corporation 5 AWS外からのAWSへのAPIアクセス時の課題への対策 ポピュラーな対策が、一時的なアクセスキーを払い出すことで、漏洩時のリスクを抑えること AWS Cloud オンプレシステム ローカル開発環境 API アクセスキー アクセスキー 有効期限のある一時的なアクセスキー
  • 6.
    © 2022 NTTDATA Corporation 6 IAM Roles Anywhereがない世界の実現方法 | IAM Identity Center • IAM Identity Center(旧SSO)を利用し、一時アクセスキーを発行 • AWS CLI(v2)を利用して、コマンドラインベースで一時的なアクセスキーを呼び出し元 に保持させることが可能 Member Account オンプレシステム ローカル開発環境 AWS IAM Identity Center 1. aws sso login –profile xx 0.profile作成 2. IAM Identity Center セッション認証情報の保存 3. profile指定でのawsコマンドの実行(一時アクセスキーの取得) Master Account AWS STS 4. 一時アクセスキーの取得しつつ、コマンド結果受領
  • 7.
    © 2022 NTTDATA Corporation 7 IAM Roles Anywhereがない世界の実現方法 | IAM Identity Center 大規模なマルチアカウント環境になってくると、IAM Identity Centerでの中央 集権的な権限管理だと自由度が低く、つらくなる (Organizationsが使えない場合はそもそもこの構成が取れない) Member Account オンプレシステム ローカル開発環境 AWS IAM Identity Center 1. aws sso login –profile xx 0.profile作成 2. IAM Identity Center セッション認証情報の保存 3. profile指定でのawsコマンドの実行(一時アクセスキーの取得) Master Account AWS STS 4. 一時アクセスキーの取得しつつ、コマンド結果受領
  • 8.
    © 2022 NTTDATA Corporation 8 IAM Roles Anywhereがない世界の実現方法 | Jump Account • Jump Accountと呼ぶ踏み台アカウントを用意し、そこにだけIAMユーザを用意し、Jump AccountのIAMユーザからメンバーアカウントへスイッチロールする方式 • 各AWSアカウントで自由に権限制御ができ、大規模マルチアカウント環境でもOK! • Jump Account用のIAMユーザのみ長期アクセスキーを利用するが、接続元IPアドレス 制限、権限を絞る、で安心安全! Member Account オンプレシステム ローカル開発環境 IAM User 1. IAMユーザで認証 (長期アクセスキー) 2. Member AccountのIAM Roleへスイッチロール Jump Account AWS STS 3. 一時アクセスキーの取得 IAM Role assume roleを許可 権限管理 は各アカウント
  • 9.
    © 2022 NTTDATA Corporation 9 IAM Roles Anywhereがない世界の実現方法 | Jump Account ただし、結局組み合わせる文字列の数が2つから3つ(アクセスキーID, シークレッ トアクセスキー, スイッチロール先のIAM RoleのARN)になっただけで、本当にセ キュリティレベルが高まっているのか・・・ 接続元のIPアドレス制限はされているのだけど・・・ モヤモヤ・・・ Member Account オンプレシステム ローカル開発環境 IAM User 1. IAMユーザで認証 (長期アクセスキー) 2. Member AccountのIAM Roleへスイッチロール Jump Account AWS STS 3. 一時アクセスキーの取得 IAM Role assume roleを許可 権限管理 は各アカウント
  • 10.
    © 2022 NTTDATA Corporation 10 そんな時に発表があったのが、 IAM Roles Anywhere
  • 11.
    © 2022 NTTDATA Corporation 11 IAM Roles Anywhereとは? AWS外部にあるアプリケーションが IAM ロールを使用して AWS API にセキュアにアクセス できる仕組み 信頼済みの認証局が発行した証明書と一時アクセスキーを交換することが可能 オンプレシステム ローカル開発環境 AWS Cloud IAM Roles Anywhere 認証局 発行 AWS STS 信頼 1. 秘密鍵と証明書の提示 2. 一時アクセスキーの取得
  • 12.
    © 2022 NTTDATA Corporation 12 IAM Roles Anywhereを実環境で使うときに困ること 1.マルチアカウント環境で、全AWSアカウントにIAM Roles Anywhereを作るのか? 2.認証局をどうする? 困りポイント2 オンプレシステム ローカル開発環境 AWS Cloud IAM Roles Anywhere 認証局 発行 AWS STS 信頼 1. 秘密鍵と証明書の提示 2. 一時アクセスキーの取得 困りポイント1
  • 13.
    © 2022 NTTDATA Corporation 13 IAM Roles Anywhereを使いやすくするには? • Jumpアカウント構成をとり、1つのAWSアカウントだけでIAM Roles Anywhereを用意 • 認証局をJumpアカウント内にPrivate CAとして用意し、認証局維持作業を軽減 • JumpアカウントのIAMロールとして認証を行い、その後メンバーアカウントのIAMロールへスイッチロール。 • 権限管理の自由度を高めつつ、Jumpアカウントへの認証機構のセキュリティレベルを向上! Member Account オンプレシステム ローカル環境 Jump Account 2. MemberアカウントのIAMロールへスイッチロール IAM Role assume roleを許可 権限管理 は各アカウント IAM Roles Anywhere IAM Role Private CA 0. 発行 1. Jumpアカウントの IAMロールへ 信頼 素晴らしき、IAM Role Anywhereのある世界・・・!
  • 14.
    © 2022 NTTDATA Corporation 14 ただ・・・・ IAM Roles Anywhereは専用ツールである、クレデンシャル・ヘルパー・ツールの利用が必須 https://docs.aws.amazon.com/ja_jp/rolesanywhere/latest/userguide/c redential-helper.html#getting-credential-helper-tool ぜひともAWS CLIに標準装備していただけると、もっと嬉しい・・・! 以前はCLIでなければ作れなかったIAM Roles Anywhere用のIAM Roleもマネコンから作 れるようになっていたりと、改善が見られるので、引き続き改善よろしくお願いいたします!
  • 15.
    © 2022 NTTDATA Corporation