apache / apache/polaris

Implement validateAccessToLocations for S3 Tables storage integration

Open
#4,302 1 comment 0 reactions 0 assignees View on GitHub
enhancement stale
Dominant language
Java
Stars
2.1k
Forks
522
Avg merge
1d 22h
Merged PRs (30d)
137

Description

## Summary

`AwsS3TablesCredentialsStorageIntegration.validateAccessToLocations()` currently returns an empty map (no-op). This method is called during catalog creation to verify that the configured IAM role can actually access the storage locations. For S3 Tables, this would mean verifying the role can reach the table bucket ARN.

## Context

The S3 Tables credential vending integration is being added in PR #4052. The `validateAccessToLocations` stub was intentionally deferred because:
- S3 Tables uses ARN-based resources, not path-based, and the existing S3 validation logic (which does a test `GetObject`/`PutObject`) doesn't apply
- Validation would likely require calling `s3tables:GetTableBucket` or `sts:AssumeRole` with a test policy to confirm access
- The scope of validation needs design discussion (validate at catalog creation? at first loadTable? both?)

## Acceptance Criteria

- [ ] When a catalog with `StorageType.S3_TABLES` is created, validate that the configured role ARN can be assumed and has access to the table bucket ARN
- [ ] Return meaningful validation results (not empty map) so catalog creation fails fast on misconfiguration
- [ ] Add unit tests for validation success and failure cases

## Related

- PR #4052 (S3 Tables credential vending)
- Issue #577 (S3 Tables integration)

### Describe the solution you'd like

_No response_

### Describe alternatives you've considered

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with AwsS3TablesCredentialsStorageIntegration.validateAccessToLocations() and the existing S3 validation logic referenced in the issue; review PR #4052 and the design questions around catalog creation versus first loadTable. Define the validation behavior for the role ARN and table bucket ARN, then add unit tests for success and failure so catalog creation reports misconfiguration instead of returning an empty map.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, java
Domain
backend, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.