やりたいこと
以下の振る舞いを持つ サードパーティの Webアプリケーションを使用する際の制御
- 自社のAWSアカウント内で実行されている EC2インスタンスへの API コマンドを発行するアクセス権が必要
- 第三者による目的外利用ができない形式で権限を付与させる
外部から自社の エンドポイントを叩くユースケースへの対応を考える必要がある。
クロスアカウントアクセスで考えるポイント
クロスアカウント許可を設定するIAMロールによって、限定的なアクセスを委任することができる。
WEBアプリケーションが必要とする権限のみに限定したアクセス権限を付与したIAMポリシーを設定する必要がある。
それに基づいたクロスアカウントアクセスが可能となるIAMロール(サードパーティ社用のロール)を作成し、該当WEBアプリケーションに設定する流れだ。
これにより、第三者に資格情報を漏洩することなく、IAMロールの管理によって第三者の情報もコントロールすることができるようになる。
ユーザーが所有する異なる AWS アカウント にあるリソースへのアクセスを委任する方法としてクロスアカウントアクセス許可とIAMロールの設定がある。
特定のアカウントにある特定のリソースを別のアカウントのユーザーと共有することができる。
クロスアカウントアクセスを設定するメリットとして、利用者はアカウントごとに IAM ユーザーを作成する必要がなくなる。
参考情報
ちなみに、API Gatewayを使う際、APIリクエストはIAMロールなどの権限がない外部システムやユーザーから実行が可能。
また、AWS Organizationsはアカウントで IAM ロールを使って、特定のAWSアカウントのリソースへのアクセス権を別の AWS アカウントに付与できる。
この場合は IAMユーザーを利用するわけではない。