全般

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 CloudWatch、および Amazon Simple Notification Service (Amazon SNS) と統合しますので、シークレットを監査、監視できます。

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

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

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

Amazon Relational Database Service (RDS) for MySQL、PostgreSQL、Amazon Aurora の認証情報がネイティブに更新できます。この機能は、Secrets Manager ドキュメントにあるサンプル 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 の直近のシークレット更新を、Secrets Manager コンソールまたは API を用いて見ることも可能です。 

セキュリティ

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 をはじめて使われるとき、シークレットを暗号化する顧客マスターキー (CMKs) を指定できます。CMK を指定されなければ、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 Systems Manager の料金の詳細

料金ページを見る
構築を始めましょう。
AWS Secrets Manager の使用を開始する
ご不明な点がおありですか?
お問い合わせ