<h2>External credential storage</h2><br/><div style="overflow-x:auto"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta content="text/html; charset=UTF-8" /><meta name="copyright" content="(C) Copyright 2026" /><meta name="DC.rights.owner" content="(C) Copyright 2026" /><meta name="generator" content="DITA-OT" /><meta name="DC.type" content="concept" /><meta name="DC.title" content="External credential storage" /><meta name="abstract" content="An instance can store credentials used by Discovery, Orchestration, and Service Mapping in an external credential repository rather than directly in a ServiceNow credentials record." /><meta name="description" content="An instance can store credentials used by Discovery, Orchestration, and Service Mapping in an external credential repository rather than directly in a ServiceNow credentials record." /><meta name="DC.subject" content="Orchestration, credentials for, external storage, Discovery, external credential storage, credentials, external storage for" /><meta name="keywords" content="Orchestration, credentials for, external storage, Discovery, external credential storage, credentials, external storage for" /><meta name="DC.relation" scheme="URI" content="../../../product/credentials/reference/credentials-getting-started.html" /><meta name="DC.relation" scheme="URI" content="../../../administer/general/concept/access-management-landing.html" /><meta name="DC.relation" scheme="URI" content="../../../product/credentials/reference/r-credentials.html" /><meta name="DC.relation" scheme="URI" content="../../../product/credentials/task/t_ActivateExtrnlCredStoragePlugIn.html" /><meta name="DC.relation" scheme="URI" content="../../../product/credentials/concept/external_cred_storage_configuration.html" /><meta name="DC.relation" scheme="URI" content="../../../product/credentials/concept/c_CyberArkCredStorageIntegrate.html" /><meta name="DC.relation" scheme="URI" content="../../../product/credentials/concept/oauth-2-0-support-in-external-credential.html" /><meta name="DC.creator" content="ServiceNow" /><meta name="DC.date.created" content="2023-08-03" /><meta name="DC.date.modified" content="2024-08-01" /><meta name="mini-toc" content="yes" /><meta name="DC.format" content="XHTML" /><meta name="DC.identifier" content="c_ExternalCredentialStorage" /><link rel="stylesheet" type="text/css" href="../../../CSS/commonltr.css" /><title>External credential storage</title></head><body id="c_ExternalCredentialStorage"> <div class="breadcrumb"><a class="link" href="https://docs.servicenow.com/bundle/xanadu-platform-security/page/administer/general/concept/access-management-landing.html" title="Access Management enables you to have access to ServiceNow instance securely.">Access Management</a> > <a class="link" href="https://docs.servicenow.com/bundle/xanadu-platform-security/page/product/credentials/reference/r-credentials.html" title="Credentials and connection information are required to gain access to a computer or network device for Discovery, Service Mapping, and Cloud Management or to perform work using Orchestration. When adding content to Share or AppStore, you can configure connections and credentials relevant to your environment without modifying built content.">Connections and Credentials</a> > </div> <h1 class="title topictitle1" id="ariaid-title1">External credential storage</h1> <div class="body conbody"><p class="shortdesc">An instance can store credentials used by <span class="ph">Discovery</span>, Orchestration, and <span class="ph">Service Mapping</span> in an external credential repository rather than directly in a <span class="ph">ServiceNow</span> credentials record.</p> <p class="p">The instance maintains a unique identifier for each credential, the credential type (such as SSH, SNMP, or Windows), and any credential affinities. The MID Server obtains the credential identifier from the instance, and then uses a customer-provided JAR file to resolve the identifier from the repository into a usable credential. Currently, the <span class="ph">ServiceNow®</span> platform supports the use of the <a class="xref" href="https://docs.servicenow.com/bundle/xanadu-platform-security/page/product/credentials/concept/c_CyberArkCredStorageIntegrate.html" title="The MID Server integration with the CyberArk vault enables ServiceNow Orchestration, ServiceNow Discovery, and ServiceNow Service Mapping to run without storing any credentials on the instance.">CyberArk vault</a> or BeyondTrust for external credential storage.</p> <div class="section" id="c_ExternalCredentialStorage__section_t4l_m4z_1cb"><h2 class="title sectiontitle">External credential storage architecture</h2> <div class="p"><div class="fig fignone" id="c_ExternalCredentialStorage__fig_brd_kf4_cv"><span class="figcap"><span class="fig--title-label">Figure 1. </span>External credential storage architecture</span> <img class="image" id="c_ExternalCredentialStorage__image_k2p_mf4_cv" src="../image/ExternalCredentialStorageArchitecture.png" alt="ServiceNow external credential storage architecture" /> </div> </div> </div> <div class="section" id="c_ExternalCredentialStorage__section_t21_p4z_1cb"><h2 class="title sectiontitle">Credential process flow</h2> <div class="p">The MID Server retrieves credentials from an external store using this process:<ol class="ol" id="c_ExternalCredentialStorage__ol_aqc_wf4_cv"><li class="li">MID Server downloads credential objects from the <span class="ph">ServiceNow</span> Credentials [discovery_credentials] table that contain the corresponding credential ID from the target vault.</li><li class="li">As each probe or pattern runs from <span class="ph">Discovery</span> or <span class="ph">Orchestration</span> jobs, the MID Server requests the credential by passing information such as credential ID, target IP address, and credential type to the Credential Resolver Java Jar file. The details about the correct credential object to retrieve from the vault are determined by the Credential Resolver. <p class="p">Many Credential Resolvers such CyberArk call an application supplied by the third-party vault vendor running on same machine as the MID Server. That application can often be configured to cache credentials and knows to update the cache when a credential changes in the vault, which is very important to avoid unnecessary network calls to the vault each time MID Server requests a credential. The Credential Resolver (using optional vendor application if present) makes a call to the vault to get the actual user name, password, etc.</p> <p class="p">For Credential Resolvers supplied out-of-box (only CyberArk today), the MID Server only caches a credential for up to several seconds using encryption in MID Server process memory. This means the MID Server can make multiple requests to the Credential Resolver for the same credential even when discovering a single device. Contact third party vendors for information about caching implementations for other Credential Resolvers.</p> </li><li class="li">MID Server executes the probe with the appropriate credential.</li></ol> </div> <div class="p"><div class="note"><span class="notetitle">Note:</span> Credential affinity still applies. The mechanism remains the same, since the only real difference from the MID Server's perspective is that the real credential details (user name and password) come from the third party vault.</div> </div> </div> <div class="section" id="c_ExternalCredentialStorage__section_zk3_d3d_ybb"><h2 class="title sectiontitle">External credential storage logging</h2> <p class="p">The MID Server posts log messages about external credential storage.</p> <p class="p">If the repository encounters an error while attempting to resolve a credentials request, the MID Server posts log messages with this prefix: <code class="ph codeph">Problem with client's CredentialResolver:</code></p> </div> <div class="section" id="c_ExternalCredentialStorage__section_bgf_3rz_1cb"><h2 class="title sectiontitle">Components installed with External Credential Storage</h2> <dl class="dl"> <dt class="dt dlterm">Business rule</dt> <dd class="dd"><p class="p">The External Credential Storage business rule performs the following tasks when an administrator makes any change to the Enable External Credential Storage property:</p> <div class="p"><ul class="ul" id="c_ExternalCredentialStorage__ul_w1x_gyv_2y"><li class="li">Changes the view for the Credentials record list and form to the External Storage view. This view enables users to see the <span class="ph uicontrol">Credential ID</span> column in the list.</li><li class="li">Instructs the MID Server to refresh its credentials cache in preparation for a change in the way credentials are obtained.</li></ul> </div> </dd> <dt class="dt dlterm">Property</dt> <dd class="dd"><p class="p">A property called Enable External Credential Storage [com.snc.use_external_credentials] enables or disables the External Credential Storage plugin after it’s activated. The property is located in <span class="ph menucascade"><span class="ph uicontrol">Discovery Definition</span> > <span class="ph uicontrol">Properties</span></span> and <span class="ph menucascade"><span class="ph uicontrol">Orchestration</span> > <span class="ph uicontrol">MID Server Properties</span></span>, and is enabled when you activate the plugin.</p> <p class="p">If you disable external credential storage with the system property, the system automatically sets all the external credentials to inactive in the instance. If you re-enable the feature with this property, the system doesn’t reset the external credential records to active. You must reactivate each <a class="xref" href="https://docs.servicenow.com/bundle/xanadu-platform-security/page/product/credentials/reference/r_WindowsCredentialsForm.html" title="Windows credentials provide access to Windows computers. This credential type is available for Discovery and Orchestration.">credential record</a> manually.</p> </dd> </dl> </div> </div> <div class="related-links"> <ul class="ullinks"><li class="link ulchildlink"><strong><a href="https://docs.servicenow.com/bundle/xanadu-platform-security/page/product/credentials/task/t_ActivateExtrnlCredStoragePlugIn.html">Request external credential storage for Discovery and Orchestration</a></strong><br /> The External Credential Storage plugin is available by request.</li><li class="link ulchildlink"><strong><a href="https://docs.servicenow.com/bundle/xanadu-platform-security/page/product/credentials/concept/external_cred_storage_configuration.html">External credential storage configuration</a></strong><br /> Configure your instance to obtain credentials from a remote repository.</li><li class="link ulchildlink"><strong><a href="https://docs.servicenow.com/bundle/xanadu-platform-security/page/product/credentials/concept/c_CyberArkCredStorageIntegrate.html">CyberArk credential storage integration</a></strong><br /> The <span class="ph">MID Server</span> integration with the <span class="ph">CyberArk</span> vault enables <span class="ph">ServiceNow®</span> <span class="ph">Orchestration</span>, <span class="ph">ServiceNow®</span> <span class="ph">Discovery</span>, and <span class="ph">ServiceNow®</span> <span class="ph">Service Mapping</span> to run without storing any credentials on the instance.</li><li class="link ulchildlink"><strong><a href="https://docs.servicenow.com/bundle/xanadu-platform-security/page/product/credentials/concept/oauth-2-0-support-in-external-credential.html">OAuth 2.0 authentication via MID Server using external credential storage</a></strong><br /> Store OAuth 2.0 credentials-client ID and client secret-in the <span class="ph">CyberArk</span> vault instead of the <span class="ph">ServiceNow</span> instance. The <span class="ph">MID Server</span> gets the credentials from the <span class="ph">CyberArk</span> vault, when required to get the OAuth token. The token is stored in the MID Server and refreshed automatically upon expiry.</li></ul> <div class="familylinks"> <div class="parentlink"><strong>Parent Topic:</strong> <a class="link" href="https://docs.servicenow.com/bundle/xanadu-platform-security/page/product/credentials/reference/credentials-getting-started.html" title="The MID Server uses the credentials you create in the Credentials [discovery_credentials] table to access resources for Discovery, Orchestration, Service Mapping, and Cloud Management.">Getting started with credentials</a></div> </div> </div></body></html></div>