Amazon Web Services ブログ

AWS Secrets Manager がサードパーティ認証情報向けのマネージド外部シークレットを発表

本ブログは 2025 年 11 月 25 日に公開された AWS Blog “AWS Secrets Manager launches Managed External Secrets for Third-Party Credentials” を翻訳したものです。

AWS Secrets ManagerAmazon Web Services (AWS) のシークレットライフサイクルを効果的に管理できます。しかし、クラウドアプリケーションの利用拡大に伴い、サードパーティソフトウェアプロバイダーの認証情報管理が組織にとって新たな課題となっています。複数のサードパーティサービスを利用する組織では、各プロバイダーの認証情報を管理する標準的な方法がなかったため、プロバイダーごとに異なるセキュリティアプローチを開発することがよくあります。これらのサードパーティの認証情報を Secrets Manager に保存する際、サービス接続を容易にするために、シークレット値内に追加のメタデータを保持することが一般的です。このアプローチでは、メタデータが変更されるたびにシークレット値全体を更新する必要があり、プロバイダー固有のシークレットローテーションプロセスを実装する必要がありますが、これは手動で時間がかかります。シークレットローテーションの自動化を検討している組織は、通常、各サードパーティソフトウェアプロバイダーに合わせたカスタム関数を開発しますが、これにはサードパーティと AWS の両方のシステムに関する専門知識が必要です。

お客様がサードパーティのシークレット管理を効率化できるよう、AWS Secrets Manager に新機能「マネージド外部シークレット」を導入しました。このブログでは、この新機能がセキュリティのベストプラクティスを維持しながら、サードパーティソフトウェアの認証情報の管理とローテーションをどのように簡素化するかを説明します。

マネージド外部シークレットの紹介

AWS Secrets Manager は、Amazon Relational Database Service (Amazon RDS)Amazon DocumentDB などの AWS サービスのシークレットを、マネージドローテーション機能を通じて安全に管理してきた実績があります。この実績を基に、Secrets Manager はマネージド外部シークレットを導入しました。これは、Salesforce などのサードパーティソフトウェアアプリケーションにも同じシームレスな体験を提供する新しいシークレットタイプで、標準化されたフォーマットと自動ローテーションによってシークレット管理の課題を簡素化します。

この機能を使用すると、サードパーティソフトウェアプロバイダーが発行するシークレットを事前定義されたフォーマットで保存できます。これらのフォーマットは、信頼できる統合パートナーと協力して開発され、シークレットの構造とローテーションに必要なメタデータの両方を定義しているため、独自の保存方法を設計する必要がありません。マネージド外部シークレットは、ソフトウェアプロバイダーと直接統合することで自動ローテーションも提供します。ローテーション関数を維持する必要がないため、運用オーバーヘッドを削減しながら、AWS Identity and Access Management (IAM) を使用したきめ細かなアクセス許可管理Amazon CloudWatchAWS CloudTrail によるシークレットアクセスの監視、Amazon GuardDuty による自動化されたシークレット固有の脅威検出など、重要なセキュリティコントロールの恩恵を受けることができます。さらに、AWS とサードパーティの両方のシークレットに対して、単一のサービスから一元化された一貫したシークレット管理プラクティスを実装できるため、組織で複数のシークレット管理ソリューションを運用する必要がなくなります。マネージド外部シークレットは標準の Secrets Manager の料金に従い、この新しいシークレットタイプの使用に追加コストはかかりません。

前提条件

マネージド外部シークレットを作成するには、Secrets Manager への適切なアクセス権を持つアクティブな AWS アカウントが必要です。アカウントには、シークレットを作成および管理するための十分なアクセス許可が必要で、AWS マネジメントコンソールへのアクセス、または AWS Command Line Interface (AWS CLI)AWS SDK を介したプログラムによるアクセスが可能である必要があります。最低限、以下のアクションに対する IAM アクセス許可が必要です: secretsmanager:DescribeSecretsecretsmanager:GetSecretValuesecretsmanager:UpdateSecretsecretsmanager:UpdateSecretVersionStage

AWS にシークレットを管理させる予定のサードパーティソフトウェアプロバイダーの有効な認証情報と必要なアクセス許可を持っている必要があります。

シークレットの暗号化については、AWS Key Management Service (AWS KMS)AWS マネージドキーを使用するか、カスタマーマネージドキーを使用するかを決定する必要があります。カスタマーマネージドキーの場合は、必要なキーポリシーが設定されていることを確認してください。AWS KMS キーポリシーでは、Secrets Manager が暗号化と復号化の操作にキーを使用できるようにする必要があります。

マネージド外部シークレットの作成

現在、マネージド外部シークレットは Salesforce、Snowflake、BigID の 3 つの統合パートナーをサポートしています。Secrets Manager はパートナーリストを継続的に拡大しており、今後さらに多くのサードパーティソフトウェアプロバイダーが追加される予定です。最新のリストについては、統合パートナーを参照してください。

マネージド外部シークレットを作成するには、以下のセクションの手順に従ってください。

注: この例では Salesforce External Client App の認証情報を取得する手順を示していますが、Secrets Manager と統合された他のサードパーティベンダーの認証情報についても同様の手順で設定できます。

シークレットタイプの選択と詳細の追加

  1. AWS マネジメントコンソールで Secrets Manager サービスに移動し、[新しいシークレットを保存] を選択します
  2. [シークレットタイプ] で [マネージド外部シークレット] を選択します
  3. [AWS Secrets Manager 統合サードパーティベンダー] セクションで、利用可能なオプションからプロバイダーを選択します。このウォークスルーでは、[Salesforce External Client App Credential] を選択します
  4. [Salesforce External Client App Credential シークレットの詳細] セクションで設定を入力します。Salesforce External Client App の認証情報は、いくつかの主要なコンポーネントで構成されています
    1. コンシューマーキー (クライアント ID) は、OAuth 2.0 の認証情報識別子として機能します。コンシューマーキー は Salesforce External Client App Manager の OAuth 設定から直接取得できます
    2. コンシューマーシークレット (クライアントシークレット) は、OAuth 2.0 認証のプライベートパスワードとして機能します。コンシューマーシークレットは Salesforce External Client App Manager の OAuth 設定から直接取得できます
    3. ベース URI は、Salesforce 組織のベース URL (https://MyDomainName.my.salesforce.com の形式) で、Salesforce API との連携に使用されます
    4. アプリ ID は、Salesforce External Client Apps (ECA) を識別するもので、Salesforce OAuth 使用状況エンドポイントを呼び出すことで取得できます
    5. コンシューマー ID は、Salesforce ECA を識別するもので、Salesforce OAuth credentials by App ID エンドポイントを呼び出すことで取得できます。コマンドの一覧については、Salesforce ドキュメントの Stage, Rotate, and Delete OAuth Credentials for an External Client App を参照してください
  5. ドロップダウンメニューから [暗号化キー] を選択します。AWS マネージドキーまたはカスタマーマネージドキーを使用できます
  6. [次] を選択します
図 1: シークレットタイプの選択

図 1: シークレットタイプの選択

シークレットの設定

  1. このセクションでは、シークレットの設定情報を入力します
  2. [シークレットの名前] にわかりやすい名前を入力し、オプションでシークレットの目的と用途を識別するのに役立つ詳細な [説明] を入力します。追加の設定オプションも利用できます。リソースを整理しやすくするための [タグ] の追加、アクセスを制御するための特定の [リソースのアクセス許可] の設定、マルチリージョンの耐障害性のためのシークレットのレプリケートの選択が可能です
  3. [次] を選択します
図 2: シークレットの設定

図 2: シークレットの設定

ローテーションとアクセス許可の設定 (オプション)

オプションの [ローテーションを設定する] ステップでは、新しいシークレット設定でメタデータ管理に焦点を当てた 2 つの主要なセクションが導入されています。これらはシークレット値とは別に保存されます。

  1. [ローテーションメタデータ] で、Salesforce アプリが使用している API バージョンを指定します。API バージョンを確認するには、Salesforce ドキュメントの List Available REST API Versions を参照してください。注: 必要な最小バージョンは v65.0 です
  2. [管理者シークレット ARN] を選択します。これには、Salesforce クライアントシークレットのローテーションに使用される管理者 OAuth 認証情報が含まれています
  3. [シークレットローテーションのサービス権限] セクションでは、Secrets Manager がシークレット値をローテーションするために必要なアクセス許可を持つロールを自動的に作成します。これらのデフォルトのアクセス許可は、[アクセス許可の詳細を表示] を選択するとインターフェースに表示され、確認できます。シークレットローテーション管理をよりきめ細かく制御するために、デフォルトのアクセス許可の選択を解除することもできます
  4. [次] を選択します
図 3: ローテーションの設定

図 3: ローテーションの設定

レビュー

最後のステップでは、シークレットの設定の概要が表示されます。[レビュー] ページで、シークレットを作成する前にパラメータを確認できます。

設定が正しいことを確認したら、[保存] を選択してプロセスを完了し、指定した設定でシークレットを作成します。

図 4: レビュー

図 4: レビュー

正常に作成されると、シークレットが [シークレット] タブに表示されます。設定、ローテーションステータス、アクセス許可など、シークレットのさまざまな側面を表示、管理、監視できます。作成後は、暗号化設定やクロスアカウントアクセス用のリソースポリシーなどのシークレット設定を確認し、さまざまな AWS SDK 向けに提供されているサンプルコードを調べて、シークレットの取得をアプリケーションに統合できます。[シークレット] タブでは、シークレットの概要が表示され、シークレットを一元管理できます。シークレットを選択して [シークレットの詳細] を表示します。

図 5: シークレットの詳細を表示

図 5: シークレットの詳細を表示

これで、マネージド外部シークレットが Secrets Manager に正常に作成されました。このシークレットには、Secrets Manager コンソールから、または AWS API を使用してプログラムでアクセスおよび管理できます。

Secrets Manager の統合パートナーとしてオンボーディングする

新しいマネージド外部シークレットタイプにより、サードパーティソフトウェアプロバイダーは Secrets Manager と統合し、AWS 上で提供するシークレットをプログラムで安全に管理する方法をお客様に提供できます。この統合により、お客様は AWS とサードパーティ両方のシークレットのライフサイクルを一元管理でき、シークレット作成時から自動ローテーション機能を利用できます。Salesforce などのソフトウェアプロバイダーは、すでにこの機能を活用しています。

「Salesforce では、セキュリティはイノベーションの障壁ではなく、イノベーションを可能にするものであるべきだと考えています。マネージド外部シークレットに関する AWS とのパートナーシップは、セキュリティ・バイ・デフォルトの実践であり、エンタープライズグレードの保護を提供しながら、お客様の運用負担を軽減します。AWS Secrets Manager がパートナーにも拡張され、自動化されたゼロタッチローテーションによって人的リスクが排除されることで、専門知識や追加コストなしに安全な認証情報をシームレスに利用できる新しい業界標準を確立しています。」— Salesforce プロダクトマネジメント担当シニアバイスプレジデント Jay Hurst 氏

統合パートナーとして Secrets Manager にオンボーディングするための追加コストはかかりません。開始するには、パートナーオンボーディングガイドに記載されているプロセスに従ってください。統合パートナーになることについてご質問がある場合は、aws-secrets-mgr-partner-onboarding@amazon.com まで、件名を「[パートナー名] Onboarding request」としてお問い合わせください。

まとめ

このブログでは、Secrets Manager の新しいシークレットタイプ「マネージド外部シークレット」を紹介しました。この機能は、事前定義されたフォーマットと自動ローテーションを通じて、サードパーティシークレットのライフサイクルを安全に管理するという課題に対応します。独自の保存方法の設計や複雑なローテーション関数の開発が不要になり、AWS サービス、カスタムアプリケーション、サードパーティプロバイダーのいずれのシークレットも、単一のサービスから一貫して管理できるようになりました。マネージド外部シークレットは、きめ細かなアクセス許可管理、オブザーバビリティ、コンプライアンスコントロールなど、標準の Secrets Manager シークレットと同じセキュリティ機能を提供しながら、追加コストなしで信頼できるパートナーとの組み込み統合を追加しています。

開始するには、技術ドキュメントを参照してください。既存のパートナーシークレットをマネージド外部シークレットに移行する方法については、既存のシークレットの移行を参照してください。この機能は、すべての AWS 商用リージョンで利用できます。Secrets Manager が利用可能なリージョンの一覧については、AWS リージョン表を参照してください。このブログについてご質問がある場合は、Secrets Manager re:Post で新しいスレッドを開始するか、AWS サポートにお問い合わせください。

Rohit Panjala

Rohit は AWS のセキュリティスペシャリストで、データ保護と暗号化サービスに注力しています。AWS データ保護サービスの市場投入 (GTM) 戦略の策定と実行、およびグローバル規模でのお客様とパートナーの導入促進を担当しています。AWS 入社前は、IBM でセキュリティプロダクトマネジメント、および電気エンジニアリングの職務に従事していました。オハイオ州立大学で工学の学士号を取得しています。

Rochak Karki

Rochak は AWS のセキュリティスペシャリストソリューションアーキテクトで、脅威検出、インシデント対応、データ保護に注力し、お客様が安全な環境を構築できるよう支援しています。米国陸軍の退役軍人で、ワイオミング大学で工学の学士号を取得しています。仕事以外では、家族や友人と過ごしたり、ハイキングや旅行を楽しんでいます。

本ブログは Security Solutions Architect の 中島 章博 が翻訳しました。