Protecting Custom Skillset API

Azure AI Search is a platform as a service that lets developers integrate search with applications seamlessly. Before the data is indexed for searching, the data can be enriched by in-built or custom skill sets. Custom skill set can be implemented using Azure functions.(best fit) Azure functions can be protected by built in authentication. App to App authentication Steps Enable managed identity for Cognitive Search Configure azure function to use Azure AD login Configure the Custom Skillset with Id of the azure functions from the previous step in the authresourceId Assign a contributor role to Azure Search managed identity on Azure Functions { "skills": [ { "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", "name": "myCustomSkill", "description": "This skill calls an Azure function, which in turn calls TA sentiment", "uri": "https://indexer-e2e-webskill.azurewebsites.net/api/DateExtractor?language=en", "authresourceId" "" "context": "/document", "httpHeaders": { "DateExtractor-Api-Key": "foo" }, "inputs": [ { "name": "contractText", "source": "/document/content" } ], "outputs": [ { "name": "contractDate", "targetName": "date" } ] } ] }

Mar 25, 2025 - 18:21
 0
Protecting Custom Skillset API

Azure AI Search is a platform as a service that lets developers integrate search with applications seamlessly.

Before the data is indexed for searching, the data can be enriched by in-built or custom skill sets.

Custom skill set can be implemented using Azure functions.(best fit)

Azure functions can be protected by built in authentication. App to App authentication

Steps

  1. Enable managed identity for Cognitive Search
  2. Configure azure function to use Azure AD login
  3. Configure the Custom Skillset with Id of the azure functions from the previous step in the authresourceId
  4. Assign a contributor role to Azure Search managed identity on Azure Functions
{
    "skills": [
      {
        "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
        "name": "myCustomSkill",
        "description": "This skill calls an Azure function, which in turn calls TA sentiment",
        "uri": "https://indexer-e2e-webskill.azurewebsites.net/api/DateExtractor?language=en",
"authresourceId" ""
        "context": "/document",
        "httpHeaders": {
            "DateExtractor-Api-Key": "foo"
        },
        "inputs": [
          {
            "name": "contractText",
            "source": "/document/content"
          }
        ],
        "outputs": [
          {
            "name": "contractDate",
            "targetName": "date"
          }
        ]
      }
  ]
}