全般

AWS Secrets Manager とは何ですか?  

AWS Secrets Manager は機密情報管理サービスで、アプリケーション、サービス、IT リソースへのアクセスの保護に役立ちます。このサービスでは、ライフサイクルを通じてデータベース認証情報、API キー、その他のシークレットを簡単に更新、管理、取得できます。Secrets Manager を使用すると、AWS クラウド、サードパーティーサービス、オンプレミスのリソースへのアクセスに使うシークレットにセキュリティを確保し、またこれを管理できます。

AWS Secrets Manager を使用する必要があるのはなぜですか?  

AWS Secrets Manager ではアプリケーション、サービス、IT リソースへのアクセスを保護します。自社のインフラストラクチャを運用するための先行投資や継続的なメンテナンスコストは不要です。

Secrets Manager は、シークレットを保存、管理するために安全でスケーラブルな方法を求めている IT 管理者に最適です。規制やコンプライアンス要件の遵守を担うセキュリティ管理者は、Secrets Manager を使用して、シークレットをモニタリングし、アプリケーションに影響を与えることなくシークレットを更新できます。アプリケーションでハードコードしたシークレットを置き換える必要がある開発者は、Secrets Manager からプログラムでシークレットを取得できます。

 

AWS Secrets Manager を使うと何ができますか?

AWS Secrets Manager では、シークレットを一元的に保存、取得、アクセス制限、更新、監査、モニタリングできます。

保管中のシークレットを暗号化することにより、認可されていないユーザーが機密情報を見る可能性を低減できます。シークレットを取得するには、アプリケーション中のプレーンテキストのシークレットを、Secrets Manager API を使用して、シークレットをプログラムで取得するコードに置き換えるだけです。AWS Identity and Access Management (IAM) ポリシーを使用して、こうしたシークレットにアクセスできるユーザーとアプリケーションを制限します。AWS でホストされた、サポートされるデータベースタイプのパスワードの更新は、スケジュールに従って、またはオンデマンドで、アプリケーションに影響を与えるリスクなく行えます。サンプル Lambda 関数を変更することで、この機能を他のシークレットの更新にも拡張できます。Amazon EC2 でホストされている Oracle データベースのパスワードや、OAuth リフレッシュトークンなどの更新も行えます。また、Secrets Manager は AWS CloudTrailAmazon CloudWatchAmazon Simple Notification Service (Amazon SNS) と統合するため、シークレットを監査し、モニタリングできます。

AWS Secrets Manager を使うと、どのようなシークレットを管理できますか?

データベース認証情報、オンプレミスリソース認証情報、SaaS アプリケーション認証情報、サードパーティー API キー、Secure Shell (SSH) キーなどのシークレットを管理できます。Secrets Manager を使うと JSON ドキュメントを保存でき、64 KB 以下のどんな小テキストでも管理できるようになります。

AWS Secrets Manager を使うと、どのようなシークレットを更新できますか?

Amazon Relational Database Service (RDS)、Amazon DocumentDBAmazon Redshift の認証情報をネイティブに更新できます。Secrets Manager を拡張すれば、Secrets Manager ドキュメントにあるサンプル AWS Lambda 関数を変更して、EC2 でホストされている Oracle データベースの認証情報や、OAuth リフレッシュトークンなど、他のシークレットを更新することもできます。

アプリケーションでシークレットを使用するにはどうすればよいですか?

まず、お使いのアプリケーションから特定のシークレットへのアクセスを許可する AWS Identity and Access Management (IAM) ポリシーを書く必要があります。次にアプリケーションソースコードで、プレーンテキストのシークレットを、Secrets Manager API を使用して、シークレットをプログラムで取得するコードに置き換えます。完全な詳細と例は、AWS Secrets Manager ユーザーガイドをご覧ください。

AWS Secrets Manager の使用を開始するにはどうすればよいですか?

AWS Secrets Manager の使用を開始するには、以下を実行します。

  1. シークレットを特定し、アプリケーション中のどこで使われているかを見つけます。
  2. AWS 認証情報で AWS マネジメントコンソールにサインインし、Secrets Manager コンソールに移動します。
  3. Secrets Manager コンソールで、特定したシークレットをアップロードします。別の方法として、AWS SDK または AWS CLI を使用してシークレットをアップロードできます (シークレット 1 つにつき 1 回)。また、スクリプトを書いて、複数のシークレットをアップロードすることもできます。
  4. シークレットがまだ使用されていない場合は、コンソールにある手順に従って自動更新を設定してください。アプリケーションでシークレットが使用されている場合は、ステップ (5) と (6) を完了してから自動更新を設定してください。
  5. 他のユーザーまたはアプリケーションがシークレットを取得する必要がある場合は、IAM ポリシーを書いてシークレットへのアクセス許可を付与してください。
  6. アプリケーションを更新すると、Secrets Manager からシークレットを取得できます。

AWS Secrets Manager はどのリージョンで利用できますか?

AWS の各サービスを現在利用できるリージョンについては、AWS リージョン表をご覧ください。

ローテーション

 

AWS Secrets Manager では、アプリケーションに影響を与えずに、どのようにデータベースの認証情報を更新できるのですか?

AWS Secrets Manager では、データベースの認証情報をスケジュールに従って更新するように設定できます。このためセキュリティのベストプラクティスに従い、データベースの認証情報を安全に更新することができます。Secrets Manager で更新が開始されると、お客様から提供されたスーパーデータベース認証情報によって、同じ権限を持つクローンユーザーが別のパスワードで作成されます。その後、そのクローンユーザーの情報が Secrets Manager から、データベース認証情報を取得するデータベースとアプリケーションに通知されます。更新についての詳細は、AWS Secrets Manager 更新ガイドをご覧ください。

データベースの認証情報の更新はオープンな接続に影響を与えますか?

いいえ。接続が確立されると、認証が行われます。AWS Secrets Manager でデータベースの認証情報が更新されても、オープンなデータベース接続が再度認証されることはありません。

AWS Secrets Manager でデータベースの認証情報が更新されるタイミングはどのように確認できますか?

Amazon CloudWatch Events を設定すると、AWS Secrets Manager シークレットが更新された際に通知を受け取ることができます。また、Secrets Manager コンソールまたは API を使用して、Secrets Manager の直近のシークレット更新を見ることもできます。 

セキュリティ

AWS Secrets Manager では、どのようにシークレットが安全に保護されるのですか?

AWS Secrets Manager では、保管中のシークレットがお客様の所有する暗号化キーで暗号化され、AWS Key Management Service (KMS) に保存されます。AWS Identity and Access Management (IAM) のポリシーを使用してシークレットへのアクセスを制限できます。シークレットを取得すると、Secrets Manager でシークレットが復号され、TLS 上でお客様のローカル環境に安全に送信されます。Secrets Manager では、デフォルトで、シークレットが永続的ストレージに書き込まれることや、キャッシュされることはありません。

AWS Secrets Manager では、誰がシークレットを使用および管理できますか?

AWS Identity and Access Management (IAM) ポリシーを使用して、特定のシークレットの取得や管理を行うユーザーとアプリケーションに対するアクセス許可を制限できます。例えば、開発環境で使われているシークレットを開発者のみが取得できるようなポリシーを作成できます。詳細は AWS Secrets Manager に対する認証とアクセスコントロールをご覧ください。

AWS Secrets Manager では、どのようにシークレットが暗号化されるのですか?

AWS Secrets Manager では、エンベロープ暗号化 (AES-256 暗号化アルゴリズム) を使用して AWS Key Management Service (KMS) 内のシークレットが暗号化されます。

Secrets Manager を初めて使用する際に、シークレットを暗号化する AWS KMS キーを指定できます。KMS キーを指定しない場合、Secrets Manager によってお客様のアカウントに対して AWS KMS デフォルトキーが自動的に作成されます。シークレットが保存されると、Secrets Manager から KMS に対してプレーンテキストと暗号化されたデータキーがリクエストされます。Secrets Manager で、プレーンテキストデータキーを使用してメモリ中のシークレットが暗号化されます。暗号化されたシークレットと暗号化されたデータキーは AWS Secrets Manager で保存、維持されます。シークレットを取得すると、Secrets Manager では、AWS KMS デフォルトキーを使用してデータキーが復号され、プレーンテキストデータキーを使用してシークレットが復号されます。データキーは暗号化された状態で保存され、プレーンテキストでディスクに書き込まれることはありません。また、Secrets Manager でプレーンテキストのシークレットが永続的ストレージに書き込まれることや、キャッシュされることはありません。

請求

AWS Secrets Manager の利用料金の計算と請求はどのように行われますか?

Secrets Manager については、お客様が使用した分に対してのみ料金が発生します。最低料金はありません。サービスの利用を開始するためのセットアップ料金や契約はありません。月末に、その月の使用料金が自動的にお客様のクレジットカードに請求されます。保存するシークレットの数と、各月に行う API リクエストの数に応じて課金されます。

最新の料金情報については、AWS Secrets Manager の料金をご覧ください。

無料トライアルはありますか?

はい。AWS Secrets Manager は 30 日間の無料トライアルで、追加料金なしでお試しいただけます。無料トライアルでは、30 日間にわたってシークレットを更新、管理、取得できます。無料トライアルは最初のシークレットを保存すると開始されます。

料金の詳細を確認する

料金の例を参照し、コストを計算してください。

詳細はこちら 
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
コンソールで構築を開始する

AWS コンソールで AWS Secrets Manager を使用して構築を開始します。

サインイン