1 Answer
- Newest
- Most votes
- Most comments
0
Based on the error message and the scenario you've described, this appears to be a Lake Formation permissions issue. Even with AdministratorAccess, Lake Formation's fine-grained access controls take precedence. Here's how you can troubleshoot and resolve this:
- First, verify Lake Formation permissions:
SHOW GRANTS ON TABLE myDatabase.myTable;
-
Grant necessary Lake Formation permissions:
- Go to the Lake Formation console
- Under "Permissions", click "Grant"
- For Principal, select the QuickSight service role (usually starts with "aws-quicksight-service-role-")
- Grant these permissions:
- SELECT
- DESCRIBE
- For both the resource link tables AND the target tables
-
For the target tables (AWS-owned account tables):
GRANT SELECT, DESCRIBE ON TABLE connect_datalake.contact_record TO IAM_ALLOWED_PRINCIPALS;
- Ensure cross-account access: Add this to your QuickSight service role policy:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetTables", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": [ "arn:aws:glue:region:target-account-id:catalog", "arn:aws:glue:region:target-account-id:database/*", "arn:aws:glue:region:target-account-id:table/*" ] } ] }
- Verify S3 bucket access: Make sure the QuickSight role has access to the underlying S3 bucket:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::target-bucket", "arn:aws:s3:::target-bucket/*" ] } ] }
- Check Lake Formation settings:
- Verify that "Use AWS IAM access control" is enabled for the databases
- Ensure the resource links are properly registered in Lake Formation
If you're still having issues after implementing these steps, you can:
- Use AWS CloudTrail to check for any permission-related errors
- Verify the resource link configuration using:
SHOW CREATE TABLE myDatabase.myTable;
- Temporarily grant broader Lake Formation permissions to test if it's specifically a Lake Formation issue:
GRANT ALL ON DATABASE myDatabase TO IAM_ALLOWED_PRINCIPALS;
(Remember to revoke this after testing)
The error message specifically mentions "Table StorageDescriptor is null", which typically occurs when there's an issue with the resource link configuration or permissions to access the target table. Make sure the target table still exists and is accessible from your account.
Relevant content
- AWS OFFICIALUpdated 9 months ago
- AWS OFFICIALUpdated a year ago