Skip to content

Commit 675448e

Browse files
committed
More edits
1 parent c771700 commit 675448e

File tree

5 files changed

+58
-34
lines changed

5 files changed

+58
-34
lines changed
23.6 KB
Loading
97.4 KB
Loading

articles/search/search-manage.md

Lines changed: 42 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,43 +8,33 @@ author: HeidiSteen
88
ms.author: heidist
99
ms.service: cognitive-search
1010
ms.topic: conceptual
11-
ms.date: 05/23/2024
11+
ms.date: 06/18/2024
1212
---
1313

1414
# Service administration for Azure AI Search in the Azure portal
1515

1616
> [!div class="op_single_selector"]
1717
>
18-
> * [PowerShell](search-manage-powershell.md)
19-
> * [Azure CLI](search-manage-azure-cli.md)
20-
> * [REST API](search-manage-rest.md)
18+
> + [PowerShell](search-manage-powershell.md)
19+
> + [Azure CLI](search-manage-azure-cli.md)
20+
> + [REST API](search-manage-rest.md)
2121
2222
In Azure AI Search, the [Azure portal](https://portal.azure.com) supports a broad range of administrative and content management operations so that you don't have to write code unless you want automation.
2323

2424
Each search service is managed as a standalone resource. Your role assignment determines what operations are exposed in the portal.
2525

2626
## Portal and administrator permissions
2727

28-
Portal access is through [role assignments](search-security-rbac.md). By default, all search services start with at least one Owner. Owners, service administrators, and co-administrators have permission to create other administrators and other role assignments. They have full access to all portal pages and operations.
28+
Portal access is through [role assignments](search-security-rbac.md). By default, all search services start with at least one Service Administrator or Owner. Service administrators, co-administrators, and owners have permission to create other administrators and other role assignments. They have full access to all portal pages and operations on a default search service.
2929

30-
Contributors and Search Service Contributors have the same access as Owner, minus the ability to assign roles.
31-
32-
Readers have access to service information in the Essentials section and in the Monitoring tab. Access is limited. A reader can get basic information about a search service, but not enough to set up a connection or confirm the existence of objects on the service.
33-
34-
For data plane tasks, such as creating and configuring indexes and indexers: on a default system, the portal attempts admin API keys first, even if there are role assignments. If [keys are disabled](search-security-enable-roles.md#disable-api-key-authentication), here's the portal experience for the following roles:
35-
36-
* Search Index Data Contributor can see the list of indexers, and access an individual one to see its historical runs and status, but cannot run, reset, create, update, or delete it.
37-
38-
* A Search Index Data Reader can query the indexes.
39-
40-
In short, if you want unrestricted access to portal features, including the ability to run the Import data wizards, you should have Contributor or Search Servicer Contributor permissions.
30+
If you disable API keys on a search service and use roles only, administrators must grant themselves data plane role assignments for full access to objects and data. These role assignments include Search Service Contributor, Search Index Data Contributor, and Search Index Data Reader.
4131

4232
> [!TIP]
4333
> By default, any owner or administrator can create or delete services. To prevent accidental deletions, you can [lock resources](../azure-resource-manager/management/lock-resources.md).
4434
4535
## Azure portal at a glance
4636

47-
The overview page is the "home" page of each service. In the following screenshot, the red boxes indicate tasks, tools, and tiles that you might use often, especially if you're new to the service.
37+
The overview page is the home page of each service. In the following screenshot, the red boxes indicate tasks, tools, and tiles that you might use often, especially if you're new to the service.
4838

4939
:::image type="content" source="media/search-manage/search-portal-overview-page.png" alt-text="Portal pages for a search service" border="true":::
5040

@@ -61,24 +51,51 @@ You can't change the search service name, subscription, resource group, region (
6151

6252
On a new search service, we recommend these configuration tasks.
6353

64-
### Check capacity and understand billing
54+
### Enable role-based access
6555

66-
By default, a search service is created in a minimum configuration of one replica and partition each. You can [add capacity](search-capacity-planning.md) by adding replicas and partitions, but we recommend waiting until volumes require it. Many customers run production workloads on the minimum configuration.
56+
A search service is always created with [API keys](search-security-api-keys.md). An admin API key grants read-write access to all data plane operations. You can't delete admin API keys but you can [disable API keys](search-security-enable-roles.md#disable-api-key-authentication) if you want all users to access data plane operations through role assignments.
6757

68-
Some features add to the cost of running the service:
58+
1. [Enable roles](search-security-enable-roles.md) on your search service.
6959

70-
+ [How you're charged for Azure AI Search](search-sku-manage-costs.md#how-youre-charged-for-azure-ai-search) explains which features have billing impact.
71-
+ [(Optional) disable semantic ranking](semantic-how-to-enable-disable.md) at the service level to prevent usage of the feature.
60+
1. For administration, [assign data plane roles](search-security-rbac.md). Role assignments that include Search Service Contributor, Search Index Data Contributor, and Search Index Data Reader replace the functionality lost when you disable API keys.
61+
62+
Sometimes it can take five to ten minutes for role assignments to take effect. Until that happens, the following message appears in the portal pages used for data plane operations.
63+
64+
:::image type="content" source="media/search-security-rbac/you-do-not-have-access.png" alt-text="Screenshot of portal message indicating insufficient permissions.":::
65+
66+
1. [Add more role assignments](search-security-rbac.md) for developers and apps.
67+
68+
### Configure a managed identity
69+
70+
If you plan to use indexers for automated indexing, applied AI, or integrated vectorization, you should [configure the search service to use a managed identity](search-howto-managed-identities-data-sources.md). You can then add role assignments on other Azure services that authorize your search service for access to data and operations.
71+
72+
For integrated vectorization, a search service identity needs:
73+
74+
+ Storage Blob Data Reader on Azure Storage
75+
+ Cognitive Services Data User on an Azure AI multiservice account
76+
77+
It can take several minutes for role assignments to take effect.
78+
79+
Before moving on to network security, consider testing all points of connection to validate role assignments. Run either the [Import data wizard](search-get-started-portal.md) or the [Import and vectorize data wizard](search-get-started-portal-image-search.md) to test permissions.
7280

7381
### Configure network security
7482

7583
By default, a search service accepts authenticated and authorized requests over public internet connections. Network security restricts access through firewall rules, or by disabling public connections and allowing requests only from Azure virtual networks.
7684

77-
* [Configure IP firewall rules](service-configure-firewall.md) to restrict access by IP address.
78-
* [Configure a private endpoint](service-create-private-endpoint.md) using Azure Private Link and a private virtual network.
85+
+ [Configure network access](service-configure-firewall.md) to restrict access by IP addresses.
86+
+ [Configure a private endpoint](service-create-private-endpoint.md) using Azure Private Link and a private virtual network.
7987

8088
[Security in Azure AI Search](search-security-overview.md) explains inbound and outbound calls in Azure AI Search.
8189

90+
### Check capacity and understand billing
91+
92+
By default, a search service is created in a minimum configuration of one replica and partition each. You can [add capacity](search-capacity-planning.md) by adding replicas and partitions, but we recommend waiting until volumes require it. Many customers run production workloads on the minimum configuration.
93+
94+
Some features add to the cost of running the service:
95+
96+
+ [How you're charged for Azure AI Search](search-sku-manage-costs.md#how-youre-charged-for-azure-ai-search) explains which features have billing impact.
97+
+ [(Optional) disable semantic ranking](semantic-how-to-enable-disable.md) at the service level to prevent usage of the feature.
98+
8299
### Enable diagnostic logging
83100

84101
[Enable diagnostic logging](monitor-azure-cognitive-search.md) to track user activity. If you skip this step, you still get [activity logs](../azure-monitor/essentials/activity-log.md) and [platform metrics](../azure-monitor/essentials/data-platform-metrics.md#types-of-metrics) automatically, but if you want index and query usage information, you should enable diagnostic logging and choose a destination for logged operations.
@@ -92,16 +109,10 @@ Internally, Microsoft collects telemetry data about your service and the platfor
92109
93110
### Enable semantic ranking
94111

95-
Semantic ranking is free for the first 1,000 requests per month, but you must opt-in to get the free quota.
112+
Semantic ranking is free for the first 1,000 requests per month, but you must opt in to get the free quota.
96113

97114
In Azure portal, under **Settings** on the leftmost pane, select **Semantic ranker** and then choose the Free plan. For more information, see [Enable semantic ranker](semantic-how-to-enable-disable.md).
98115

99-
### Configure user access
100-
101-
Initially, only an owner has access to search service information and operations. [Assign roles](search-security-rbac.md) to extend access, or provide users with a search endpoint with an API key.
102-
103-
A search service is always created with [API keys](search-security-api-keys.md). An admin API key grants read-write access to all data plane operations. You can't delete admin API keys but you can [disable API keys](search-security-enable-roles.md#disable-api-key-authentication) if you want all users to access data plane operations through role assignments.
104-
105116
### Provide connection information to developers
106117

107118
Developers need the following information to connect to Azure AI Search:

articles/search/search-security-enable-roles.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ author: HeidiSteen
88
ms.author: heidist
99
ms.service: cognitive-search
1010
ms.topic: how-to
11-
ms.date: 06/10/2024
11+
ms.date: 06/18/2024
1212

1313
---
1414

@@ -53,6 +53,12 @@ Once role-based access is enabled, the search service recognizes an **authorizat
5353
| Role-based access control | Requires membership in a role assignment to complete the task. It also requires an authorization header on the request. |
5454
| Both | Requests are valid using either an API key or role-based access control, but if you provide both in the same request, the API key is used. |
5555

56+
1. If you choose a roles-only approach, [assign data plane roles](search-security-rbac.md) to restore full administrative access over data plane operations in the Azure portal. Roles include Search Service Contributor, Search Index Data Contributor, and Search Index Data Reader. You need all three roles if you want equivalent access.
57+
58+
Sometimes it can take five to ten minutes for role assignments to take effect. Until that happens, the following message appears in the portal pages used for data plane operations.
59+
60+
:::image type="content" source="media/search-security-rbac/you-do-not-have-access.png" alt-text="Screenshot of portal message indicating insufficient permissions.":::
61+
5662
### [**Azure CLI**](#tab/config-svc-cli)
5763

5864
Run this script to support roles only:

articles/search/service-configure-firewall.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ This article assumes the Azure portal for network access configuration. You can
5050

5151
:::image type="content" source="media/service-configure-firewall/azure-portal-firewall-all.png" alt-text="Screenshot showing how to configure the IP firewall in the Azure portal.":::
5252

53-
1. Under **IP Firewall**, select **Add your client IP address** to create an inbound rule for the public IP address of your system.
53+
1. Under **IP Firewall**, select **Add your client IP address** to create an inbound rule for the public IP address of your system. See [Allow access from the Azure portal IP address](#allow-access-from-the-azure-portal-ip-address) for details.
5454

5555
1. Add other client IP addresses for other devices and services that send requests to a search service.
5656

@@ -63,14 +63,17 @@ This article assumes the Azure portal for network access configuration. You can
6363
+ `Microsoft.CognitiveServices` for Azure OpenAI and Azure AI services
6464
+ `Microsoft.MachineLearningServices` for Azure Machine Learning
6565

66-
You take a dependency on Microsoft Entra ID authentication, managed identities, and role assignments if you choose the trusted service exception. See [Grant access to trusted services](#grant-access-to-trusted-azure-services) for details.
66+
When you enable this exception, you take a dependency on Microsoft Entra ID authentication, managed identities, and role assignments if you choose the trusted service exception. Any Azure AI service or AML feature that has a valid role assignment can pass the firewall. See [Grant access to trusted services](#grant-access-to-trusted-azure-services) for more details.
6767

6868
1. **Save** your changes.
6969

7070
After you enable the IP access control policy for your Azure AI Search service, all requests to the data plane from machines outside the allowed list of IP address ranges are rejected.
7171

7272
When requests originate from IP addresses that aren't in the allowed list, a generic **403 Forbidden** response is returned with no other details.
7373

74+
> [!IMPORTANT]
75+
> It can take several minutes for changes to take effect. Wait at least 15 minutes before troubleshooting any problems related to network configuration.
76+
7477
<a id="allow-access-from-your-client-and-portal-ip"></a>
7578

7679
## Allow access from the Azure portal IP address
@@ -100,6 +103,10 @@ When services run in different regions, they connect to different traffic manage
100103

101104
For ping, the request times out, but the IP address is visible in the response. For example, in the message `"Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]"`, the IP address is `52.252.175.48`.
102105

106+
A banner informs you that IP rules affect the portal experience. This banner remains visible even after you add the portal's IP address. Remember to wait several minutes for network rules to take effect before testing.
107+
108+
:::image type="content" source="media/service-configure-firewall/restricted-access.png" alt-text="Screenshot showing the restricted access banner.":::
109+
103110
## Grant access to trusted Azure services
104111

105112
Did you select the trusted services exception? If yes, your Azure resource must have a managed identity (either system or user-assigned, but usually system), and you must use role-based access controls.

0 commit comments

Comments
 (0)