<?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: Establishing Trust relationship for Databricks on AWS in Community Articles</title>
    <link>https://community.databricks.com/t5/community-articles/establishing-trust-relationship-for-databricks-on-aws/m-p/126066#M493</link>
    <description>&lt;P&gt;Here are some helpful tips/guidance to help you troubleshoot:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="paragraph"&gt;To resolve the errors you're encountering when validating the Databricks storage credential connected to AWS S3, consider the following potential causes and steps based on existing documentation:&lt;/DIV&gt;
&lt;H3&gt;Potential Causes of Validation Errors&lt;/H3&gt;
&lt;OL start="1"&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;IAM Role Configuration Issues&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Ensure that the IAM role is correctly set up in AWS for self-assuming capabilities. If your IAM role does not trust itself, the validation will fail. Databricks requires that the IAM role be self-assuming, which means it must include its own ARN in its trust policy.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;External ID Mismatches&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Verify that the external ID in the IAM role's trust policy matches the external ID you collected from the storage credential settings in Databricks. Any discrepancy here will cause the validation to fail.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Missing Permissions&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Check that the IAM policies attached to the IAM role include all necessary actions. The policies must allow the role to perform the required S3 actions (e.g., &lt;CODE&gt;s3:GetObject&lt;/CODE&gt;, &lt;CODE&gt;s3:PutObject&lt;/CODE&gt;, etc.) as well as &lt;CODE&gt;sts:AssumeRole&lt;/CODE&gt;. In your provided policy, ensure there are no syntax issues preventing proper authorization.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;Recommended Steps to Troubleshoot&lt;/H3&gt;
&lt;OL start="1"&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Inspect Trust Policy&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Go to your IAM role in AWS and confirm that the trust policy is correctly configured for self-assumption. It should look similar to this: &lt;CODE&gt;json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::414351767826:role/unity-catalog-prod-UCMasterRole-14S5ZJVKOTYTL",
          "arn:aws:iam::&amp;lt;YOUR-AWS-ACCOUNT-ID&amp;gt;:role/&amp;lt;THIS-ROLE-NAME&amp;gt;"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "&amp;lt;STORAGE-CREDENTIAL-EXTERNAL-ID&amp;gt;"
        }
      }
    }
  ]
}
&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;Ensure the &lt;CODE&gt;ExternalId&lt;/CODE&gt; is correct.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Verify IAM Policies&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Ensure the policies attached to your IAM role grant sufficient permissions not just for the S3 bucket but also for assuming the role itself. Double-check the syntax and completeness of your policy.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Review IAM Role and External ID Matches&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Reconfirm that the external ID used in the trust policy matches the one specified in Databricks. This is crucial for successful role assumption.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Consult Documentation&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Consider reviewing additional details in the Databricks documentation on creating storage credentials, particularly details regarding self-assuming roles and permissions needed for integration.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV class="paragraph"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;Cheers, Lou.&lt;/DIV&gt;</description>
    <pubDate>Tue, 22 Jul 2025 19:10:29 GMT</pubDate>
    <dc:creator>Louis_Frolio</dc:creator>
    <dc:date>2025-07-22T19:10:29Z</dc:date>
    <item>
      <title>Establishing Trust relationship for Databricks on AWS</title>
      <link>https://community.databricks.com/t5/community-articles/establishing-trust-relationship-for-databricks-on-aws/m-p/126030#M492</link>
      <description>&lt;P&gt;Hello.&lt;/P&gt;&lt;P&gt;Our databricks is on Azure. We are trying to connect with AWS S3 as an external source from Unity Catalog.&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;We have followed all steps given here, is there anything additional required?&lt;BR /&gt;&lt;A href="https://docs.databricks.com/aws/en/connect/unity-catalog/cloud-storage/storage-credentials" target="_blank" rel="nofollow noopener noreferrer"&gt;https://docs.databricks.com/aws/en/connect/unity-catalog/cloud-storage/storage-credentials&lt;/A&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;OL&gt;&lt;LI&gt;Create IAM Role in AWS account, policy, allowing access on s3 buckets.&lt;/LI&gt;&lt;LI&gt;Establish Trust connection for the IAM role&lt;/LI&gt;&lt;LI&gt;Create storage credential in Databricks, and collect the external Id&lt;/LI&gt;&lt;LI&gt;Modify 1 with stsAssume policy with externalid as databricks Identifier created in step 3.&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:ListBucketMultipartUploads",
        "s3:ListMultipartUploadParts",
        "s3:AbortMultipartUpload"
      ],
      "Resource": ["arn:aws:s3:::&amp;lt;BUCKET&amp;gt;/*", "arn:aws:s3:::&amp;lt;BUCKET&amp;gt;"],
      "Effect": "Allow"
    },
    {
      "Action": ["sts:AssumeRole"],
      "Resource": ["arn:aws:iam::&amp;lt;AWS-ACCOUNT-ID&amp;gt;:role/&amp;lt;AWS-IAM-ROLE-NAME&amp;gt;"],
      "Effect": "Allow"
    }
  ]
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;Trust Policy on IAM Role, validates perfect.&lt;/P&gt;&lt;PRE&gt;{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::414351767826:role/unity-catalog-prod-UCMasterRole-14S5ZJVKOTYTL",
          "arn:aws:iam::&amp;lt;YOUR-AWS-ACCOUNT-ID&amp;gt;:role/&amp;lt;THIS-ROLE-NAME&amp;gt;"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "&amp;lt;STORAGE-CREDENTIAL-EXTERNAL-ID&amp;gt;"
        }
      }
    }
  ]
}&lt;/PRE&gt;&lt;BR /&gt;&lt;DIV class=""&gt;&lt;P&gt;However, databricks storage credential still gives error below on trying to validate this connection.&lt;/P&gt;&lt;P&gt;On databricks : Catalog : Credentials : Databricks Storage Credential --&amp;gt; Validate Configuration&lt;/P&gt;&lt;P&gt;Error&lt;/P&gt;&lt;PRE&gt;Failed - Assume Role
Skipped - Self Assume Role
Skipped - ExternalID Condition

Missing Permissions
Failed to get credentials: the AWS IAM role in the credential is not configured correctly. Please contact your account admin to update the configuration&lt;/PRE&gt;&lt;P&gt;What could be the reason for the validation to be erroring out? Thanks in advance.&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;Is there any additional step like setting up credentials?&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 22 Jul 2025 16:15:43 GMT</pubDate>
      <guid>https://community.databricks.com/t5/community-articles/establishing-trust-relationship-for-databricks-on-aws/m-p/126030#M492</guid>
      <dc:creator>gdschld</dc:creator>
      <dc:date>2025-07-22T16:15:43Z</dc:date>
    </item>
    <item>
      <title>Re: Establishing Trust relationship for Databricks on AWS</title>
      <link>https://community.databricks.com/t5/community-articles/establishing-trust-relationship-for-databricks-on-aws/m-p/126066#M493</link>
      <description>&lt;P&gt;Here are some helpful tips/guidance to help you troubleshoot:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="paragraph"&gt;To resolve the errors you're encountering when validating the Databricks storage credential connected to AWS S3, consider the following potential causes and steps based on existing documentation:&lt;/DIV&gt;
&lt;H3&gt;Potential Causes of Validation Errors&lt;/H3&gt;
&lt;OL start="1"&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;IAM Role Configuration Issues&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Ensure that the IAM role is correctly set up in AWS for self-assuming capabilities. If your IAM role does not trust itself, the validation will fail. Databricks requires that the IAM role be self-assuming, which means it must include its own ARN in its trust policy.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;External ID Mismatches&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Verify that the external ID in the IAM role's trust policy matches the external ID you collected from the storage credential settings in Databricks. Any discrepancy here will cause the validation to fail.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Missing Permissions&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Check that the IAM policies attached to the IAM role include all necessary actions. The policies must allow the role to perform the required S3 actions (e.g., &lt;CODE&gt;s3:GetObject&lt;/CODE&gt;, &lt;CODE&gt;s3:PutObject&lt;/CODE&gt;, etc.) as well as &lt;CODE&gt;sts:AssumeRole&lt;/CODE&gt;. In your provided policy, ensure there are no syntax issues preventing proper authorization.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;Recommended Steps to Troubleshoot&lt;/H3&gt;
&lt;OL start="1"&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Inspect Trust Policy&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Go to your IAM role in AWS and confirm that the trust policy is correctly configured for self-assumption. It should look similar to this: &lt;CODE&gt;json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::414351767826:role/unity-catalog-prod-UCMasterRole-14S5ZJVKOTYTL",
          "arn:aws:iam::&amp;lt;YOUR-AWS-ACCOUNT-ID&amp;gt;:role/&amp;lt;THIS-ROLE-NAME&amp;gt;"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "&amp;lt;STORAGE-CREDENTIAL-EXTERNAL-ID&amp;gt;"
        }
      }
    }
  ]
}
&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;Ensure the &lt;CODE&gt;ExternalId&lt;/CODE&gt; is correct.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Verify IAM Policies&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Ensure the policies attached to your IAM role grant sufficient permissions not just for the S3 bucket but also for assuming the role itself. Double-check the syntax and completeness of your policy.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Review IAM Role and External ID Matches&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Reconfirm that the external ID used in the trust policy matches the one specified in Databricks. This is crucial for successful role assumption.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Consult Documentation&lt;/STRONG&gt;:
&lt;UL&gt;
&lt;LI&gt;Consider reviewing additional details in the Databricks documentation on creating storage credentials, particularly details regarding self-assuming roles and permissions needed for integration.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV class="paragraph"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;Cheers, Lou.&lt;/DIV&gt;</description>
      <pubDate>Tue, 22 Jul 2025 19:10:29 GMT</pubDate>
      <guid>https://community.databricks.com/t5/community-articles/establishing-trust-relationship-for-databricks-on-aws/m-p/126066#M493</guid>
      <dc:creator>Louis_Frolio</dc:creator>
      <dc:date>2025-07-22T19:10:29Z</dc:date>
    </item>
    <item>
      <title>Re: Establishing Trust relationship for Databricks on AWS</title>
      <link>https://community.databricks.com/t5/community-articles/establishing-trust-relationship-for-databricks-on-aws/m-p/126071#M494</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/176148"&gt;@gdschld&lt;/a&gt;&amp;nbsp;,&lt;BR /&gt;&lt;BR /&gt;what ID have you used here:&lt;/P&gt;&lt;PRE&gt;"sts:ExternalId": "&amp;lt;STORAGE-CREDENTIAL-EXTERNAL-ID&amp;gt;"&lt;/PRE&gt;&lt;P&gt;I haven't done this for some time and got a bit confused with this STORAGE-CREDENTIAL-EXTERNAL_ID. I used to put there Databricks Account ID.&lt;BR /&gt;I found this, it might help:&amp;nbsp;&lt;BR /&gt;&lt;A href="https://kb.databricks.com/unity-catalog/aws-s3-storage-credential-validation-failure-due-to-external-id" target="_blank"&gt;https://kb.databricks.com/unity-catalog/aws-s3-storage-credential-validation-failure-due-to-external-id&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Jul 2025 20:00:41 GMT</pubDate>
      <guid>https://community.databricks.com/t5/community-articles/establishing-trust-relationship-for-databricks-on-aws/m-p/126071#M494</guid>
      <dc:creator>Pat</dc:creator>
      <dc:date>2025-07-22T20:00:41Z</dc:date>
    </item>
  </channel>
</rss>

