<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>ADLSCredentialsControllerService</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">ADLSCredentialsControllerService</h1><h2>Description: </h2><p>Defines credentials for ADLS processors.</p><p><a href="additionalDetails.html">Additional Details...</a></p><h3>Tags: </h3><p>azure, microsoft, cloud, storage, adls, credentials</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Storage Account Name</strong></td><td>storage-account-name</td><td></td><td id="allowable-values"></td><td id="description">The storage account name. There are certain risks in allowing the account name to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account name to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Endpoint Suffix</strong></td><td>storage-endpoint-suffix</td><td id="default-value">dfs.core.windows.net</td><td id="allowable-values"></td><td id="description">Storage accounts in public Azure always use a common FQDN suffix. Override this endpoint suffix with a different suffix in certain circumstances (like Azure Stack or non-public Azure regions).<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Storage Account Key</td><td>storage-account-key</td><td></td><td id="allowable-values"></td><td id="description">The storage account key. This is an admin-like password providing access to every container in this account. It is recommended one uses Shared Access Signature (SAS) token instead for fine-grained control with policies. There are certain risks in allowing the account key to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the account key to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">SAS Token</td><td>storage-sas-token</td><td></td><td id="allowable-values"></td><td id="description">Shared Access Signature token, including the leading '?'. Specify either SAS token (recommended) or Account Key. There are certain risks in allowing the SAS token to be stored as a flowfile attribute. While it does provide for a more flexible flow by allowing the SAS token to be fetched dynamically from a flowfile attribute, care must be taken to restrict access to the event provenance data (e.g., by strictly controlling the policies governing provenance for this processor). In addition, the provenance repositories may be put on encrypted disk partitions.<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Use Azure Managed Identity</td><td>storage-use-managed-identity</td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Choose whether or not to use the managed identity of Azure VM/VMSS</td></tr><tr><td id="name">Managed Identity Client ID</td><td>managed-identity-client-id</td><td></td><td id="allowable-values"></td><td id="description">Client ID of the managed identity. The property is required when User Assigned Managed Identity is used for authentication. It must be empty in case of System Assigned Managed Identity.<br/><strong>Sensitive Property: true</strong></td></tr><tr><td id="name">Service Principal Tenant ID</td><td>service-principal-tenant-id</td><td></td><td id="allowable-values"></td><td id="description">Tenant ID of the Azure Active Directory hosting the Service Principal. The property is required when Service Principal authentication is used.<br/><strong>Sensitive Property: true</strong></td></tr><tr><td id="name">Service Principal Client ID</td><td>service-principal-client-id</td><td></td><td id="allowable-values"></td><td id="description">Client ID (or Application ID) of the Client/Application having the Service Principal. The property is required when Service Principal authentication is used.<br/><strong>Sensitive Property: true</strong></td></tr><tr><td id="name">Service Principal Client Secret</td><td>service-principal-client-secret</td><td></td><td id="allowable-values"></td><td id="description">Password of the Client/Application. The property is required when Service Principal authentication is used.<br/><strong>Sensitive Property: true</strong></td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>System Resource Considerations:</h3>None specified.</body></html>