For AI agents: the complete documentation index is available at https://docs.dataplatform.ovh.net/ja/llms.txt, the full documentation bundle is available at https://docs.dataplatform.ovh.net/ja/llms-full.txt, and this page is available as Markdown at https://docs.dataplatform.ovh.net/ja/iam-auth-providers-custom-mapping.md.
  • 🇯🇵 日本語
  • 認証プロバイダーのカスタムマッピングを設定する

    認証プロバイダーを通じてサインインするユーザーにData Platformのグループとロールを自動的に割り当てる

    目的

    カスタムマッピングを使用すると、認証プロバイダーを通じてサインインするユーザーに既存のData Platformグループまたはロールを自動的に割り当てるか、またはそれらが存在しない場合に自動的に作成できます。

    Info

    ログ履歴セクションでは、JSONPath形式を使用して、認証に成功した後に返されるレスポンスオブジェクトから選択し、下記のカスタムマッピングを構成できます。

    カスタムマッピングパネルで追加をクリックして、新しいマッピングを設定します。

    mapping

    通常モード

    通常モードでは、認証プロバイダーからサインインするユーザーに既存のグループまたはロールを割り当てることができます。

    これを行うには、ロールまたはグループを選択し、選択からロール/グループを選択します。

    mapping

    デフォルトでは、認証プロバイダーからインポートされた新しいユーザー全員にロール/グループを割り当てますが、バインドに条件を設定できます。

    simple mapping

    条件は、認証プロバイダーのレスポンスからのフィールドに基づいています。 条件の例は次のとおりです。

    {
        "user.jobTitle": {
            "eq": "Admin"
        }
    }

    この条件は、認証プロバイダーからサインインする新しいユーザーの認証レスポンス内のuser.jobTitleフィールドを確認し、Adminと等しいかどうかを確認します。真の場合、そのユーザーにロール/グループをバインドし、そうでない場合はバインドしません。

    条件演算子は次のとおりです。

    • eq: 値と等しい
    • ne: 値と等しくない
    • in: 値のセット内
    • nin: 値のセット内ではない
    • lt, lte, gt, gte: 未満、以下、以上、以上
    • regexp: 認証レスポンスフィールドを値と一致させようとする(正規表現)

    JSONモード

    JSONモードでは、認証プロバイダーからサインインするユーザーに対して、グループやロールを動的に割り当てまたは作成できます。ウィンドウのヘッダーでJSONモードに切り替えてアクティブにします。

    既存のロール/グループを割り当てる

    条件付きで既存のグループ/ロールをバインドするには、ifキーワードを使用します。

    advanced mapping
    {
      "group": "_identifier_of_the_group",
      "if": {
        "organization.name": { 
          "eq": "Example Corp"
        }
      }
    }

    ロール/グループを動的に検索または作成する

    オプションbindを使用して、バインドされたリソースを動的に定義できます。5つの可能なパラメータを受け取ります。

    • upsert: false/true
      • trueの場合: Identity Access Managerに既に存在しない場合、グループ/ロールを自動生成します
      • falseの場合: 既存のグループ/ロールのみにバインドします
    • input: 「バインドするリソース」のリストを取得するためのJSONパスアクセサ
    • split: 一部の場合、次のようなフィールドを回答に持つことがあります: "group1,group2,group3"。カンマを入力すると、自動的にカンマを区切りとしてリストを分割します
    • match: 下記を参照
    • replace: 下記を参照

    matchパラメータを使用する

    特定の正規表現パターンに一致するグループのみを取得できます。

    例えば、認証プロバイダーに次のグループがある場合:PRIVATE_ADMIN, IAM_APP_GROUP1, IAM_APP_GROUP2、次の構成では「IAM_APP」で始まる2つのグループのみが作成されます。

    {
        "input": "$.memberships[*].displayName",
        "match": 'IAM_APP_.*'
    }

    この構成により、IAM_APPで始まる2つのグループのみが取得されます

    replaceパラメータを使用する

    replaceパラメータは、「match」パターンが設定されている場合にのみ使用できます。正規表現キャプチャグループを使用して、作成されたグループの名前を変更できます。

    {
        "input": "$.memberships[*].displayName",
        "match": 'IAM_APP_(.*)',
        "replace": '$1'
    }

    前の例では、Identity Access Managerに「GROUP1」および「GROUP2」という名前のグループが作成され、フルネームの代わりに作成されます。

    3つの例

    例えば、組織の名前をIAMグループにバインドできます。

    {
      "bind": {
        "upsert": false, // if set to true, it will create the field automatically
        "input": "$.organizations[*].name", // JSON path accessor to input elements
        "split": null // Optional, if set, it will try to split every value with the value in delimiter
        "match": ".*", // Optional, it will match the value found in input with that regexp
        "replace": "$0" // Optional, it will replace the input with that pattern before setting it as name for group/role.
      }
    }

    この構成は、ユーザーのメンバーシップから新しいグループを自動的に作成します。

    {
      "bind": {
        "upsert": true,
        "input": "$.memberships[*].displayName"
      }
    }

    この例の構成:

    bind mapping
    • $.user.isMemberOfフィールドを検索します
    • カンマを使用して値を分割します(,)
    • 各値について:
      • APP_MY_DASHBOARD_で始まる正規表現に一致するかどうかを確認し、末尾をキャプチャします
      • APP_とキャプチャされた値で置き換えます
      • upsertがfalseであるため、そのグループがIAMに存在するかどうかを確認し、ユーザーをそのグループにバインドします
    {
      "bind": {
        "upsert": false,
        "split": ",",
        "input": "$.user.isMemberOf",
        "match": "APP_MY_DASHBOARD_([\\w-]*)",
        "replace": "APP_$1"
      }
    }

    さらに詳しく

    ソリューションの実装に関するトレーニングや技術サポートが必要な場合は、営業担当者にお問い合わせください、またはこのリンクをクリックして見積もりを依頼し、プロフェッショナルサービスの専門家にプロジェクトのカスタム分析を依頼してください。

    Data Platformを構築するチームと直接質問し、フィードバックを共有し、相互作用するには、専用のDiscordチャネルにアクセスしてください。

    OVHcloudサービスに関するサポートが必要な場合は、ヘルプセンターでリクエストを作成してください。

    コミュニティのユーザーに参加してください。