Skip to content

Commit aa14f7f

Browse files
committed
Added links, correct syntax for user-managed ID, shortened H2s
1 parent dedca02 commit aa14f7f

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

articles/search/cognitive-search-attach-cognitive-services.md

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ You can use a key on the connection, or implement a keyless approach that's curr
2929
> [!TIP]
3030
> Azure provides infrastructure for you to monitor billing and budgets. For more information about monitoring Azure AI services, see [Plan and manage costs for Azure AI services](/azure/ai-services/plan-manage-costs).
3131
32-
## Billing through a keyless connection to Azure AI multi-service
32+
## Bill through a keyless connection
3333

3434
[!INCLUDE [Feature preview](./includes/previews/preview-generic.md)]
3535

36-
Using the Azure portal or newer preview REST APIs and beta SDK packages, you can attach a multi-service resource using a managed identity and permissions. The advantage of this approach is that billing is keyless and has no dependency on regions.
36+
Using the Azure portal or newer preview REST APIs and beta SDK packages, you can attach an Azure AI multi-service multi-service resource using a managed identity and permissions. The advantage of this approach is that billing is keyless and has no dependency on regions.
3737

3838
1. [Configure Azure AI Search to use a managed identity](search-howto-managed-identities-data-sources.md).
3939

@@ -42,10 +42,10 @@ Using the Azure portal or newer preview REST APIs and beta SDK packages, you can
4242
1. Using the Azure portal, or the [Skillset 2024-11-01-preview REST API](/rest/api/searchservice/skillsets/create-or-update?view=rest-searchservice-2024-11-01-preview&preserve-view=true), or an Azure SDK beta package that provides the syntax, configure a skillset to use an identity:
4343

4444
+ The managed identity used on the connection belongs to the search service.
45-
+ It can be either a system managed identity (identity=null) or a user managed identity.
46-
+ The managed identity must have **Cognitive Services User** permissions on the Azure AI multiservice account.
47-
+ The `@odata.type` is always `#Microsoft.Azure.Search.AIServicesByIdentity`.
48-
+ the `subdomainUrl` is the endpoint of your Azure AI multi-service account and it can be in [any region that's jointly supported](search-region-support.md#azure-public-regions) by Azure AI Search and Azure AI services.
45+
+ The identity can be a system managed or a user assigned.
46+
+ The identity must have **Cognitive Services User** permissions on the Azure AI resource.
47+
+ `@odata.type` is always `#Microsoft.Azure.Search.AIServicesByIdentity`.
48+
+ `subdomainUrl` is the endpoint of your Azure AI multi-service resoruce. It can be in [any region that's jointly supported](search-region-support.md#azure-public-regions) by Azure AI Search and Azure AI services.
4949

5050
As with keys, the details you provide about the Azure AI Services resource are used for billing, not connections. All API requests made by Azure AI Search to Azure AI services for built-in skills processing continue to be internal and managed by Microsoft.
5151

@@ -66,14 +66,16 @@ POST https://[service-name].search.windows.net/skillsets/[skillset-name]?api-ver
6666
        "@odata.type": "#Microsoft.Azure.Search.AIServicesByIdentity", 
6767
        "description": "", 
6868
        "subdomainUrl": “https://[subdomain-name].cognitiveservices.azure.com", 
69-
      "identity": null
69+
      "identity": null
7070
    } 
7171
}
7272
```
7373

7474
### Example: user-assigned managed identity
7575

76-
Identity is set to the resource ID of the user-assigned managed identity.
76+
Identity is set to the resource ID of the user-assigned managed identity. To find an existing user-assigned managed identity, see [Manage user-assigned managed identities](/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities).
77+
78+
For a a user-assigned managed identity, set the `@odata.type` and the `userAssignedIdentity` properties.
7779

7880
```http
7981
POST https://[service-name].search.windows.net/skillsets/[skillset-name]?api-version=2024-11-01-Preview 
@@ -88,16 +90,19 @@ POST https://[service-name].search.windows.net/skillsets/[skillset-name]?api-ver
8890
        "@odata.type": "#Microsoft.Azure.Search.AIServicesByIdentity", 
8991
        "description": "", 
9092
        "subdomainUrl": “https://[subdomain-name].cognitiveservices.azure.com", 
91-
      "identity": null
92-
    } 
93+
        "identity": {  
94+
            "@odata.type":  "#Microsoft.Azure.Search.DataUserAssignedIdentity",  
95+
            "userAssignedIdentity": ""/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"" 
96+
    }
97+
}
9398
}
9499
```
95100

96-
## Billing through an Azure AI multi-service resources key
101+
## Bill through a resource key
97102

98-
This approach is the default and is generally available. You can use the Azure portal, REST API, or an Azure SDK to add the key to a skillset.
103+
Azure AI Search can also charge for transaction using the Azure AI multi-service resource key. This approach is the default and is generally available. You can use the Azure portal, REST API, or an Azure SDK to add the key to a skillset.
99104

100-
If you leave the property unspecified, your search service attempts to use the free enrichments available to your indexer on a daily basis. Execution of billable skills stops at 20 transactions per indexer invocation and a "Time Out" message appears in indexer execution history.
105+
You only need to add the key, not the subdomain or endpoint. If you leave the `cognitiveServices` property unspecified, your search service attempts to use the free enrichments available to your indexer on a daily basis. Execution of billable skills stops at 20 transactions per indexer invocation and a "Time Out" message appears in indexer execution history.
101106

102107
### [**Azure portal**](#tab/portal)
103108

0 commit comments

Comments
 (0)