-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performing any transactions in MinIO server like creating tables throws "Unable to process: Failed to get subscoped credentials" #1146
Comments
@dimas-b FYI |
It looks like the deeper issue here is that there's no way to configure non-default S3 endpoints for a catalog. |
Looks this will be fixed via #389 |
If you can use credentials for polaris to access MinIO, I think that would fix your issue, but if you need STS, then polaris needs to support setting MinIO as the custom STS endpoint as well |
@dvaldivia Do you mean right IAM role (instead of dummy ones) in polaris to access MinIO ? |
We current run the pre-0.9 build on MinIO, you need to set two additional env vars:
in additional to setting global aws access key/secret this works. |
@george-zubrienko I tried running the Polaris with right ARN role(not a dummy one)/ external id and setting the base location to my minio-bucket location as stated in the description and had my global aws creds set in the env along with those two additional endpoint URL set. Receiving below error:
|
MinIO doesn't have a concept of IAM role/external id. As I wrote, you just override STS endpoint globally and put a dummy role in catalog creation. I just updated to 0.9 and it works as well. |
Btw, this is how I add catalogs:
roleArn is a valid, but non-existing role. |
@george-zubrienko Hmm, even having the dummy role and setting those env vars, I got the same error. FYI, this is my Polaris CLI to create a default catalog, which works fine: But even the simple create table throws the same error as stated in description. Happy to connect in slack. |
We have over 300 tables there, so yeah, I tried all of it, and it works. However, I do remember struggling with STS a bit. I collected all the necessary info below: First, make sure your polaris user (we use local user for this) has similar permissions (note explicit STS permission): Second, we have these set on polaris server container (note username/secret are used, not access key):
You can also check this docker-compose setup for a bit older build of Polaris, but the idea is the same. They don't use dropwizard so no need for You can find me in Slack by using my corp mail |
Describe the bug
Trying to use/ configure MinIO server for storing all my tables/ metadata file for Polaris Catalogs.
I spinned up Polaris at my local setting my default base location to MinIO bucket and used a dummy ARN (not sure if it has to be dummy btw). Any transaction related API like creating tables throws the below error:
Unable to process: Failed to get subscoped credentials: User: arn:aws:iam::<aws_account>:user/mayank.thirani is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::<aws_account>:role/dummy_arn (Service: Sts, Status Code: 403, Request ID: 6c3d0a67-3d94-4c55-b4ae-9372b7046669)
NOTE: aws_account is the real AWS account but dummy_arn doesn't exists. Trying to by pass it for MinIO like storage providers.
To Reproduce
./polaris --client-id ${CLIENT_ID} --client-secret ${CLIENT_SECRET} catalogs create --storage-type s3 --role-arn arn:aws:iam::<aws_account>:role/dummy_arn --default-base-location s3://minio-bucket default
Actual Behavior
System throws the error as mentioned in description
Expected Behavior
System should allow to create tables in MinIO (S3 compatible like) storage providers.
Additional context
No response
System information
OS: MacOS
Latest OSS Polaris pulled from repo
Stortage: MinIO
The text was updated successfully, but these errors were encountered: