Set up Microsoft Azure Cosmos DB for NoSQL
Configure authentication for the Microsoft Azure Cosmos DB for NoSQL connector by registering a Microsoft Entra ID service principal and granting it read-only access to the accounts you want to catalog.
Before you begin
Atlan authenticates with a Microsoft Entra ID service principal, using a tenant ID, client ID, and client secret. This is the only authentication method the connector supports. Account keys, connection strings, and resource tokens aren't supported.
Atlan discovers every Cosmos DB for NoSQL account the service principal can access, so grant it access only to the accounts you want to catalog. You can narrow a crawl further with the include and exclude filters when you crawl your assets.
Register app with Microsoft Entra ID
You need your Cloud Application Administrator or Application Administrator to complete these steps—you may not have access yourself. This is required if creating registered applications isn't enabled for the entire organization.
To register your service principal application with Microsoft Entra ID:
- Log in to the Azure portal.
- In the search bar, search for Microsoft Entra ID, and select it from the dropdown list.
- From the left menu of the Microsoft Entra ID page, click App registrations.
- From the toolbar on the App registrations page, click + New registration.
- On the Register an application page, for Name, enter a name for your service principal application and then click Register.
- On the homepage of your newly created application, from the Overview screen, copy the values for the following fields and store them in a secure location:
- Application (client) ID
- Directory (tenant) ID
- From the left menu of your newly created application page, click Certificates & secrets.
- On the Certificates & secrets page, under Client secrets, click + New client secret.
- In the Add a client secret screen, enter the following details:
- For Description, enter a description for your client secret.
- For Expiry, select when the client secret expires.
- Click Add.
- On the Certificates & secrets page, under Client secrets, for the newly created client secret, click the clipboard icon to copy the Value and store it in a secure location.
You now have the tenant ID, client ID, and client secret that Atlan needs.
Note the expiry date you selected. When the secret expires, crawls fail to authenticate until you create a new secret and update the credentials in Atlan.
Grant read-only access
You need your Microsoft Azure Cosmos DB administrator to complete these steps—you may not have access yourself.
Add the service principal to the Cosmos DB Account Reader Role, which grants read-only access to your Azure Cosmos DB account data.
To assign the role:
- Log in to the Azure portal.
- Open the menu and search for or select Azure Cosmos DB.
- On the Azure Cosmos DB page, select your Azure Cosmos DB for NoSQL account.
- From the left menu of your account page, click Access control (IAM).
- From the tabs along the top of the Access control (IAM) page, click Add and then click Add role assignment.
- On the Add role assignment page, configure the following:
- In the Roles tab, from the list of roles under Job function roles, select Cosmos DB Account Reader Role—this grants read-only access to Azure Cosmos DB account data—and then click Next.
- In the Members tab, enter the following details:
- For Assign access to, click User, group, or service principal.
- For Members, click + Select members and then select the service principal you registered. Click Next to proceed to the next step.
- In the Review + assign tab, click Review + assign to add the role assignment.
Repeat these steps for every Cosmos DB for NoSQL account you want to crawl in Atlan.
(Optional) Allow Atlan's IP range
If your accounts restrict public network access, you need to add Atlan's IP range to your account's network rules so Atlan can crawl your assets.
To add Atlan's IP range:
- Log in to the Azure portal.
- Open the menu and search for or select Azure Cosmos DB.
- On the Azure Cosmos DB page, select your Azure Cosmos DB for NoSQL account.
- From the left menu of your account page, click Networking.
- On the Networking page, under Public network access, check the following:
- If All networks is enabled, no further action is required.
- If Select networks is enabled, raise an Atlan support request to obtain Atlan's IP range. Once you receive it, for IP (Single IPv4 or CIDR range), enter Atlan's IP range and click Save.
If you plan to crawl through Self-Deployed Runtime instead, add the runtime's egress address rather than Atlan's IP range.
Next steps
Now that you've registered a service principal and granted it access, you're ready to:
- Crawl Microsoft Azure Cosmos DB for NoSQL: Configure and run metadata extraction from your accounts.