APIでは、リクエストを認証するためにさまざまなキー、トークン、およびその他の機密情報が必要です。これらの秘密を安全に保つことは、開発者や組織にとって非常に重要です。
Apidogのバルセキュリティ機能は、Azure Key Vaultと統合されており、APIの秘密を管理するための効果的かつ安全なソリューションを提供します。このステップバイステップガイドでは、Azure Key VaultとApidogを統合し、APIキーとAPIトークンを保護しながらAPIをテストおよび管理するプロセスをご紹介します。
HashiCorp VaultをApidogと統合する:安全なAPIキー、トークンなど
AWS Secrets ManagerをApidogと統合する:API機密データの保護
Azure Key Vaultとは?
Azure Key Vaultは、Microsoft Azureによるクラウドベースのサービスで、秘密、暗号化キー、証明書などの機密情報を安全に保管および管理するために設計されています。これにより、パスワード、APIキー、デジタル証明書などの重要な資産へのアクセスを管理し、これらのリソースがクラウドアプリケーションやサービスで保護されるようにします。
Azure Key Vaultは主に2つのコンテナタイプをサポートしています:
- ボルト:ソフトウェアサポートおよびハードウェアセキュリティモジュール(HSM)サポートのキー、秘密、証明書を保存できます。
- 管理されたHSMプール:HSMサポートのキー専用に設計されており、暗号操作のための高度なセキュリティを提供します。
Azure Key Vaultの主な機能
- 安全なキー管理:Azure Key Vaultを使用すると、クラウドアプリケーションやサービスで使用される暗号化キーと小さな秘密(パスワードなど)を安全に保管および管理できます。キーはさらなるセキュリティのためにハードウェアセキュリティモジュール(HSM)に保存されます。
- キーと秘密の暗号化:Azure Key Vaultは、安全に保存されたキーを使用して機密データの暗号化を可能にし、クラウド上のアプリケーションやデータの保護を強化します。
- 内蔵のセキュリティとコンプライアンス:このサービスは強力なセキュリティ対策に支えられており、Microsoftは今後5年間でサイバーセキュリティに200億ドルを投資することを約束しています。Azureはまた、77か国にわたって8,500人以上のセキュリティおよび脅威インテリジェンスの専門家を雇用して、データ保護を確保しています。
- 業界トップのコンプライアンス認証:Azure Key Vaultは、業界内の最大のコンプライアンス認証ポートフォリオの一つで運用されており、組織が規制要件を満たすことを確実にします。
- スケーラビリティと統合:Azure Key VaultはAzureサービスとシームレスに統合され、エンタープライズレベルのアプリケーションのスケールに対応しており、小規模から大規模の企業がそのセキュリティ機能の恩恵を受けることを確実にします。
なぜAzure Key Vaultを使用するのか?
- 集中管理:アプリケーションコードの外で機密情報を安全に保存することで、秘密の露出リスクを減らします。
- 安全なアクセス制御:Microsoft Entra IDを介した認証およびAzureロールベースアクセス制御(RBAC)またはKey Vaultアクセスポリシーによる承認を使用して秘密を保護します。
- モニタリングと監査:アクセスと秘密の使用を追跡するためのログおよびモニタリングツールを提供します。
- 簡素化された管理:Azure Key Vaultはキーライフサイクル管理を自動化し、データ複製を通じて高い可用性を提供し、需要に応じてスケールします。
ApidogとAzure Key Vaultの統合による利点
Azure Key VaultとApidogを統合することは、APIの秘密とAPIトークンの管理においていくつかの主要な利点を提供します。
1. 中央集権的な秘密管理
Azure Key Vaultを使用すると、APIの秘密の管理を集中化でき、偶発的な漏洩のリスクを減少させ、機密データが安全に保存されることを保証します。
- 秘密のハードコーディングなし:秘密はアプリケーションコードや設定ファイルに保存されず、偶発的な露出の可能性を減らします。
- 中央集権的アクセス:開発者やサービスは中央の場所から秘密を取得でき、ワークフローが簡素化されます。
2. 強化されたセキュリティ
Azure Key Vaultは、高度なセキュリティ機能を提供し、ハードウェアサポートのHSMおよびFIPS 140-2標準への準拠により、秘密が最高レベルで保護されます。
- ロールベースアクセス制御(RBAC):Azure内の役割に基づいて、特定の秘密、キー、証明書にアクセスできるユーザーを定義します。
- 監査ログ:秘密へのアクセスをモニターおよび監査し、疑わしい活動を追跡します。
3. 簡素化されたAPIテストワークフロー
Azure Key VaultをApidogと安全に統合することで、APIテスト中に秘密を自動的に取得できるため、プロセスが迅速かつ効率的になります。テスト中に機密情報を管理するための手動介入は不要です。
Azure Key VaultとApidogの統合手順
Azure Key VaultをApidogに統合すると、API秘密を安全に保存でき、アプリケーションコードに埋め込む必要がなくなります。ApidogのVault Secret機能は、APIテスト中に秘密を取得できるため、ワークフローを簡素化しながらセキュリティを妥協することはありません。
前提条件
始める前に、次のことを確認してください:
- ApidogエンタープライズプランでVaultサポートが必要です。
- Microsoft Entra ID(旧Azure Active Directory)へのアクセスが必要です。
- OAuth 2.0およびOIDC(OpenID Connect)認証方法に関する基本的な理解が必要です。
ステップ1:OIDC用にMicrosoft Entra IDを構成する
Azure Key VaultをApidogと統合するために、"Microsoft Entra IDポータル"にログインし、"アプリの登録"に移動します。そこから"新しい登録"をクリックして、新しいアプリケーションを作成します。アプリケーションの名前をVault Integrationのように指定し、"登録"をクリックしてアプリケーションの作成を完了します。このステップで、Azure Key VaultをApidogとリンクするための基盤が設定され、API秘密やトークンを安全に管理できるようになります。
ステップ2:Azure Key VaultとApidogを統合する
アプリケーションが登録されたら、アプリ登録の"概要"ページに移動し、"アプリケーション(クライアント)ID"をコピーします。このIDをApidogの"クライアントID"フィールドに貼り付けます。
次に、Microsoft Entra IDポータルの"エンドポイント"をクリックします。"OAuth 2.0承認エンドポイント(v2)"をコピーし、Apidogの"認証URL"フィールドに貼り付け、その後"OAuth 2.0トークンエンドポイント(v2)"をコピーしてApidogの"アクセストークンURL"フィールドに貼り付けます。
次に、アプリ設定内の"認証"ページに移動し、"プラットフォームの追加"をクリックし、"シングルページアプリケーション"を選択します。Apidogの"コールバックURL"をコピーし、"リダイレクトURI"セクションに貼り付けます。
その後、Microsoft Entra ID管理ポータルのホームページに戻り、"エンタープライズアプリケーション"に移動し、登録したアプリケーションをクリックします。最後に、"ユーザーとグループ"ページで、キー・ボルトへのアクセスが必要なユーザーまたはグループを追加します。
ステップ3:Apidogで接続をテストする
Apidogで接続をテストするには、まず"バルセキュリティ"セクションに移動します。
ここで、バルプロバイダーとしてAzure Key Vaultを選択し、Azure Key Vaultの名前を入力します。名前を入力したら、"接続テスト"をクリックします。これによりOAuth 2.0ログインウィンドウが表示されます。Microsoft Entra IDの資格情報を使用してログインします。接続が成功すれば、Apidogに"成功しました"という確認メッセージが表示され、Azure Key Vaultとの統合が成功裏に確立されたことを示します。
ステップ4:Azure Key VaultからApidogに秘密を取得する
Azure Key Vaultへの接続が確立されたら、Azure Key VaultからApidogに秘密を取得することができます。
まず、Azure Key Vaultで使用したい秘密を見つけます。たとえば、"foo"という名前の秘密です。
次に、Apidogに移動し、バルセキュリティセクションで秘密のために必要なメタデータを入力します。メタデータを入力した後、秘密を取得ボタンをクリックすると、秘密の値が表示されます。
秘密の値を表示するには、右側の目のアイコンをクリックするだけで、その内容が表示され、APIリクエストで使用できます。
ステップ5:Apidogでバルセキュリティを使用する
秘密がApidogに正常にリンクされたら、それらをAPIリクエストやスクリプトで簡単に使用できます。APIリクエストに秘密を変数として含めるには、次の構文を使用します:
{{vault:key}}
たとえば、test/foo
という名前の秘密をリンクした場合、そのリクエストで次のように参照できます:
{{vault:test/foo}}
これにより、リクエストを実行する際にApidogが秘密の値を動的に取得し、機密データが安全に処理されることが保証されます。
さらに、スクリプト内でも次のコードを使用して秘密にプログラム的にアクセスできます:
await pm.vault.get("key");
このコードは秘密の値を取得し、コードに露出することなく、スクリプトやAPI呼び出しで安全に使用できるようになります。これにより、機密データを効率的かつ安全にワークフローに統合できます。
このステップバイステップガイドに従うことで、API秘密、トークン、その他の機密情報を管理するための安全かつ効率的なワークフローを確立しました。この統合は、APIテストや開発のセキュリティを高めるだけでなく、プロセスを簡素化し、機密データをハードコーディングすることによるリスクを減らします。Azure Key VaultとApidogが一緒に機能することで、API全体で厳格なセキュリティ基準を維持しながら、自信を持って秘密を管理できます。
結論
Azure Key VaultとApidogを統合することで、開発とテスト中にAPIの秘密を安全かつ効率的に管理できます。上記の手順を使用することで、APIキーやトークンなどの機密データが暗号化され安全に管理されることを保証し、APIのセキュリティを妨げることはありません。この統合は、開発ワークフローを簡素化しながら、高いセキュリティ基準を維持したいチームに特に価値があります。