パスワードなどの秘密情報をコードに埋め込まずに利用する方法ツイートシェアはてブ送るPocketこの記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。キーを含む秘密情報をコードに含めて一般公開した為に不正アクセスの原因になった可能性があると話題になっています。通じて行われため、コードに対して何らかの形でAPIキーとシークレットを渡す必要があります。その為やはり類似の事故が発生する可能性は常にあり、定期的な注意喚起が行われています。採用されており、当たり前のことですがデータの保全処置やパスワードの管理はユーザの責任となります。そもそもコード中にAPIキーなどの秘密情報を埋め込まなくても安全に利用する仕組みが提供されています。今回はそのうちのいくつかをご紹介したいと思います。リソースへのアクセスを制御する最も基本的な機能です。ID、パスワードを発行し、マネジメントコンソールへのアクセスを実施します。リソースを利用する場合は、アクセスキーIDとシークレットアクセスキー(以下アクセスキー)を発行して利用することになります。その場合はアクセスキーを所定のファイル(~/.aws/credentials)に保存しコードツリー内には書き込まないことが推奨されます。利用している場合は所定のファイルを自動的に読み出してアクセスする為、コード上にアクセスキーを登録する必要はありません。ユーザを共有することは推奨されていません。利用した流出経路の特定などが困難になる為です。git-secret上記の通り、通常コード中にアクセスキーを記載する必要はありませんが、それでもちょっとしたメモや、一時的に書いたつもりが消し忘れてコミットしてしまうなどの事故の可能性が考えられます。ユーザのアクセスキーをデプロイすることは強く推奨されていません。通じたアクセスキーの流出が懸念される為です。ロールという機能が提供されています。リソースへのアクセス権を設定します。ロールを指定することで、安全にインスタンスに対してアクセスキーを配布することができます。ロールの違いを意識する必要はありません。用途によってアクセス権を簡単に切り替えられるというメリットもあります。利用するのではなく、短時間だけ一時的にアクセス権を付与もしくは取得したい場合があります。利用して利用権限を付与することができます。外部の作業者に対して1日だけアクセス権を付与したいなどといったユースケースの場合に利用できます。Managerモダンなアプリケーションでは、何らかの形での外部連携が欠かすことができません。キーや、クレデンシャル、エンドポイントなどの情報を安全にアプリケーションに対して配布する必要があります。これらの情報もインスタンスやコード上に保存することは強く推奨されません。いうサービスが提供されています。上に保存しておき、必要な時に取り出して利用する様に構成できます。IAMロール・ユーザを利用したアクセス制御によって機密性を保持することができます。(KMS)現代では、情報を暗号化して保管することがセキュリティ要件として必要とされるワークロードも多いかと思います。多くのサービスで暗号化をサポートしています。その場合も暗号化キーの管理が重要となります。暗号化キーの生成、管理機能を提供します。キーの取り出しにあたっては、同じくIAMロール・ユーザを利用したアクセス制御によって機密性を保持することができます。パラメータストアアプリケーションは一般的に実行時に様々な設定情報を必要とするかと思います。設定情報はコード中に記述することは好ましくなく、実行時に動的に取得するのが理想的です。設定情報の中にあまり外部に公開したくない情報が含まれる場合もあるでしょう。設定情報を保管することで対処できます。アクセスもIAMロール・ユーザによって制御することができ、必要な時に必要な情報を取得することができます。Cognitoアプリケーションのユーザに対して、制限されたアクセス権を付与したい場合もあるかと思います。発行することができます。キーへのアクセス状況を追跡する必要があります。有効にすることでログの採取が可能です。キーの取得状況をIAMユーザ、ロール毎に把握することもできます。個別に発行することでアクセスの詳細な追跡が可能になります。アクセスの不審な挙動を検出することもできます。ついての詳細は以前こちらでも紹介させていただいています。保存してアプリケーションから読み出すなどの方法も以前は提案されて実際に利用もされていましたが、現在では上記の様に様々なサービスが提供されている為、推奨されていません。フレームワークでも強く推奨されているので、この機会に見直してみてはいかがでしょうか。最後にAWSサービスを有効に利用することで、パスワードなどの秘密情報の漏えいを防ぎつつ効率よく開発するためのヒントになれば幸いです。今回は各サービスの詳細までは踏み込むことができませんでしたが、機会があれば具体的な利用方法についてもご紹介したいと思います。スカイアーチネットワークス株式会社AWS・クラウド導入における構築から監視・運用保守までをマネージドサービスで提供する、スカイアーチネットワークスの公式サイト。AWS・クラウドを始め、豊富なサーバー管理の経験と安心のセキュリティ対策、専門エンジニアの確かな知識で、お客様のビジネスの成長をサポートします。AWS・クラウド導入における構築から監視・運用保守までをマネージドサービスで提供する、スカイアーチネットワークスの公式サイト。AWS・クラウドを始め、豊富なサーバー管理の経験と安心のセキュリティ対策、専門エンジニアの確かな知識で、お客様のビジネスの成長をサポートします。ロールSTSこの記事が気に入ったらいいねしよう!最新記事をお届けします。導入する手順RECOMMENDこちらの記事も人気です。