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: mkdocs/docs/configuration.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -384,6 +384,8 @@ Legacy OAuth2 Properties will be removed in PyIceberg 1.0 in place of pluggable
384
384
| rest.signing-region | us-east-1 | The region to use when SigV4 signing a request |
385
385
| rest.signing-name | execute-api | The service signing name to use when SigV4 signing a request |
386
386
387
+
SigV4 can also be enabled as `auth.type: sigv4`, which additionally lets you choose the wrapped header-based auth (see the AuthManager section below).
388
+
387
389
##### Pluggable Authentication via AuthManager
388
390
389
391
The RESTCatalog supports pluggable authentication via the `auth` configuration block. This allows you to specify which how the access token will be fetched and managed for use with the HTTP requests to the RESTCatalog server. The authentication method is selected by setting the `auth.type` property, and additional configuration can be provided as needed for each method.
@@ -396,6 +398,7 @@ The RESTCatalog supports pluggable authentication via the `auth` configuration b
| `auth.custom` | If type is `custom` | Block containing configuration for the custom AuthManager. |
425
428
| `auth.google` | If type is `google` | Block containing `credentials_path` to a service account file (if using). Will default to using Application Default Credentials. |
426
429
| `auth.entra` | If type is `entra` | Block containing Entra ID configuration. Will default to using DefaultAzureCredential. |
430
+
| `auth.sigv4` | If type is `sigv4` | Block containing an optional `delegate` auth block whose `Authorization` header is preserved as `Original-Authorization` after signing. Signing region/name come from `rest.signing-region`/`rest.signing-name`; AWS credentials from `client.*` or the standard boto3 chain. |
427
431
428
432
###### Examples
429
433
@@ -469,6 +473,24 @@ auth:
469
473
property2: value2
470
474
```
471
475
476
+
SigV4 Signing (wrapping OAuth2):
477
+
478
+
```yaml
479
+
auth:
480
+
type: sigv4
481
+
sigv4:
482
+
delegate:
483
+
type: oauth2
484
+
oauth2:
485
+
client_id: my-client-id
486
+
client_secret: my-client-secret
487
+
token_url: https://auth.example.com/oauth/token
488
+
rest.signing-region: us-east-1
489
+
rest.signing-name: execute-api
490
+
client.access-key-id: my-access-key
491
+
client.secret-access-key: my-secret-key
492
+
```
493
+
472
494
###### Notes
473
495
474
496
- If `auth.type` is `custom`, you **must** specify `auth.impl` with the full class path to your custom AuthManager.
0 commit comments