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
Adds ip range lookup support (#1262)
* adds ip range lookup support
* updates text
* runs prettier
* updates text and moves section
* Update content/docs/integrations.mdx
* Update content/docs/integrations.mdx
* Update content/docs/integrations.mdx
---------
Co-authored-by: zachary painter <[email protected]>
Co-authored-by: Kenneth Jenkins <[email protected]>
Copy file name to clipboardexpand all lines: content/docs/integrations.mdx
+25-11
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ See the pages in this section for more information on our example data sources,
33
33
34
34
Any external data source integration requires the following settings:
35
35
36
-
### **URL**
36
+
### URL
37
37
38
38
The path to the external data.
39
39
@@ -78,28 +78,42 @@ The Pomerium Databroker would be updated with types `example.com/geoip`, `device
78
78
79
79
Compressed versions are supported using `gz` format.
80
80
81
-
### **Record Type**
81
+
### Record Type
82
82
83
83
Unless defined by the directory structure of a supplied archive file, the Record Type field defines how the records will be stored and accessed in the Databroker.
84
84
85
-
### **Foreign Key**
85
+
### Foreign Key
86
86
87
87
**Foreign Key** is used to map an authorization evaluation to the corresponding record. The supported values are:
88
88
89
-
-`user.id` (Also the default if no value is provided),
90
-
-`user.email`,
91
-
-`request.ip`,
92
-
-`device.id`.
89
+
-`user.id` (Also the default if no value is provided)
90
+
-`user.email`
91
+
-`request.ip`
92
+
-`device.id`
93
93
94
-
### **Headers**
94
+
#### IP range lookup support
95
+
96
+
For the `request.ip` foreign key, Pomerium also supports matching against a range of IP addresses (expressed in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)). This can reduce the number of data records you need.
97
+
98
+
To match against an IP address range, add a special `$index` key to your external data source records. For example:
99
+
100
+
```json
101
+
{
102
+
"$index": {"cidr": "10.1.2.3/24"}
103
+
}
104
+
```
105
+
106
+
See the [GeoIP Ranges](/docs/integrations/geoip) and [Well-Known IP Ranges](/docs/integrations/ip-ranges) guides for specific examples.
107
+
108
+
### Headers
95
109
96
110
Headers defined here will be used when connecting to the external data source.
97
111
98
-
### **Allow Insecure TLS**
112
+
### Allow Insecure TLS
99
113
100
114
If set, allows the import of external data from sources using untrusted TLS certificates.
101
115
102
-
### **Polling Min/Max Delay**
116
+
### Polling Min/Max Delay
103
117
104
118
Defines the minimum and maximum delay times between requests to the external data source. The job would be scheduled to run within `min delay` intervals.
105
119
@@ -109,6 +123,6 @@ If a job may not complete within the `min delay` period, it would be interrupted
109
123
110
124
:::
111
125
112
-
### **Client TLS Key**
126
+
### Client TLS Key
113
127
114
128
For data sources using mTLS, you can select a [client certificate](/docs/concepts/certificates) (added under **Manage** → **Certificates**) to provide to the data source.
0 commit comments