<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Databricks Free Edition – AWS S3 Storage Credential Validation Fails at Assume Role in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/176202#M57108</link>
    <description>&lt;P&gt;hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/269151"&gt;@Visheshd_21&lt;/a&gt;&amp;nbsp;did you find any solution? i am getting the same problem&lt;/P&gt;</description>
    <pubDate>Wed, 11 Nov 2026 19:48:00 GMT</pubDate>
    <dc:creator>twarangupta</dc:creator>
    <dc:date>2026-11-11T19:48:00Z</dc:date>
    <item>
      <title>Databricks Free Edition – AWS S3 Storage Credential Validation Fails at Assume Role</title>
      <link>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/175318#M56981</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi Databricks Team,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I'm trying to connect an AWS S3 bucket to Databricks Unity Catalog using an IAM role in Databricks Free Edition.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Environment&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Databricks Edition: Free Edition&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Cloud: AWS&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Workspace region: &lt;/SPAN&gt;&lt;SPAN&gt;us-east-2&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Metastore region: &lt;/SPAN&gt;&lt;SPAN&gt;us-east-2&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;S3 bucket region: &lt;/SPAN&gt;&lt;SPAN&gt;ap-southeast-2&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;AWS IAM configuration&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;IAM role has the Databricks Unity Catalog principal in its trust policy.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Self-assumption is configured.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;External ID matches the Databricks storage credential.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;S3 permissions are scoped to the target bucket.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;No permissions boundary is configured.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Bucket is private, with Block Public Access enabled.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Validation error&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PERMISSION_DENIED: Failed to get credentials: the AWS IAM role in the Unity Catalog credential is not configured correctly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Validation results:&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Failed – Assume Role&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Skipped – Self Assume Role&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Skipped – External ID Condition&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN&gt;I have independently verified the following:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Unity Catalog IAM ARN returned by the Databricks SDK matches the trust policy principal.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;IAM role ARN matches the storage credential.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;External ID matches exactly.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Trust policy is saved in AWS.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;S3 permissions policy is attached to the role.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;Could you please confirm:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Are IAM-role-based S3 storage credentials fully supported in Databricks Free Edition?&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Is there a known issue with the AssumeRole validation step in Free Edition?&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN&gt;Is there any additional Free Edition-specific configuration required?&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;I would like to resolve this without upgrading AWS or Databricks.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Nov 2026 12:41:30 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/175318#M56981</guid>
      <dc:creator>Visheshd_21</dc:creator>
      <dc:date>2026-11-02T12:41:30Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Free Edition – AWS S3 Storage Credential Validation Fails at Assume Role</title>
      <link>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/175406#M56998</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;A class="" href="https://community.databricks.com/t5/user/viewprofilepage/user-id/269151" target="_blank" rel="noopener" aria-label="View Profile of Visheshd_21"&gt;&lt;SPAN class=""&gt;Visheshd_21&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;On your three questions: the Free Edition docs don't list storage credentials or external locations as unsupported, and since you were able to create the credential and run validation, the feature is there in your workspace. I couldn't find any documented known issue or extra Free Edition step for this.&lt;/P&gt;&lt;P&gt;"Failed - Assume Role" with the other two checks skipped means the first step, Databricks assuming your role, was refused by AWS, so the other checks never ran. The docs say that when a check fails, the trust policy is the place to look. A few things that help narrow it down:&lt;/P&gt;&lt;P&gt;1. Get the per-check messages from the SDK. The validate call returns a message for each check, next to the values Databricks actually uses:&lt;/P&gt;&lt;P&gt;'''&lt;BR /&gt;[CODE BLOCK]&lt;BR /&gt;from databricks.sdk import WorkspaceClient&lt;/P&gt;&lt;P&gt;w = WorkspaceClient()&lt;BR /&gt;name = "your_credential_name"&lt;/P&gt;&lt;P&gt;role = w.storage_credentials.get(name).aws_iam_role&lt;BR /&gt;print(role.unity_catalog_iam_arn, role.external_id, role.role_arn)&lt;/P&gt;&lt;P&gt;for r in w.storage_credentials.validate(storage_credential_name=name).results:&lt;BR /&gt;print(r.operation, r.result, r.message)&lt;BR /&gt;[/CODE BLOCK]&lt;/P&gt;&lt;P&gt;2. Check that the trust policy has both principals and the external ID condition in the same statement, like this:&lt;/P&gt;&lt;P&gt;[CODE BLOCK]&lt;BR /&gt;{&lt;BR /&gt;"Version": "2012-10-17",&lt;BR /&gt;"Statement": [{&lt;BR /&gt;"Effect": "Allow",&lt;BR /&gt;"Principal": {&lt;BR /&gt;"AWS": [&lt;BR /&gt;"arn:aws:iam::414351767826:role/unity-catalog-prod-UCMasterRole-14S5ZJVKOTYTL",&lt;BR /&gt;"arn:aws:iam::YOUR-ACCOUNT-ID:role/YOUR-ROLE-NAME"&lt;BR /&gt;]&lt;BR /&gt;},&lt;BR /&gt;"Action": "sts:AssumeRole",&lt;BR /&gt;"Condition": {&lt;BR /&gt;"StringEquals": { "sts:ExternalId": "YOUR-EXTERNAL-ID" }&lt;BR /&gt;}&lt;BR /&gt;}]&lt;BR /&gt;}&lt;BR /&gt;[/CODE BLOCK]&lt;BR /&gt;'''&lt;/P&gt;&lt;P&gt;3. IAM is eventually consistent, so a trust policy change can take a little while to apply everywhere. If you edited it right before validating, wait a few minutes and run it again.&lt;/P&gt;&lt;P&gt;4. Don't spend time looking for the denied call in your account's CloudTrail. AWS documents that denied cross-account STS requests aren't logged in the target account, so the failed AssumeRole won't show up there.&lt;/P&gt;&lt;P&gt;If it still fails, post the validate messages and the trust policy with account IDs redacted, and it'll be easier to pinpoint.&lt;/P&gt;&lt;P&gt;Docs:&lt;BR /&gt;S3 storage credential setup and validation: &lt;A href="https://docs.databricks.com/aws/connect/unity-catalog/cloud-storage/s3/s3-external-location-manual" target="_blank" rel="noopener"&gt;https://docs.databricks.com/aws/connect/unity-catalog/cloud-storage/s3/s3-external-location-manual&lt;/A&gt;&lt;BR /&gt;Free Edition limitations: &lt;A href="https://docs.databricks.com/aws/en/getting-started/free-edition-limitations" target="_blank" rel="noopener"&gt;https://docs.databricks.com/aws/en/getting-started/free-edition-limitations&lt;/A&gt;&lt;BR /&gt;IAM eventual consistency: &lt;A href="https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot.html" target="_blank" rel="noopener"&gt;https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot.html&lt;/A&gt;&lt;BR /&gt;CloudTrail and denied cross-account STS requests: &lt;A href="https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html" target="_blank" rel="noopener"&gt;https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Nov 2026 22:16:12 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/175406#M56998</guid>
      <dc:creator>ThomazNeto</dc:creator>
      <dc:date>2026-11-02T22:16:12Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Free Edition – AWS S3 Storage Credential Validation Fails at Assume Role</title>
      <link>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/175425#M56999</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/269151"&gt;@Visheshd_21&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Based on the validation results, the failure is occurring at the initial &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;AssumeRole&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; step. Since Self Assume Role and External ID checks are skipped, Databricks is not successfully assuming the IAM role, so I would troubleshoot the AWS trust relationship before investigating S3 bucket permissions.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I would suggest the following checks:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;1. Retrieve the exact values used by Databricks&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Use the Databricks SDK to verify the IAM role ARN, Unity Catalog IAM principal and external ID configured in the storage credential:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
credential_name = "your_credential_name"

credential = w.storage_credentials.get(credential_name)
role = credential.aws_iam_role

print("Role ARN:", role.role_arn)
print("UC IAM ARN:", role.unity_catalog_iam_arn)
print("External ID:", role.external_id)

results = w.storage_credentials.validate(
    storage_credential_name=credential_name
)

for result in results.results:
    print(
        result.operation,
        result.result,
        result.message
    )&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;2. Verify the AWS IAM trust policy&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Make sure the trust policy includes both the Unity Catalog IAM principal and the IAM role itself for self-assumption, with the exact external ID returned by the SDK.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Also ensure that both principals and the external ID condition are configured in the same trust policy statement.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;3. Check AWS IAM propagation&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;If the trust policy was recently modified, wait a few minutes before retrying validation because IAM policy changes can take time to propagate.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;4. Check CloudTrail carefully&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;A successful AssumeRole request should be visible in CloudTrail. However, a denied cross-account STS request might not appear in the target AWS account's event history, so the absence of an event alone does not prove that Databricks never attempted the request.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Regarding Free Edition, the current limitations documentation does not explicitly list Unity Catalog storage credentials or external locations as unsupported. However, it also does not explicitly guarantee this particular integration.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;If the validation still fails, sharing the SDK validation messages (with account IDs and sensitive values redacted) would help identify whether the issue is with the principal, external ID, or trust relationship.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;References:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="https://docs.databricks.com/aws/connect/unity-catalog/cloud-storage/s3/s3-external-location-manual" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;https://docs.databricks.com/aws/connect/unity-catalog/cloud-storage/s3/s3-external-location-manual&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.databricks.com/aws/en/getting-started/free-edition-limitations" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;https://docs.databricks.com/aws/en/getting-started/free-edition-limitations&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Nov 2026 08:29:56 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/175425#M56999</guid>
      <dc:creator>Aravind_Reddy</dc:creator>
      <dc:date>2026-11-03T08:29:56Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Free Edition – AWS S3 Storage Credential Validation Fails at Assume Role</title>
      <link>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/176202#M57108</link>
      <description>&lt;P&gt;hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/269151"&gt;@Visheshd_21&lt;/a&gt;&amp;nbsp;did you find any solution? i am getting the same problem&lt;/P&gt;</description>
      <pubDate>Wed, 11 Nov 2026 19:48:00 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/176202#M57108</guid>
      <dc:creator>twarangupta</dc:creator>
      <dc:date>2026-11-11T19:48:00Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Free Edition – AWS S3 Storage Credential Validation Fails at Assume Role</title>
      <link>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/176204#M57110</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/269151"&gt;@Visheshd_21&lt;/a&gt;&amp;nbsp;I did some digging.&lt;BR /&gt;Same error here on Free Edition: Assume Role fails, and the other two checks are skipped. I went through all the suggestions above. The validate messages show the correct role ARN, UC principal and external ID; both principals and the ExternalId condition are in one statement; and I re-ran it hours later. Still failed.&lt;/P&gt;&lt;P&gt;What I think is going on, at least in my case: my AWS account is on the new AWS Free plan (Console Home shows “Credits remaining” and an “Upgrade plan” button). Those accounts are managed by AWS through Organizations. My IAM console has no “Account settings” page, and there are AWS-owned roles like AWSServiceRoleForOrganizations and AWSManagedAccountManagementAccessRole. The account is also locked to one region, and AWS says free-plan accounts don’t support cross-region features (docs). My Free Edition workspace is in us-east-2 and my bucket is in another region, so I believe the AssumeRole is refused before your trust policy is even evaluated. I can’t prove it, since denied cross-account STS calls don’t show up in CloudTrail.&lt;/P&gt;&lt;P&gt;@Visheshd_21, is your AWS account on the Free plan too?&lt;/P&gt;&lt;P&gt;The network side is fine. A Free Edition job could reach my bucket without credentials and got a 403, so only the role handshake is blocked.&lt;/P&gt;&lt;P&gt;Workaround that works for me:&lt;/P&gt;&lt;P&gt;A separate IAM user with no console access, and a read-only policy on just the prefix I need&lt;BR /&gt;Its access key stored in a Databricks secret scope&lt;BR /&gt;Read the files with boto3 using dbutils.secrets.get(...)&lt;/P&gt;&lt;P&gt;It’s not as clean as a role, but it’s read-only and the key sits in a secret scope. I’d guess upgrading the AWS account to the paid plan fixes the role approach, but I haven’t tried it.&lt;/P&gt;</description>
      <pubDate>Wed, 11 Nov 2026 20:43:58 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/databricks-free-edition-aws-s3-storage-credential-validation/m-p/176204#M57110</guid>
      <dc:creator>twarangupta</dc:creator>
      <dc:date>2026-11-11T20:43:58Z</dc:date>
    </item>
  </channel>
</rss>

