aritragster commented on code in PR #4052:
URL: https://github.com/apache/polaris/pull/4052#discussion_r2985603851


##########
runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogHandler.java:
##########
@@ -812,6 +816,13 @@ public Optional<LoadTableResponse> loadTable(
     // when data-access is specified but access delegation grants are not 
found.
     Table table = baseCatalog.loadTable(tableIdentifier);
 
+    // Capture tableId from remote catalog response for S3 Tables ARN 
construction
+    Optional<String> capturedTableId = capturedConfigHolder().getTableId();
+    List<String> resourceArns = List.of();
+    if (capturedTableId.isPresent()) {
+      resourceArns = List.of(constructS3TablesArn(capturedTableId.get()));

Review Comment:
   I took a look at #3699 and the direction there looks like a natural fit for 
what S3 Tables needs. The key difference with S3 Tables is that the resource 
identifier is an ARN (not an s3:// path) and the IAM actions use the s3tables: 
namespace, but the overall credential vending flow is the same. If #3699's 
refactored abstractions can accommodate ARN-based resources alongside 
path-based ones, S3 Tables support should fit in cleanly.
   
   Happy to rebase this PR on top of #3699 once it lands, or collaborate with 
@tokoko to make sure the refactoring accounts for the S3 Tables case. In the 
meantime I'll keep this draft up as a reference for the S3 Tables-specific 
logic (policy generation, signingName detection, tableId capture).
   
   Let me know what you'd prefer — happy to help either way.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to