AWS認証情報を個人のマシンに安全に保存する


10

AWS認証情報を個人のマシンに安全に保存するにはどうすればよいですか?

詳細に:

私たちのチームの誰もが、管理タスクを実行するためにAWSセキュリティ認証情報を必要とします(認証情報はロールによって分離されます)。これらの資格情報は通常、ディスク上のいくつかの構成ファイルにプレーンテキストで格納されます。これは非常に安全ではないと思います。特に、資格情報がチームメンバーに分散され、最終的にバックアップなどに使用されることを考えると、

私はこれらの資格情報を暗号化された形式で保存することを強く望みます(たとえば、sshキーに似ています)。自動化する方法はありますか?または、たとえばopensslを使用してデータを暗号化するbashスクリプトをハッキングする必要がありますか?

EC2インスタンスの資格情報を保護する方法については、Webに多くの情報があります。このAmazon IAMロールの機能さえありますが、EC2にのみ適用されます。


1
これは素晴らしい質問で、私は答えに非常に興味があります。
ceejayoz 2014

回答:


4

https://github.com/realestate-com-au/credulousは調査する価値があるかもしれません。プロジェクトの説明から:

credulousは、AWS(IAM)認証情報を安全に管理するコマンドラインツールです。目的は、ユーザーの公開SSHキーを使用して資格情報を暗号化し、対応する秘密SSHキーを持つユーザーのみがそれらを表示して使用できるようにすることです。さらに、このツールを使用すると、ユーザーは 現在のワークフローを中断することなく、現在の資格情報を簡単にローテーションできます。

http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/に紹介ブログの記事があります。


すごい、これはまさに私が探していたものです(そして私が自分で見つけることができなかったものです...)
arnuschky

参照してくださいgithub.com/99designs/aws-vault
イヴ・M.

4

すばらしい質問です。回答する人によっては、いくつかのルートが考えられます。私たちが使用する例を紹介します。

  1. ユーザー(開発者、インフラストラクチャ、セキュリティ、監査など)に基づいてIAMロールを作成します。ポリシーをカスタマイズして、ユーザーアクセスに基づいて特定のアクションを許可または拒否します。

例:管理者にすべてのec2アクションを許可します。または、開発者などのタグまたはサブネットに基づくアクセスのみを許可します。

  1. 特定のIAMロールを使用してec2 Linuxインスタンスを起動します。特定の役割またはユーザーごとにインスタンスを起動します(インスタンスのサイズ/タイプを必要性、予算などに応じて調整します)

  2. 特定のサブネットまたは個々のIPのいずれかのみを許可するように各インスタンスのセキュリティグループを構成して、SSHへのトラフィックの入力をロックダウンできるようにします。

  3. SSHのカスタムユーザー/パスワードを設定するか、ドメインに参加します。

  4. 各ユーザーにLinuxインスタンスへのログオンまたはSSHを割り当て、役割またはユーザーアクセスを割り当てます。

  5. APIキーとアクセスがインスタンスIAMロール自体から継承されるようになったため、ユーザーキーを保存する必要がなくなりました。セキュリティグループをロックダウンして、Linuxボックスの特定のユーザーにのみアクセスを許可するようにしてください。ユーザーは、AWS APIを使用してスクリプトを記述し、通常どおりAPIツール機能を使用できる必要があります。

私たちはこの方法を約1年使用しており、リースアクセス時間などの追加のセキュリティ調整がAWS HSMに組み込まれており、うまく機能します。

これがあなたや他の誰かを助けることを願っています。


いいアイデア、ありがとう!考えていませんでした。費用がかかるため現時点ではオプションはありませんが、覚えておきましょう。
arnuschky 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.