For the complete documentation index, see llms.txt. This page is also available as Markdown.

Azure Logic Appsコネクター

Azure Functionミドルウェア経由でKeeperシークレットマネージャーをAzure Logic AppsおよびPower Automateに接続

Azure Logic AppsおよびPower AutomateからKeeperボルト内のシークレットを管理できます。実行時に認証情報を取得し、新しいシークレットを作成し、パスワードをローテーションし、ワークフローに機密値をハードコードすることなくボルトを監査できます。

概要

Keeperシークレットマネージャーコネクターは、Azure Logic AppsおよびPower AutomateをKeeperシークレットマネージャーに接続します。Azure Function Appとしてデプロイする軽量なPythonミドルウェアサービスが、Keeperシークレットマネージャー Python SDKを介してKeeperボルトと通信します。

すべてのシークレットはKeeperのゼロ知識アーキテクチャで保護されます。Azure Function App内でローカルに復号され、Keeperのサーバーを経由しません。ミドルウェアの構成は、マネージドID参照を通じてAzure Key Vaultに保存されます。

機能

  • 実行時シークレット取得: フローにシークレットをハードコードせず、必要に応じて認証情報を取得

  • シークレットの作成と更新: ワークフローから直接認証情報をプロビジョニングおよびローテーション

  • 動的ドロップダウン: Logic Appデザイナー内のシークレットおよびフォルダピッカーに選択肢を自動表示

  • ゼロ知識暗号化: シークレットはローカルで復号され、Azure環境外へ出ない

  • ワンクリックデプロイ: ARMテンプレートにより、数分で必要なAzureリソースをすべてプロビジョニング

  • 認定コネクター: Microsoft Power Platformマーケットプレイスで公開

要件

  • Keeper Securityアカウント

    • サブスクリプション: シークレットマネージャーが有効なKeeperエンタープライズアカウント

    • アプリケーション: 少なくとも1つの共有フォルダが設定されたKeeperボルト内のKeeperシークレットマネージャーアプリケーション

    • デバイス構成: Keeper管理コンソールから生成したBase64エンコードのデバイス構成、またはワンタイムアクセストークン

  • Azureアカウント

    • サブスクリプション: リソースグループに対するOwner、またはContributor + User Access Administrator権限を持つAzureサブスクリプション。ARMテンプレートはインフラストラクチャ、ロール割り当て、デプロイスクリプトを作成。手動セットアップの場合のみContributor権限で足りる

セットアップ

手順1: Keeperシークレットマネージャーアプリケーションを作成する

  1. Keeperボルトにサインインします

  2. 左メニューから [シークレットマネージャー] を開きます

  3. [アプリケーションの作成] をクリックし、わかりやすい名前を付けます (例: 「Azure Logic Apps Connector」)

  4. 1つ以上のボルトフォルダをアプリケーションと共有します。これらのフォルダが、コネクターがアクセスできるシークレットを決定します

  5. [デバイス] タブを開き、[デバイスを追加] をクリックします

  6. [デバイス名] を入力し、[取得方法][構成ファイル] を選択し、[構成タイプ][Base64] を選択して、[コピー] をクリックします

構成ファイルおよびPython SDKについて、詳しくはKSM Developer SDKsのドキュメントをご参照ください。

手順2: Azure Functionミドルウェアをデプロイする

ミドルウェアリポジトリDeploy to Azureボタンをクリックします。Azure portalでResource Groupを選択または作成し、以下を入力します。

パラメータ

Function App Name

グローバルに一意な名前、3〜60文字 (例: keeper-middleware-acme)

Keeper Config

手順1で取得したBase64エンコードのデバイス構成

Location

Azureリージョン (デフォルトはリソースグループのロケーション)

Review + createをクリックし、デプロイが完了するまで待ちます。通常5〜7分かかります。ARMテンプレートですべてのリソースがプロビジョニングされ、ミドルウェアコードも自動デプロイされます。 func publish を実行する必要はありません。

ARMデプロイには、リソースグループに対するOwner、またはContributor + User Access Administratorが必要です。

プロビジョニングされるリソース

テンプレートにより、以下のリソースがプロビジョニングされます。

リソース
用途

Azure Function App

Python 3.11、Linux Consumptionプラン、システムマネージドID

App Service Plan

Linux Consumption (Dynamic Y1) ホスティングプラン

Azure Key Vault

KSM構成をシークレット (KSM-CONFIG) として保存

Key Vault Access Policy

Function AppにKey Vaultシークレットへの GET 権限を付与

Storage Account

Azure Functionsランタイムで必要

User-Assigned Managed Identity

デプロイスクリプトがFunction Appへミドルウェアコードをデプロイする際に使用

Contributor Role Assignment

プロビジョニング中にUAMIがFunction Appへデプロイする権限を付与

Deployment Script

ミドルウェアコードをFunction Appにダウンロードしてデプロイ。成功時に自動クリーンアップ

すべてのリソースでHTTPSのみおよび**TLS 1.2+**が強制されます。Deployment Scriptリソースはプロビジョニング成功後に自動削除されます。User-Assigned Managed IdentityとそのContributorロール割り当てはデプロイ後も残ります。プロビジョニング完了後に手動で削除できます。

ARMテンプレートを使わず、Azure portalで必要なリソースを作成することもできます。 手順の詳細は、リポジトリのManual Setupをご参照ください。

手動セットアップの場合: Resource Group、Key Vault、Storage Account、Function Appを作成した後、Azure Functions Core Toolsでミドルウェアコードをデプロイします。

<FUNCTION_APP_NAME> をFunction App名に置き換えます。「Remote build succeeded!」が表示されるまで待ちます (2〜5分)。

手順3: Function Host Keyをコピーする

  1. Azure portalで、デプロイ済みのFunction Appを開きます

  2. 左メニューでApp keys (Functionsセクション内) を選択します

  3. defaultホストキーをコピーします

手順4: コネクターを追加する

Logic App DesignerでAdd an actionをクリックし、Keeper Secrets Managerを検索して、コネクター一覧から選択します。認定コネクターは最初から利用できます。インポートは不要です。

開発環境またはセルフホストでデプロイする場合は、Azure portalまたはPower AutomateのCustom connectorsから apiDefinition.swagger.json をアップロードして、コネクターを手動インポートできます。

手順5: 接続を作成する

プロンプトが表示されたら、以下を入力します。

  1. Function App URL: Azure Function Appのホスト名 (例: yourapp.azurewebsites.net)

  2. API Key: 手順3のホストキー。すべてのリクエストで x-functions-key ヘッダーとして送信されます

以降のフローはこの接続を再利用します。

クイックスタート

接続後、Logic AppフローにKeeperシークレットマネージャーのアクションを追加できます。利用できる操作は5つです。

操作
メソッド
説明

List Secrets

GET /secrets

アクセス可能なすべてのシークレット (UID、タイトル、タイプ、フォルダ) を返却

Get Secret

GET /secrets/{uid}

ログイン、パスワード、URL、メモ、TOTPコード、パスキー、ファイル参照、カスタムフィールド、編集可否を含むシークレットの詳細を返却

Create Secret

POST /secrets

共有フォルダに新しい login レコードタイプのシークレットを作成 (folder_uidtitle が必要)

Update Secret

PUT /secrets/{uid}

titleloginpasswordurlnotes の任意の組み合わせを更新

List Folders

GET /folders

アクセス可能なすべてのフォルダ (UID、名前、親、レコード数) を返却

Get SecretおよびUpdate Secretには、List Secretsで入力される動的ドロップダウンがあります。Create Secretには、List Foldersで入力される対象フォルダ選択用の動的ドロップダウンがあります。

自動化フロー

他のAzure Logic Appsコネクターと組み合わせる際の一般的なパターンです。

自動パスワードローテーション

スケジュールに従って認証情報をローテーションし、チームに通知します。

使用: Keeper Secrets Manager + Compose + Office 365 Outlook

API呼び出しへの認証情報注入

フロー内に保存せず、実行時にボルトからAPIキーを取得します。

使用: Keeper Secrets Manager + HTTP + SharePoint

従業員向け認証情報プロビジョニング

新入社員が入社した際に、ボルトの認証情報を自動作成します。

使用: Keeper Secrets Manager + Azure AD + Office 365 Outlook

ボルトコンプライアンス監査

すべてのシークレットとフォルダの週次インベントリレポートを生成します。

使用: Keeper Secrets Manager + Data Operations + SharePoint + Office 365 Outlook

GitHubシークレット同期

GitHubリポジトリのシークレットをKeeperボルトと同期します。

使用: Keeper Secrets Manager + HTTP

データベース接続文字列の取得

ボルトに保存した認証情報から、必要に応じて接続文字列を組み立てます。

使用: Keeper Secrets Manager + Compose + Request/Response

セキュリティ

コントロール
詳細

ゼロ知識

Keeperシークレットマネージャー SDKを介してAzure Function内でローカルに復号。平文シークレットはKeeperサーバーを経由しない

Key Vaultストレージ

デバイス構成はマネージドID参照を通じてAzure Key Vaultに保存。平文では保存しない

HTTPS + TLS 1.2+

Azure App Serviceレベルで強制

Functionレベル認証

すべてのリクエストに x-functions-key ヘッダーが必要

レート制限

ワーカーごとのベストエフォート制限 (60秒間に60リクエスト) により、意図しない過負荷を防止。超過時は 429 Too Many RequestsRetry-After ヘッダーを返却

入力検証

Content-Type、フィールド長、必須パラメータを検証

安全なエラーメッセージ

APIエラーレスポンスに機密データを含めない

既知の制限

  • ログインレコードタイプのみ: Create Secretは login レコードタイプのみ。SSHキーやデータベース認証情報など、他のKeeperレコードタイプは作成不可

  • フォルダ作成不可: フォルダはKeeperボルトまたはKeeper管理コンソールで作成。コネクターからは作成できない

  • ファイル添付: ファイル添付付きシークレットは一覧表示されるが、添付ファイルのバイナリ内容は返却されない

  • コールドスタート遅延: Azure Consumptionプランでは2〜5秒を想定。レイテンシに敏感なワークロードにはApp Serviceプランを使用

トラブルシューティング

問題: KSM_CONFIG 環境変数が設定されていない

原因: Function App設定のKey Vault参照が欠落している、または無効

解決方法:

  1. Azure portalで、Function App > Configuration > Application settingsを開きます

  2. KSM_CONFIG が存在し、有効なKey Vault参照 (例: @Microsoft.KeyVault(SecretUri=...)) が含まれていることを確認します

問題: 401 Unauthorized

原因: ホストキーが無効、または一致しない

解決方法:

  1. コネクター接続のホストキーが、Function App > App keysのキーと一致していることを確認します

  2. x-functions-key ヘッダーが送信されていることを確認します

問題: 404 Not Found

原因: シークレットが無効、または削除済み

解決方法:

  • シークレットUIDが無効、またはボルトから削除されています

  • UIDがKeeperボルトに存在することを確認してください

問題: 400 Bad Request

原因: 必須パラメータが不足

解決方法:

  • シークレット作成時に folder_uid が指定されていることを確認してください

  • フォルダがアプリケーションからアクセス可能であることを確認してください

問題: 429 Too Many Requests

原因: レート制限超過

解決方法:

  • Retry-After レスポンスヘッダーで指定された時間待機してください

  • リクエスト頻度を下げるか、時間を分散してください

問題: 初回リクエストが遅い

原因: Consumptionプランでのコールドスタート

解決方法:

  • Azure Consumptionプランでは正常な動作です

  • レイテンシを下げるには、App Serviceプランへアップグレードするか、Always Onを有効にしてください

GET /api/health でFunction Appが稼働中で到達可能か確認できます。ミドルウェアが正常な場合、 {"status": "ok"} を返します。

次のステップ

  • 完全なAPIリファレンス: リクエスト/レスポンススキーマ、エラーコード、高度な使い方については、コネクターの詳細ドキュメントをご参照ください

  • ミドルウェアリポジトリ: ローカル開発セットアップ、CLIデプロイ、テスト手順については、Azure Function Middlewareリポジトリをご参照ください

  • Keeperシークレットマネージャー SDK: Logic Apps以外の直接SDK連携については、KSM Developer SDKsをご参照ください

リソース

機能リクエストは pam@keepersecurity.com までメールでお送りください。

最終更新