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
-[Hidden collections filter for authorization](#hidden-collections-filter-for-authorization)
53
55
-[Ingesting Data](#ingesting-data)
54
56
-[Ingesting large items](#ingesting-large-items)
55
57
-[Subscribing to SNS Topics](#subscribing-to-sns-topics)
@@ -183,6 +185,13 @@ The default Lambda deployment environment is now Node 22.
183
185
To update the deployment to use Node 22, modify the serverless config file value
184
186
`provider.runtime` to be `nodejs22.x` and the application re-deployed.
185
187
188
+
#### Hidden collections filter
189
+
190
+
To all endpoints that depend on collections, there is now support for a query parameter
191
+
(GET) or body field (POST) `_collections` that will filter to only those collections, but
192
+
will not reveal that in link contents. This is useful for the application of permissions
193
+
to only certain collections.
194
+
186
195
### 3.10.0
187
196
188
197
#### Node 20 update
@@ -574,7 +583,7 @@ There are some settings that should be reviewed and updated as needeed in the se
574
583
| REQUEST_LOGGING_FORMAT | Express request logging format to use. Any of the [Morgan predefined formats](https://github.com/expressjs/morgan#predefined-formats). | tiny |
575
584
| STAC_API_URL | The root endpoint of this API | Inferred from request |
576
585
| ENABLE_TRANSACTIONS_EXTENSION | Boolean specifying if the [Transaction Extension](https://github.com/radiantearth/stac-api-spec/tree/master/ogcapi-features/extensions/transaction) should be activated | false |
577
-
| ENABLE_CONTEXT_EXTENSION | Boolean specifying if the [Context Extension](https://github.com/stac-api-extensions/context) should be activated | false |
586
+
| ENABLE_CONTEXT_EXTENSION | Boolean specifying if the [Context Extension](https://github.com/stac-api-extensions/context) should be activated | false |
578
587
| STAC_API_ROOTPATH | The path to append to URLs if this is not deployed at the server root. For example, if the server is deployed without a custom domain name, it will have the stage name (e.g., dev) in the path. | "" |
579
588
| PRE_HOOK | The name of a Lambda function to be called as the pre-hook. | none |
580
589
| POST_HOOK | The name of a Lambda function to be called as the post-hook. | none |
@@ -589,6 +598,7 @@ There are some settings that should be reviewed and updated as needeed in the se
589
598
| CORS_CREDENTIALS | Configure whether or not to send the `Access-Control-Allow-Credentials` CORS header. Header will be sent if set to `true`. | none |
590
599
| CORS_METHODS | Configure whether or not to send the `Access-Control-Allow-Methods` CORS header. Expects a comma-delimited string, e.g., `GET,PUT,POST`. | `GET,HEAD,PUT,PATCH,POST,DELETE` |
591
600
| CORS_HEADERS | Configure whether or not to send the `Access-Control-Allow-Headers` CORS header. Expects a comma-delimited string, e.g., `Content-Type,Authorization`. If not specified, defaults to reflecting the headers specified in the request’s `Access-Control-Request-Headers` header. | none |
601
+
| ENABLE_COLLECTIONS_AUTHX | Enables support for hidden `_collections` query parameter / field when set to `true`. | none |
592
602
593
603
Additionally, the credential for OpenSearch must be configured, as decribed in the
594
604
section [Populating and accessing credentials](#populating-and-accessing-credentials).
@@ -1093,6 +1103,32 @@ Available aggregations are:
1093
1103
- geometry_geohash_grid_frequency ([geohash grid](https://opensearch.org/docs/latest/aggregations/bucket/geohash-grid/) on Item.geometry)
1094
1104
- geometry_geotile_grid_frequency ([geotile grid](https://opensearch.org/docs/latest/aggregations/bucket/geotile-grid/) on Item.geometry)
1095
1105
1106
+
## Hidden collections filter for authorization
1107
+
1108
+
All endpoints that involve the use of Collections support the use of a "hidden" query
1109
+
parameter named (for GET requests) or body JSON field (for POST requests) named
1110
+
`_collections`that can be used by an authorization proxy (e.g., a pre-hook Lambda)
1111
+
to filter the collections a user has access to. This parameter/field will be excluded
1112
+
from pagination links, so it does not need to be removed on egress.
1113
+
1114
+
This feature must be enabled with the `ENABLE_COLLECTIONS_AUTHX` configuration.
The five endpoints of the Transaction Extension do not use this parameter, as there are
1130
+
other authorization considerations for these, that are left as future work.
1131
+
1096
1132
## Ingesting Data
1097
1133
1098
1134
STAC Collections and Items are ingested by the `ingest` Lambda function, however this Lambda is not invoked directly by a user, it consumes records from the `stac-server-<stage>-queue` SQS. To add STAC Items or Collections to the queue, publish them to the SNS Topic `stac-server-<stage>-ingest`.
0 commit comments