メインコンテンツへスキップ
本番・開発・ステージングのAWSアカウントを管理するプラットフォームチームが、単一のCloudThinkerワークスペースからすべてのアカウントのコストを照会し、セキュリティを監査し、インシデントを調査できます。

シナリオ

あなたの組織は本番・開発・ステージング用に別々のAWSアカウントを維持しています。一元化されたプラットフォームチームは、全員に本番アクセスを与えることなく、またワークスペースを切り替えてコンテキストを失い続けることなく、クロスアカウントの可視性が必要です。解決策は、CloudThinkerをプライマリAWSアカウントに接続し、各ターゲットアカウントにIAMロールを作成し、Alexにどのアカウントで操作するかを指示するショートカットを定義することです——すべて単一のワークスペースから行います。

ウォークスルー

1

プライマリAWSアカウントを接続する

Connections でプライマリAWSアカウントをロールベース認証を使って追加します。これはハブアカウントです——すべてのクロスアカウントリクエストはこのIAM IDから発信されます。成功の確認: ConnectionsパネルでConnections がConnectedステータスを表示していること。
2

クロスアカウントIAMロールを作成する

各ターゲットAWSアカウントに、以下の信頼ポリシーを持つIAMロールを作成します。PRIMARY_ACCOUNT_IDをハブアカウントのAWSアカウントIDに置き換えてください。
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::PRIMARY_ACCOUNT_ID:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
権限を最小限に抑えるため、ロールに ReadOnlyAccess(またはスコープを絞った読み取り専用ポリシー)をアタッチします。成功の確認: プライマリアカウントから aws sts assume-role を実行して、各ロールが引き受け可能であることを確認できること。
3

アカウント切り替えショートカットを定義する

Shortcutsパネル(任意のワークスペースの右上)を開き、ターゲットアカウントごとに1つのショートカットを作成します。Init Stepに、プロンプトが実行される前にターゲットロールARNをエージェントに引き受けるよう指示する内容を設定します。
アカウント切り替えショートカットを表示するCloudThinker Shortcutsパネル

AssumeRoleのInit Stepを持つShortcutsパネル

ショートカット名Init Step
/switch-to-prodPlease assume arn:aws:iam::111111111111:role/CloudThinkerAccessRole and use the STS token for this session.
/switch-to-devPlease assume arn:aws:iam::222222222222:role/CloudThinkerAccessRole and use the STS token for this session.
/switch-to-stagingPlease assume arn:aws:iam::333333333333:role/CloudThinkerAccessRole and use the STS token for this session.
成功の確認: /を入力したときに、各ショートカット名がShortcartsのオートコンプリートリストに表示されること。
4

クロスアカウント操作を実行する

プロンプトの先頭にショートカット名を付けます。Alex は行動する前にターゲットロールを引き受けるため、すべての結果はそのアカウントにスコープされます。
/switch-to-prod @alex #dashboard Build an AWS daily cost report
Alex は本番ロールを引き受け、そのアカウントのCost ExplorerとCloudWatchをクエリし、本番にスコープされたコストダッシュボードを返します。
/switch-to-dev @alex #report Summarize unused EC2 instances in the dev account
成功の確認: Alex の応答がハブではなくターゲットアカウントのリソースを参照していること。

成果の要因

  • ロールベース認証 — ハブアカウントのIAM IDが sts:AssumeRole 呼び出しを実行するため、各ターゲットアカウントの長期的な認証情報を共有・保存する必要がありません。
  • IAM最小権限 — 各クロスアカウントロールに ReadOnlyAccess をアタッチすることで、ショートカットが誤用された場合でもエージェントが実行できる操作を制限します。セキュリティポリシーで許可される場合は :root の代わりに特定のプリンシパルARNを使用してください。
  • Shortcuts — プロンプトの前に挿入されるInit Stepが、ロールARNを毎回入力することなくアカウントコンテキストを設定します。Shortcutsを使えばアカウントごとにナレッジや指示をスコープすることもできます。
  • Alex(クラウドエンジニア) — ロールコンテキストが設定されれば、AWSアカウント全体のコスト分析・リソース監査・インフラクエリを処理します。
  • ワークスペース — チームがアカウントごとに完全な分離(別々のナレッジベース、監査証跡、またはアクセス制御)を必要とする場合は、ショートカットを使う代わりにアカウントごとにワークスペースを作成してください。

試してみる

https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/aws.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=45d526a3e9345214c0345f277da2e829

AWSアカウントを接続する

Alex がアカウント間でロールを引き受けられるようロールベース認証を設定する。

ワークスペース

アカウント間の完全な分離が必要な場合に専用ワークスペースを作成する。