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
feat: Add IRSA and session token support to AWS Storage Service
This enhancement addresses the AWS credential limitations in OpenVSX by adding
support for multiple authentication methods:
1. Static credentials with session token (temporary credentials)
2. Static credentials without session token (permanent credentials)
3. IRSA credentials (IAM Roles for Service Accounts)
4. Default credential provider chain (fallback)
Key improvements:
- Enables secure Kubernetes deployments using IRSA
- Supports temporary credentials from AWS STS
- Maintains backward compatibility with existing configurations
- Follows AWS security best practices
- Eliminates need for long-lived static credentials in containers
The service automatically detects available credential types and uses
appropriate AWS SDK credential providers based on configuration.
Updated documentation includes examples for all authentication methods
and deployment scenarios.
Fixes: #1316
Signed-off-by: Adnan Al <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+37-1Lines changed: 37 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -154,10 +154,46 @@ If you would like to test file storage via Amazon S3, follow these steps:
154
154
}
155
155
]
156
156
```
157
+
158
+
#### Authentication Methods
159
+
160
+
OpenVSX supports multiple AWS authentication methods with the following precedence:
161
+
162
+
1. **Static credentials with session token** (temporary credentials)
163
+
2. **Static credentials without session token** (permanent credentials)
164
+
3. **IAM role-based credentials** (using AWS Web Identity Token authentication)
165
+
4. **Default credential provider chain** (fallback for other AWS credential sources)
166
+
167
+
#### Option 1: Static Credentials (Traditional)
168
+
157
169
* Follow the steps for [programmatic access](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys) to create your access key id and secret access key
158
-
* Configure the following environment variables on your server environment
170
+
* Configure the following environment variables:
159
171
* `AWS_ACCESS_KEY_ID` with your access key id
160
172
* `AWS_SECRET_ACCESS_KEY` with your secret access key
173
+
* `AWS_SESSION_TOKEN` with your session token (optional, for temporary credentials)
174
+
175
+
#### Option 2: IAM Role with Web Identity Token (Recommended for containerized deployments)
176
+
177
+
For deployments using IAM roles with web identity token authentication (such as IRSA in Kubernetes, ECS tasks with task roles, or other container orchestration platforms):
178
+
179
+
* Create an IAM role with S3 permissions and appropriate trust policy
180
+
* Configure your deployment environment to provide the following environment variables:
181
+
* `AWS_ROLE_ARN` - The ARN of the IAM role to assume
182
+
* `AWS_WEB_IDENTITY_TOKEN_FILE` - Path to the web identity token file
183
+
* No static credentials needed!
184
+
185
+
#### Option 3: Default Credential Provider Chain
186
+
187
+
OpenVSX will automatically detect credentials from:
0 commit comments