ITADN

High volume of AssumeRoleWithWebIdentity calls from Polaris on EKS/IRSA

#4711Openericyangliu 创建于 2026-06-12
E
ericyangliucommented
### Describe the bug We're running Polaris on EKS with IRSA, using the Kubernetes service account role as the Polaris AWS identity. While investigating STS usage, we noticed Polaris is making a lot of `AssumeRoleWithWebIdentity` calls for its own IRSA role. The calls are coming from the Java AWS SDK user agent and each call has a new `aws-sdk-java-<timestamp>` session name. The volume looks higher than expected for normal AWS SDK credential refresh behavior, so it seems like the WebIdentity credential provider/cache may not be getting reused across Polaris requests. ### To Reproduce 1. Run Polaris on EKS with IRSA. 2. Do not configure static AWS credentials for Polaris. 3. Send normal catalog traffic to an S3-backed catalog. 4. Query CloudTrail for `AssumeRoleWithWebIdentity` events on the Polaris service account role. I don't have a small local reproducer yet; the observations below are from two EKS deployments. ### Actual Behavior In one deployment, CloudTrail showed this pattern for the Polaris IRSA role: ```text Polaris version: 1.3.0-incubating Window: 2026-06-11T18:19:00Z to 2026-06-11T18:20:00Z Event: AssumeRoleWithWebIdentity Total events for the Polaris role: 1,261 By user agent: - aws-sdk-java/2.39.2 ... api/STS#2.39.x ... lang/java#21.0.9: 1,259 - aws-sdk-go-v2 ... app/external-secrets: 2 ``` A sanitized event looks like: ```json { "eventTime": "2026-06-11T18:19:00Z", "eventName": "AssumeRoleWithWebIdentity", "userAgent": "aws-sdk-java/2.39.2 ... api/STS#2.39.x ... lang/java#21.0.9", "roleArn": "arn:aws:iam::<account-id>:role/<polaris-irsa-role>", "roleSessionName": "aws-sdk-java-<timestamp>", "sourceIPAddress": "<redacted>" } ``` A second deployment showed the same shape at lower volume: ```text Window: 2026-06-11T18:10:00Z to 2026-06-11T18:20:00Z Total events for the Polaris role: 434 By user agent: - aws-sdk-java/2.39.2 ... api/STS#2.39.x ... lang/java#21.0.9: 412 - aws-sdk-go/...: 22 ``` ### Expected Behavior Polaris should reuse AWS WebIdentity credentials according to the normal AWS SDK refresh behavior. I would not expect ordinary catalog traffic to produce hundreds or thousands of `AssumeRoleWithWebIdentity` calls for the Polaris pod role in a short window. ### Additional context One possible area to check is the service identity path. In 1.3.0-incubating, `AwsIamServiceIdentityConfiguration.awsCredentialsProvider()` builds a `DefaultCredentialsProvider` when static credentials are not configured. If that path runs per request, the AWS SDK's WebIdentity credential cache may not be reused as intended. ### System information OS: Linux on EKS Java: 21 Polaris version: 1.3.0-incubating AWS SDK user agent observed: aws-sdk-java/2.39.2 Storage: AWS S3 Auth setup: EKS IRSA, no static AWS access keys configured for Polaris
0 条评论