Skip to content

Commit 0e89fb0

Browse files
committed
docs: Cube Store S3 authentication via AWS Web Identity (follow-up to #10687)
1 parent 588a5e8 commit 0e89fb0

2 files changed

Lines changed: 30 additions & 0 deletions

File tree

docs-mintlify/cube-core/architecture.mdx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,18 @@ services:
235235
- cubestore_router
236236
```
237237
238+
Instead of static access keys, Cube Store can authenticate to S3 using AWS Web
239+
Identity (for example, IRSA on Amazon EKS). Leave `CUBESTORE_AWS_ACCESS_KEY_ID`
240+
unset and provide
241+
[`CUBESTORE_AWS_WEB_IDENTITY_TOKEN_FILE`][ref-config-env-cubestore-web-identity]
242+
and [`CUBESTORE_AWS_ROLE_ARN`][ref-config-env]; Cube Store then assumes the role
243+
via STS and refreshes credentials automatically when the token file changes.
244+
238245

239246
[dh-cubejs]: https://hub.docker.com/r/cubejs/cube
240247
[dh-cubestore]: https://hub.docker.com/r/cubejs/cubestore
241248
[ref-config-env]: /reference/configuration/environment-variables
249+
[ref-config-env-cubestore-web-identity]: /reference/configuration/environment-variables#cubestore_aws_web_identity_token_file
242250
[ref-config-js]: /reference/configuration/config
243251
[ref-conf-ref-schemapath]: /reference/configuration/config#schema_path
244252
[gh-pavel]: https://github.com/paveltiunov

docs-mintlify/reference/configuration/environment-variables.mdx

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1576,6 +1576,28 @@ Required when using an AWS instance role.
15761576
| ------------------------- | ---------------------- | --------------------- |
15771577
| A valid number in minutes | `180` | `180` |
15781578

1579+
## `CUBESTORE_AWS_WEB_IDENTITY_TOKEN_FILE`
1580+
1581+
The path to an AWS web identity token file. When `CUBESTORE_AWS_ACCESS_KEY_ID` is
1582+
not set and this variable is present, Cube Store authenticates to S3 using AWS Web
1583+
Identity (for example, [IRSA](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)
1584+
on Amazon EKS): it exchanges the token for
1585+
temporary credentials via STS `AssumeRoleWithWebIdentity` and re-exchanges them
1586+
when the token file changes.
1587+
1588+
| Possible Values | Default in Development | Default in Production |
1589+
| --------------- | ---------------------- | --------------------- |
1590+
| A valid file path | N/A | N/A |
1591+
1592+
## `CUBESTORE_AWS_ROLE_ARN`
1593+
1594+
The ARN of the AWS IAM role to assume when using
1595+
[`CUBESTORE_AWS_WEB_IDENTITY_TOKEN_FILE`](#cubestore_aws_web_identity_token_file).
1596+
1597+
| Possible Values | Default in Development | Default in Production |
1598+
| ----------------- | ---------------------- | --------------------- |
1599+
| A valid IAM role ARN | N/A | N/A |
1600+
15791601
## `CUBESTORE_BIND_ADDR`
15801602

15811603
The address/port pair for Cube Store's MySQL-compatible interface.

0 commit comments

Comments
 (0)