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
@@ -400,6 +400,8 @@ Legacy OAuth2 Properties will be removed in PyIceberg 1.0 in place of pluggable
400
400
| rest.signing-region | us-east-1 | The region to use when SigV4 signing a request |
401
401
| rest.signing-name | execute-api | The service signing name to use when SigV4 signing a request |
402
402
403
+
SigV4 can also be enabled as `auth.type: sigv4`, which additionally lets you choose the wrapped header-based auth (see the AuthManager section below).
404
+
403
405
##### Pluggable Authentication via AuthManager
404
406
405
407
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.
@@ -412,6 +414,7 @@ The RESTCatalog supports pluggable authentication via the `auth` configuration b
| `auth.custom` | If type is `custom` | Block containing configuration for the custom AuthManager. |
441
444
| `auth.google` | If type is `google` | Block containing `credentials_path` to a service account file (if using). Will default to using Application Default Credentials. |
442
445
| `auth.entra` | If type is `entra` | Block containing Entra ID configuration. Will default to using DefaultAzureCredential. |
446
+
| `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. |
443
447
444
448
###### Examples
445
449
@@ -485,6 +489,24 @@ auth:
485
489
property2: value2
486
490
```
487
491
492
+
SigV4 Signing (wrapping OAuth2):
493
+
494
+
```yaml
495
+
auth:
496
+
type: sigv4
497
+
sigv4:
498
+
delegate:
499
+
type: oauth2
500
+
oauth2:
501
+
client_id: my-client-id
502
+
client_secret: my-client-secret
503
+
token_url: https://auth.example.com/oauth/token
504
+
rest.signing-region: us-east-1
505
+
rest.signing-name: execute-api
506
+
client.access-key-id: my-access-key
507
+
client.secret-access-key: my-secret-key
508
+
```
509
+
488
510
###### Notes
489
511
490
512
- If `auth.type` is `custom`, you **must** specify `auth.impl` with the full class path to your custom AuthManager.
0 commit comments