2017-11-23 8 views
0

ECSまたは同等のものを使用せずにAWS KMSとcredstashのようなツールを使用することは可能ですか、それともIAMの役割にのみ依存していますか?AWS KMSおよび/またはcredstashを非AWSサーバーで使用

私はいくつかのことをテストしているサーバーを持っています。最終的には、スケーリングを利用するためにEC2などにアプリケーションを移行することに目を向けます。しかし、今は私の配備パイプラインなどをセットアップしている間、私は非awsのプロビジョニングされたサーバーでKMSを使用することが可能かどうか疑問に思ったのですか?

考えられる唯一の方法は、問題のサーバーにAWS CLIツールをインストールすることです。これは適切なアプローチのように聞こえますか?

+0

KMSは、モバイルアプリケーションであっても、どこでも好きな場所から使用できます。 AWS CLIの使用とは別に、公開AWS SDKのいずれかを使用してKMSへの呼び出しを実行することもできます。私はもっ​​と具体的な指針を手伝ってうれしいですが、あなたがしようとしていることの詳細を知ることはうれしいでしょう。 – Viccari

+0

私は基本的に私のデータベースのパスワードなどをソース管理ではなくkmsに保存し、EC2以外のサーバでデータベースのパスワードを取り込みたいと考えました。 EC2で実行していないときにパラメータストアを使用できるかどうかはわかりません。私はそれの要点を持っていると思う。私が直面していた問題は、AWS sdkをこのために使用する必要があった場合、資格情報を格納することが、問題を丸ごと移動するのではなく、ソース管理で初期化する必要があるということでした。私はEC2のインスタンスがそれほど多くの費用をかけることはないと思うが、頭を抱えるという点では – TommyBs

+1

KMSはデータストアではない。パスワードを保存することはできません。 KMSは、暗号化キーを安全に管理するための一般的なメカニズムです。第2に、AWSで実行している場合、AWS SDKの資格情報を保存する必要はありません。 EC2インスタンスロール(または別のIAMロール)に権限を与え、そのIAMロールを使用してコールを実行するだけで済みます。また、EC2を快適に使用できる場合は、AWSインフラストラクチャにDBパスワードを安全に保存する方法についての素晴らしいガイドがあります:https://aws.amazon。/ – Viccari

答えて

0

@ヴィッカリは(コメントの中で)正しいと言いました。あなたがやりたいこと(パスワードの保存)に関して、AWSパラメータストアはあなたに適しています。詳細については、https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.htmlを参照してください。ガイドでは、ユースケースを明示的に呼び出しています。

パラメータストアには次の利点と機能があります。

  • セキュアでスケーラブルなホスト型の秘密管理サービス(管理するサーバーはありません)を使用します。最後に

は、あなたがパラメータStoreまたはKMSを使用して終了すれば、あなたは根本的なAWSサービスを呼び出すために使用するAWS STSトークンをつかむためにどこかに保存された資格情報のいくつかの並べ替えが必要になります。 AWS EC2の外部で作業する場合は、IAMユーザーからAWSアクセスキーとAWS秘密鍵が必要です。 EC2にいる場合は、IAMインスタンスロールが魔法のように資格情報を提供し、そのロールを使用してAWSサービスを呼び出します。 AWS SDKは、あなたのためにこれを行います。

しかし、あなたが述べたように、これをEC2で実行したくない(お金を節約するなど)。これらの資格情報を保存する最も簡単な方法は、プログラムが読み込む環境変数としてソースから取り込むことができる追跡されていないファイル(あなたの.gitignoreに追加されている)にそれらを入れることです。これにより、ローカルテストを行うことができ、EC2 でゼロコードの変更を簡単に実行できます。設定する変数はhttps://docs.aws.amazon.com/cli/latest/userguide/cli-environment.htmlを参照してください。このドキュメントではCLIについて説明しています。 SDKの動作は同じです。

関連する問題