特定のユーザーが特定のEC2インスタンスに接続できるかどうかを確認するためにIAMをチェックする要塞ホストをAWSにセットアップすることは可能ですか?
少しぼやけているかもしれませんが、アイデアは次のとおりです。
会社に2人の顧客がいて、それぞれが1つのEC2インスタンスで動作していると仮定します。つまり、顧客AとB用にMachineAとMachineBがあります。次に、3人の従業員もいます。
両方のマシンはプライベートサブネットで実行され、それらへの接続はパブリックサブネットの要塞ホストを介してのみ可能です。さて、IAMでユーザーのグループを検証して、このユーザーが特定のマシンに接続できることを確認するように、この要塞を構成することは可能でしょうか?
したがって、メアリーがSSHを介して要塞に接続するとき、彼女は自分のIDを使用します。そこで彼女はMachineB
にジャンプしようとするので、Bastionはユーザーの資格情報をチェックし、彼女がグループdevsB
に属していることを確認し、接続を許可しますが、MachineA
何らかの理由で...
AWS System Manager を利用して、IAMでec2インスタンスへのアクセス制御を管理できます。
SSHコンテキストでテストするのは少し難しいかもしれないので、IAMグループのメンバーシップには依存しません。
代わりに、すべてのユーザーに個々のユーザーアカウントで要塞ホストへのSSHアクセスを許可し、適切なユーザーのみが各顧客のインスタンスにアクセスできるようにします。
最も簡単な方法は、Steveの公開SSHキーをMachineA:/home/ec2-user/.ssh/authorized_keys
に追加することです。同様に、MachineBに対するメアリーの公開鍵。
次に、 SSH ProxyJump をSSH Agentアクセスを容易にするため。
お役に立てば幸いです:)
aws-gate を使用できます。これは、EC2インスタンス接続からのSSHキーアップロード機能、SSH over SSMトンネリングを組み合わせ、アクセスはIAMポリシーを介して完全に管理され、監査にAWSCloudTrailを使用します。