You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/search/search-indexer-howto-access-ip-restricted.md
+45-38Lines changed: 45 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Allow access to indexer IP ranges
2
+
title: Connect through firewalls
3
3
titleSuffix: Azure Cognitive Search
4
4
description: Configure IP firewall rules to allow data access by an Azure Cognitive Search indexer.
5
5
@@ -8,25 +8,25 @@ author: arv100kri
8
8
ms.author: arjagann
9
9
ms.service: cognitive-search
10
10
ms.topic: how-to
11
-
ms.date: 11/11/2021
11
+
ms.date: 02/02/2022
12
12
---
13
13
14
-
# Configure IP firewall rules to allow indexer connections in Azure Cognitive Search
14
+
# Configure IP firewall rules to allow indexer connections from Azure Cognitive Search
15
15
16
16
On behalf of an indexer, a search service will issue outbound calls to an external Azure resource to pull in data during indexing. If your Azure resource uses IP firewall rules to filter incoming calls, you'll need to create an inbound rule in your firewall that admits indexer requests.
17
17
18
-
This article explains how to find the IP address of your search service, and then use Azure portal to configure an inbound IP rule on an Azure Storage account. While specific to Azure Storage, this approach also works for other Azure resources that use IP firewall rules for data access, such as Cosmos DB and Azure SQL.
18
+
This article explains how to find the IP address of your search service and configure an inbound IP rule on an Azure Storage account. While specific to Azure Storage, this approach also works for other Azure resources that use IP firewall rules for data access, such as Cosmos DB and Azure SQL.
19
19
20
20
> [!NOTE]
21
21
> IP firewall rules for a storage account are only effective if the storage account and the search service are in different regions. If your setup does not permit this, we recommend utilizing the [trusted service exception option](search-indexer-howto-access-trusted-service-exception.md) as an alternative.
22
22
23
23
## Get a search service IP address
24
24
25
-
1. Determine the fully qualified domain name (FQDN) of your search service. This will look like `<search-service-name>.search.windows.net`. You can find out the FQDN by looking up your search service on the Azure portal.
25
+
1. Determine the fully qualified domain name (FQDN) of your search service. This will look like `<search-service-name>.search.windows.net`. You can find the FQDN by looking up your search service on the Azure portal.
26
26
27
-

27
+
:::image type="content" source="media\search-indexer-howto-secure-access\search-service-portal.png" alt-text="Screenshot of the search service Overview page." border="true":::
28
28
29
-
1. Look up the IP address of the search service by performing a `nslookup` (or a `ping`) of the FQDN on a command prompt.
29
+
1. Look up the IP address of the search service by performing a `nslookup` (or a `ping`) of the FQDN on a command prompt. Make sure you remove the "https://" prefix from the FQDN.
30
30
31
31
1. Copy the IP address so that you can specify it on an inbound rule in the next step. In the example below, the IP address that you should copy is "150.0.0.1".
32
32
@@ -43,48 +43,55 @@ This article explains how to find the IP address of your search service, and the
43
43
44
44
## Get IP addresses for "AzureCognitiveSearch" service tag
45
45
46
-
Depending on your search service configuration, you might also need to create an inbound rule that admits requests from a range of IP addresses. Specifically, additional IP addresses are used for requests that originate from the indexer's [multi-tenant execution environment](search-indexer-securing-resources.md#indexer-execution-environment).
46
+
If your search service workloads include skillset execution, create an inbound rule that allows requests from the [multi-tenant execution environment](search-indexer-securing-resources.md#indexer-execution-environment). This step explains how to get the range of IP addresses needed for this inbound rule.
47
47
48
-
You can get this IP address range from the `AzureCognitiveSearch` service tag.
48
+
An IP address range is defined for each region that supports Azure Cognitive Search. You can get this IP address range from the `AzureCognitiveSearch` service tag.
49
49
50
50
1. Get the IP address ranges for the `AzureCognitiveSearch` service tag using either the [discovery API](../virtual-network/service-tags-overview.md#use-the-service-tag-discovery-api) or the [downloadable JSON file](../virtual-network/service-tags-overview.md#discover-service-tags-by-using-downloadable-json-files).
51
51
52
-
1. If the search service is the Azure Public cloud, the [Azure Public JSON file](https://www.microsoft.com/download/details.aspx?id=56519) should be downloaded.
1. From the JSON file, assuming the search service is in West Central US, the list of IP addresses for the multi-tenant indexer execution environment are listed below.
57
-
58
-
```json
59
-
{
60
-
"name": "AzureCognitiveSearch.WestCentralUS",
61
-
"id": "AzureCognitiveSearch.WestCentralUS",
62
-
"properties": {
63
-
"changeNumber": 1,
64
-
"region": "westcentralus",
65
-
"platform": "Azure",
66
-
"systemService": "AzureCognitiveSearch",
67
-
"addressPrefixes": [
68
-
"52.150.139.0/26",
69
-
"52.253.133.74/32"
70
-
]
71
-
}
72
-
}
73
-
```
74
-
75
-
For `/32` IP addresses, drop the "/32" (52.253.133.74/32 becomes 52.253.133.74 in the rule definition). All other IP addresses can be used verbatim.
52
+
1. If the search service is the Azure Public cloud, download the [Azure Public JSON file](https://www.microsoft.com/download/details.aspx?id=56519).
53
+
54
+
1. Open the JSON file and search for "AzureCognitiveSearch". For a search service in WestUS2, the IP addresses for the multi-tenant indexer execution environment are:
55
+
56
+
```json
57
+
{
58
+
"name": "AzureCognitiveSearch.WestUS2",
59
+
"id": "AzureCognitiveSearch.WestUS2",
60
+
"properties": {
61
+
"changeNumber": 1,
62
+
"region": "westus2",
63
+
"regionId": 38,
64
+
"platform": "Azure",
65
+
"systemService": "AzureCognitiveSearch",
66
+
"addressPrefixes": [
67
+
"20.42.129.192/26",
68
+
"40.91.93.84/32",
69
+
"40.91.127.116/32",
70
+
"40.91.127.241/32",
71
+
"51.143.104.54/32",
72
+
"51.143.104.90/32",
73
+
"2603:1030:c06:1::180/121"
74
+
],
75
+
"networkFeatures": null
76
+
}
77
+
},
78
+
```
79
+
80
+
1. For IP addresses have the "/32" suffix, drop the "/32" (40.91.93.84/32 becomes 40.91.93.84 in the rule definition). All other IP addresses can be used verbatim.
76
81
77
82
## Add IP addresses to IP firewall rules
78
83
79
-
Once you have the IP addresses, you are ready to set up the rule. The easiest way to add IP address ranges to a storage account's firewall rule is via the Azure portal.
84
+
Now that you have the necessary IP addresses, you can set up the inbound rule. The easiest way to add IP address ranges to a storage account's firewall rule is through the Azure portal.
85
+
86
+
1. Locate the storage account on the portal and open **Networking** on the left navigation pane.
80
87
81
-
1.Locate the storage account on the portal and navigate to the **Firewalls and virtual networks** tab.
88
+
1. In the **Firewall and virtual networks** tab, choose **Selected networks**.
82
89
83
-

90
+
:::image type="content" source="media\search-indexer-howto-secure-access\storage-firewall.png" alt-text="Screenshot of Azure Storage Firewall and virtual networks page" border="true":::
84
91
85
-
1. Add the three IP addresses obtained previously (one for the search service IP, two for the `AzureCognitiveSearch` service tag) in the address range and select **Save**.
92
+
1. Add the IP addresses obtained previously (one for the search service IP, plus all of the IP ranges for the "AzureCognitiveSearch" service tag) in the address range and select **Save**.
86
93
87
-

94
+
:::image type="content" source="media\search-indexer-howto-secure-access\storage-firewall-ip.png" alt-text="Screenshot of the IP address section of the page." border="true":::
88
95
89
96
It can take five to ten minutes for the firewall rules to be updated, after which indexers should be able to access the data in the storage account.
Copy file name to clipboardExpand all lines: articles/search/search-indexer-howto-access-trusted-service-exception.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,17 +1,17 @@
1
1
---
2
-
title: Indexer access to Azure Storage using trusted service exception
2
+
title: Connect as trusted service
3
3
titleSuffix: Azure Cognitive Search
4
4
description: Enable data access by an indexer in Azure Cognitive Search to data stored securely in Azure Storage.
5
5
6
6
manager: nitinme
7
7
author: arv100kri
8
8
ms.author: arjagann
9
9
ms.service: cognitive-search
10
-
ms.topic: conceptual
10
+
ms.topic: how-to
11
11
ms.date: 05/11/2021
12
12
---
13
13
14
-
# Indexer access to Azure Storage using the trusted service exception (Azure Cognitive Search)
14
+
# Make indexer connections to Azure Storage as a trusted service
15
15
16
16
Indexers in an Azure Cognitive Search service that access data in Azure Storage accounts can make use of the [trusted service exception](../storage/common/storage-network-security.md#exceptions) capability to securely access data. This mechanism offers customers who are unable to grant [indexer access using IP firewall rules](search-indexer-howto-access-ip-restricted.md) a simple, secure, and free alternative for accessing data in storage accounts.
Copy file name to clipboardExpand all lines: articles/search/search-indexer-securing-resources.md
+3-5Lines changed: 3 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,9 +73,9 @@ For any given indexer run, Azure Cognitive Search determines the best environmen
73
73
74
74
## Granting access to indexer IP ranges
75
75
76
-
If the resource that your indexer pulls data from exists behind a firewall, make sure that the IP ranges in inbound rules include all of the IPs from which an indexer request can originate. As stated above, there are two possible environments in which indexers run and from which access requests can originate. You will need to add the IP addresses of **both** environments for indexer access to work.
76
+
If the resource that your indexer pulls data from exists behind a firewall, you'll need [inbound rules that admit indexer connections](search-indexer-howto-access-ip-restricted.md). Make sure that the IP ranges in inbound rules include all of the IPs from which an indexer request can originate. As stated above, there are two possible environments in which indexers run and from which access requests can originate. You will need to add the IP addresses of **both** environments for indexer access to work.
77
77
78
-
- To obtain the IP address of the search service specific private environment, use `nslookup` (or `ping`) the fully qualified domain name (FQDN) of your search service. For example, the FQDN of a search service in the public cloud would be `<service-name>.search.windows.net`. This information is available on the Azure portal.
78
+
- To obtain the IP address of the search service private environment, use `nslookup` (or `ping`) the fully qualified domain name (FQDN) of your search service. The FQDN of a search service in the public cloud would be `<service-name>.search.windows.net`.
79
79
80
80
- To obtain the IP addresses of the multi-tenant environments within which an indexer might run, use the `AzureCognitiveSearch` service tag. [Azure service tags](../virtual-network/service-tags-overview.md) have a published range of IP addresses for each service. You can find these IPs using the [discovery API](../virtual-network/service-tags-overview.md#use-the-service-tag-discovery-api) or a [downloadable JSON file](../virtual-network/service-tags-overview.md#discover-service-tags-by-using-downloadable-json-files). In either case, IP ranges are broken down by region. You should specify only those IP ranges assigned to the region in which your search service is provisioned.
81
81
@@ -85,8 +85,6 @@ For certain data sources, the service tag itself can be used directly instead of
For more information about this connectivity option, see [Indexer connections through an IP firewall](search-indexer-howto-access-ip-restricted.md).
89
-
90
88
## Granting access via private endpoints
91
89
92
90
Indexers can use [private endpoints](../private-link/private-endpoint-overview.md) on connections to resources that are locked down (running on a protected virtual network, or just not available over a public connection).
@@ -97,7 +95,7 @@ This functionality is only available in billable search services (Basic and abov
97
95
98
96
Customers should call the search management operation, [CreateOrUpdate API](/rest/api/searchmanagement/2021-04-01-preview/shared-private-link-resources/create-or-update) on a **shared private link resource**, in order to create a private endpoint connection to their secure resource (for example, a storage account). Traffic that goes over this (outbound) private endpoint connection will originate only from the virtual network that's in the search service specific "private" indexer execution environment.
99
97
100
-
Azure Cognitive Search will validate that callers of this API have Azure RBAC permissions to approve private endpoint connection requests to the secure resource. For example, if you request a private endpoint connection to a storage account with read-only permissions, this call will be rejected.
98
+
Azure Cognitive Search will validate that callers of this API have Azure RBAC role permissions to approve private endpoint connection requests to the secure resource. For example, if you request a private endpoint connection to a storage account with read-only permissions, this call will be rejected.
101
99
102
100
### Step 2: Approve the private endpoint connection
0 commit comments