
現在、私たちの環境では ec2 インスタンスを使用しています。
認証情報がソース コードに公開されるのを回避するために、IAM ロールを使用してユーザー、アプリケーション、またはサービスへのアクセスを委任します。
ただし、私たちの環境にはオンプレミスのインスタンスもいくつかあります。EC2 と同様に、これらのインスタンスでも IAM ロールを使用できますか?
CodeDeploy は IAM ロールを使用してオンプレミスのインスタンスを登録することをサポートしていることは知っていますが、この方法では、認証情報を取得するために IAM ロールを管理するのはコード デプロイ エージェントです。
そこで私の質問は次のとおりです。
CodeDeploy によってデプロイされたオンプレミスインスタンス上のアプリケーションはどのようにして認証情報を取得するのでしょうか? たとえば、S3 からオブジェクトを取得するなど...
EC2 と同じように、ローカルマシンやアプリケーションでも IAM を使用して認証情報を取得できますか?
答え1
IAM ロールそのものを実行することはできませんが、まったく同じポリシーをユーザーにアタッチし、そのユーザーのアクセス キーのセットを生成することができます。そこから、AWS CLI またはその他のツールにキーを提供すると、同じ権限が付与されます。
使用されるキーのポリシーの IP 範囲をホワイトリストに登録することを強くお勧めします。これにより、違反が発生した場合 (コード漏洩/公開 Git コミットなど)、スタックの外部で使用できなくなります。
答え2
IAM サービス ロールは IAM サービス専用です。
長期 IAM ユーザーのアクセス/シークレット キーに基づいて一時的な認証情報を取得するオプションがあります。典型的な使用法は、企業ネットワーク内の分散アプリケーションに代わって一時的なセキュリティ認証情報を取得するプロキシ アプリケーションです。
有効期間は最大 36 時間です。認証情報を自動生成し、ローカル システムで適切に配布することができます。