Our Media Library files are being stored in Azure Blob Storage. Per the Kentico documentation (Configuring Azure Storage), this configuration should be able to be used with a Azure CDN.
All of the other tags that you've mentioned are already in, except for the ExternalStorageName, which is defined in our custom CMSModuleLoader that pushes all media uploads to storage, and CMSAzureBlobEndPoint, because we are using the CMSAzureAccountName key - both again according to the documentation. Also adding the CMSExternalStorageName is meant to map my entire file system to the Blob which is not what we want to do.
All of my azure settings:
<add key="CMSAzureAccountName" value="AzureAccountName" />
<add key="CMSAzureSharedKey" value="SnHpD+A+Hwk8OpA/FlOo8KqKG3Q7Ll+0AFa/GeaTSUCNCsDPxNjD1OTxjEKUsy0d8RwoRSpNPmDUzsftM0VS0w==" />
<add key="CMSAzurePublicContainer" value="true" />
<add key="CMSAzureCDNEndpoint" value="https://xxxxx.azureedge.net" />
<add key="CMSAzureCDNCacheMinutes" value="60" />
I'll try adding the CMSAzureBlobEndPoint explicitly to see if that helps.