<?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 Is SSL cert needed for Azure Databricks API calls? in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/is-ssl-cert-needed-for-azure-databricks-api-calls/m-p/118899#M45735</link>
    <description>&lt;P&gt;Hi,&amp;nbsp;I'm using Azure Databricks and making API calls to the endpoints with &lt;STRONG&gt;verify=False&amp;nbsp;&lt;/STRONG&gt;Eg.&lt;/P&gt;&lt;P&gt;response = requests.get(&lt;BR /&gt;'https://%s/api/2.0/clusters/list' % (databricks_domain),&lt;BR /&gt;headers=request_headers,&lt;BR /&gt;verify=False&lt;BR /&gt;)&lt;/P&gt;&lt;P&gt;Security scanners are flagging the use of &lt;STRONG&gt;verify=False&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;BR /&gt;Is it necessary to install or configure an SSL certificate on the client side for API communication with Azure Databricks? If not, what’s the best practice for handling SSL verification with requests in this case? Should I enable verify=True, just remove verify=False or provide a certificate bundle?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 12 May 2025 12:53:20 GMT</pubDate>
    <dc:creator>asrivas</dc:creator>
    <dc:date>2025-05-12T12:53:20Z</dc:date>
    <item>
      <title>Is SSL cert needed for Azure Databricks API calls?</title>
      <link>https://community.databricks.com/t5/data-engineering/is-ssl-cert-needed-for-azure-databricks-api-calls/m-p/118899#M45735</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;I'm using Azure Databricks and making API calls to the endpoints with &lt;STRONG&gt;verify=False&amp;nbsp;&lt;/STRONG&gt;Eg.&lt;/P&gt;&lt;P&gt;response = requests.get(&lt;BR /&gt;'https://%s/api/2.0/clusters/list' % (databricks_domain),&lt;BR /&gt;headers=request_headers,&lt;BR /&gt;verify=False&lt;BR /&gt;)&lt;/P&gt;&lt;P&gt;Security scanners are flagging the use of &lt;STRONG&gt;verify=False&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;BR /&gt;Is it necessary to install or configure an SSL certificate on the client side for API communication with Azure Databricks? If not, what’s the best practice for handling SSL verification with requests in this case? Should I enable verify=True, just remove verify=False or provide a certificate bundle?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2025 12:53:20 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/is-ssl-cert-needed-for-azure-databricks-api-calls/m-p/118899#M45735</guid>
      <dc:creator>asrivas</dc:creator>
      <dc:date>2025-05-12T12:53:20Z</dc:date>
    </item>
    <item>
      <title>Re: Is SSL cert needed for Azure Databricks API calls?</title>
      <link>https://community.databricks.com/t5/data-engineering/is-ssl-cert-needed-for-azure-databricks-api-calls/m-p/118901#M45736</link>
      <description>&lt;DIV class="paragraph"&gt;In API communication with Azure Databricks, it is not necessary to manually install or configure an SSL certificate on the client side because Azure Databricks endpoints inherently use TLS (Transport Layer Security) for secure communication. To address the security scanner flagging the use of &lt;CODE&gt;verify=False&lt;/CODE&gt;, here are the best practices:&lt;/DIV&gt;
&lt;OL start="1"&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Enable SSL Verification (&lt;CODE&gt;verify=True&lt;/CODE&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;Setting &lt;CODE&gt;verify=True&lt;/CODE&gt; ensures that Python's &lt;CODE&gt;requests&lt;/CODE&gt; library verifies the SSL certificate presented by the server, which is important for securing HTTPS connections. This is the recommended approach.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Provide a Certificate Bundle:&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;If the default CA certificates provided by your system are insufficient (e.g., due to network configurations or specific enterprise policies), you can explicitly provide a trusted certificate bundle using the &lt;CODE&gt;verify&lt;/CODE&gt; parameter. For example: &lt;CODE&gt;python
response = requests.get(
    'https://%s/api/2.0/clusters/list' % (databricks_domain),
    headers=request_headers,
    verify='/path/to/certifi/cacert.pem'
)
&lt;/CODE&gt; Ensure the certificate bundle used is reliable and up-to-date.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Avoid Using &lt;CODE&gt;verify=False&lt;/CODE&gt;:&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;Disabling SSL verification (&lt;CODE&gt;verify=False&lt;/CODE&gt;) bypasses the security validation of the server's certificate, which raises security concerns like exposure to MITM (Man-in-the-Middle) attacks. Therefore, this approach should be avoided.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope this helps. Cheers, Lou.&lt;/P&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV class="paragraph"&gt;By adhering to these practices, you ensure secure and compliant communication with Azure Databricks endpoints. If unusual SSL-related issues arise, consider determining if your organization’s IT policies or network configurations require additional adjustments to the certificate validation process.&lt;/DIV&gt;</description>
      <pubDate>Mon, 12 May 2025 13:05:55 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/is-ssl-cert-needed-for-azure-databricks-api-calls/m-p/118901#M45736</guid>
      <dc:creator>Louis_Frolio</dc:creator>
      <dc:date>2025-05-12T13:05:55Z</dc:date>
    </item>
  </channel>
</rss>

