elastic / elastic/integrations

[MongoDB Atlas] Support Service Accounts (OAuth 2.0 Client Credentials) for Authentication

Open
#18,676 2 comments 0 reactions 0 assignees View on GitHub
Integration:mongodb_atlas needs:triage Team:Obs-InfraObs
Dominant language
Handlebars
Stars
333
Forks
647
Avg merge
3d 4h
Merged PRs (30d)
209

Description

### Integration Name

MongoDB Atlas [mongodb_atlas]

### Dataset Name

_No response_

### Integration Version

1.2.0

### Agent Version

9.3.0

### OS Version and Architecture

Elastic Cloud

### User Goal

We are trying to authenticate the MongoDB Atlas integration using MongoDB Atlas Service Accounts (OAuth 2.0 Client Credentials) instead of the legacy Programmatic API Keys.

### Existing Features

The current integration only supports Programmatic API Keys (requiring a Public Key and Private Key), which relies on HTTP Digest Authentication. This does not satisfy our needs because MongoDB Atlas has introduced Service Accounts as the modern, recommended, and more secure approach for machine-to-machine (M2M) API authentication. Service accounts issue short-lived access tokens via OAuth 2.0, whereas Programmatic API Keys are static, long-lived credentials. We want to align with these modern security best practices to manage our Atlas deployments.

### What did you see?

N/A - This is an enhancement request for a new authentication method. Currently, the integration setup UI only provides fields for Public Key and Private Key, with no option to use a Client ID and Client Secret for OAuth.

### Anything else?

Providing the option to choose between the legacy API Key and the new Service Account authentication would greatly benefit customers migrating to MongoDB's newer M2M authentication standards.

Reference documentation for MongoDB Atlas Service Accounts:
https://www.mongodb.com/docs/atlas/reference/service-accounts/

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.