問題タブ [secret-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
authentication - Microsoft 外部ログインの ClientId と ClientSecret を保存するために Secret Manager を使用することは必須ですか?
ASP.Net Core の Microsoft 外部ログインの設定に関するMicrosoft の指示に従いましたが、コードの Startup.cs にクライアント ID とクライアント シークレットを直接貼り付けました。すべて正常に動作しますが、セキュリティが心配です。これは悪い習慣ですか?/推奨されませんか?それとも、間違いなくSecret Managerを使用して、そこからそれらを参照する必要がありますか?
aws-sdk - Secrets Management ツールの初期信頼資格情報はどこに保管すればよいですか?
私たちの製品では、DB クレデンシャル、パスワード、API キーなどのすべてのシークレットを安全に保存および管理するシークレット管理ツール (AWS シークレット マネージャー) を実装することにしました。
このようにして、シークレットはコード、データベース、またはアプリケーションのどこにも保存されません。Secrets manager の API にプログラムでアクセスするには、AWS 資格情報 (アクセス キー ID とシークレット アクセス キー) を提供する必要があります。
ここで発生する最大の問題は、この初期信頼 (AWS シークレット マネージャーを認証するための資格情報) をどこに保持するかということです。これはブートストラップの問題です。繰り返しますが、シークレット ストアの外、構成ファイルまたはどこかに何かを維持する必要があります。これが危うくなると、Secret 管理ツールにすべてを格納する意味がなくなると思います。
AWS SDK 開発者ガイドを読んで、AWS 資格情報を保存する標準的な方法がいくつかあることを理解しました。たとえば、環境変数に保存したり、さまざまなプロファイルを使用して資格情報ファイルに保存したり、Amazon EC2 インスタンスの IAM ロールを使用したりします。
アプリケーションを Amazon クラウドで実行/ホストするのではなく、AWS クラウドから AWS シークレット マネージャー サービスを使用したいだけです。したがって、IAM ロールを構成することは、私たちにとって解決策ではない可能性があります。
初期の信頼資格情報を保持するためのベスト プラクティス (または) の最適な場所はありますか?
amazon-web-services - IAM ロールを使用して、タスクの Spring Boot アプリケーションで AWS 秘密鍵をローテーションする方法
ユーザーの秘密鍵を指定するのではなく、タスクで S3、SNS などの AWS サービスを使用するために IAM ロールを使用したいと考えています。
この記事https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-iam-roles.htmlを見ましたが、これをスプリング ブート環境に実装する方法がわかりません。
現在、起動時の Bean 作成に使用されるプロパティ ファイルにキーがあり、同じ Bean がすべての AWS サービス インタラクションに使用されます (これは良い方法ではないと思います)。
誰かがこれを達成する方法を提案できますか?