指定されたプロジェクトに属する 1 人のデータベースユーザーを更新します。このリソースを使用するには、リクエスト元のサービス アカウントまたは API キーに、プロジェクト オーナー ロール、プロジェクト チャート管理者ロール、プロジェクト ストリーム処理オーナー ロール、またはプロジェクト データベース アクセス管理者ロールが必要です。
プロジェクトを識別する一意の 24 桁の 16 進数文字列。 認証済みユーザーがアクセスできるすべてのプロジェクトを取得するには、 /groups エンドポイントを使用します。
注: グループとプロジェクトは同義語です。そのため、グループ ID はプロジェクト ID と同じです。既存のグループの場合、グループ/プロジェクト ID は同じままです。リソースおよび対応するエンドポイントでは、グループという用語が使用されます。
形式は次のパターンと一致する必要があります: ^([a-f0-9]{24})$。
データベースユーザーが認証するデータベース。 データベースユーザーは、MongoDB にログインするためにユーザー名と認証データベースの両方を提供する必要があります。 ユーザーがAmazon Web Services IAM、x.509、 LDAP 、または OIDC Workload で認証される場合、この値は $external になります。 ユーザーが SCRAM-SHA または OIDC ワークフォース で認証される場合、この値はadminになります。
MongoDB に認証するユーザーを表す、人間が判読可能なラベル。このラベルの形式は、認証方法によって異なります。
| 認証方法 | 必要なパラメーター | パラメーターの値 | username のフォーマット |
|---|---|---|---|
| AWS IAM | awsIAMType | ROLE | ARN |
| AWS IAM | awsIAMType | USER | ARN |
| x.509 | x509Type | CUSTOMER | RFC2253 識別名 |
| x.509 | x509Type | MANAGED | RFC2253 識別名 |
| LDAP | ldapAuthType | USER | RFC2253 識別名 |
| LDAP | ldapAuthType | GROUP | RFC2253 識別名 |
| OIDC WORKFORCE | oidcAuthType | IDP_GROUP | Atlas OIDC IdP ID(フェデレーション設定で確認可能)、その後に「/」、その後に IdP グループ名が続きます |
| OIDC Workload | oidcAuthType | USER | Atlas OIDC IdP ID(フェデレーション設定で確認可能)、その後に「/」が続き、その後に IdP ユーザー名が続きます |
| SCRAM-SHA | awsIAMType, x509Type, ldapAuthType, oidcAuthType | なし | 英数字の文字列 |
アプリケーションがレスポンスを envelope JSON オブジェクトにラップするかどうかを示すフラグ。一部の API クライアントは、HTTP レスポンス ヘッダーまたはステータス コードにアクセスできません。これを修正するには、クエリで envelope=true を設定します。結果のリストを返すエンドポイントは、結果オブジェクトをエンベロープとして使用します。アプリケーションは、レスポンス本体にステータス パラメータを追加します。
デフォルト値はfalseです。
レスポンス本体を pretty-print 形式にするかどうかを示すフラグ。
デフォルト値はfalseです。
指定されたプロジェクトに属する 1 人のデータベースユーザーを更新します。
新しいデータベースユーザーが、ユーザーに関連付けられた AWS(Amazon Web Services)の IAM(Identity and Access Management、ID とアクセス管理)認証情報で認証されるか、またはユーザーのロールで認証されるを示す、人間が判読可能なラベル。
値は NONE、USER、または ROLE です。デフォルト値は NONE です。
データベースユーザーが認証するデータベース。 データベースユーザーは、MongoDB にログインするためにユーザー名と認証データベースの両方を提供する必要があります。 ユーザーがAmazon Web Services IAM、x.509、 LDAP 、または OIDC Workload で認証される場合、この値は $external になります。 ユーザーが SCRAM-SHA または OIDC ワークフォース で認証される場合、この値はadminになります。
値は admin または $external です。デフォルト値は admin です。
MongoDB Cloud がユーザーを削除する日時。このパラメーターは、その値を ISO 8601 タイムスタンプ形式で UTC で表し、タイム ゾーンの指定を含めることができます。API(Application Programming Interface、アプリケーション プログラミング インターフェース)要求を行ってから 1 週間以内の未来の日付を指定する必要があります。
このデータベースユーザーの説明。
最大長は 100 です。
プロジェクトを識別するユニークな 24 桁の 16 進数の文字列。
MongoDB データベース ユーザーをタグ付けおよび分類するためのキーと値のペアが格納されたリスト。定義したラベルはコンソールに表示されません。
このMongoDB Cloud コンポーネントに適用された、人間が判読可能なラベル。
データベースが LDAP(Lightweight Directory Access Protocol、ライトウェイト ディレクトリ アクセス プロトコル)のホスト上でこのデータベースユーザーを認証するために使用する LDAP レコードの一部。
値は NONE、GROUP、または USER です。デフォルト値は NONE です。
新しいデータベースユーザーまたはグループが OIDC フェデレーション認証で認証されるかどうかを示す、人間が判読可能なラベル。フェデレーション認証ユーザーを作成するには、このフィールドに USER の値を指定します。フェデレーション認証グループを作成するには、このフィールドに IDP_GROUP の値を指定します。
値は NONE、IDP_GROUP、または USER です。デフォルト値は NONE です。
databaseName で指定されたデータベースに対してこのデータベースユーザーを認証する文字列。SCRAM-SHA で認証するには、このパラメーターを指定する必要があります。このパラメーターは、この応答には含まれません。
最小長は 8 です。
1 つのロールと適用される 1 つのデータベースの組み合わせを提供するリスト。
このデータベースユーザーが利用できるリソースの範囲。
このデータベースユーザーがアクセスできるクラスター、 MongoDB Atlas Data Lake、 MongoDB Atlas Streams ワークスペースが格納されたリスト。省略した場合、 MongoDB Cloud はデータベースユーザーに、プロジェクト内のすべてのクラスター、 MongoDB Atlas Data Lakes、 MongoDB Atlas Streams ワークスペースへのアクセスを許可します。
このデータベースユーザーが利用できるリソースの範囲。
MongoDB に認証するユーザーを表す、人間が判読可能なラベル。このラベルの形式は、認証方法によって異なります。
| 認証方法 | 必要なパラメーター | パラメーターの値 | username のフォーマット |
|---|---|---|---|
| AWS IAM | awsIAMType | ROLE | ARN |
| AWS IAM | awsIAMType | USER | ARN |
| x.509 | x509Type | CUSTOMER | RFC2253 識別名 |
| x.509 | x509Type | MANAGED | RFC2253 識別名 |
| LDAP | ldapAuthType | USER | RFC2253 識別名 |
| LDAP | ldapAuthType | GROUP | RFC2253 識別名 |
| OIDC WORKFORCE | oidcAuthType | IDP_GROUP | Atlas OIDC IdP ID(フェデレーション設定で確認可能)、その後に「/」、その後に IdP グループ名が続きます |
| OIDC Workload | oidcAuthType | USER | Atlas OIDC IdP ID(フェデレーション設定で確認可能)、その後に「/」が続き、その後に IdP ユーザー名が続きます |
| SCRAM-SHA | awsIAMType, x509Type, ldapAuthType, oidcAuthType | なし | 英数字の文字列 |
最大長は 1024 です。
MongoDB Cloud がデータベースユーザーの認証に使用する X.509 方式。
MANAGED を指定します。CUSTOMER を指定します。CUSTOMER メソッドで作成されたユーザーには、ユーザー名パラメーターに CN(Common Name、共通名)が必要です。$external データベースに外部認証ユーザーを作成する必要があります。
値は NONE、CUSTOMER、または MANAGED です。デフォルト値は NONE です。
atlas api databaseUsers updateDatabaseUser --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250312001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.UpdateGroupDatabaseUserApiParams{}
sdkResp, httpResp, err := client.DatabaseUsersApi.
UpdateGroupDatabaseUserWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}" \
-d '{ <Payload> }'
{
"awsIAMType": "NONE",
"databaseName": "admin",
"deleteAfterDate": "2025-05-04T09:42:00Z",
"description": "string",
"groupId": "string",
"labels": [
{
"key": "string",
"value": "string"
}
],
"ldapAuthType": "NONE",
"oidcAuthType": "NONE",
"password": "string",
"roles": [
{
"collectionName": "string",
"databaseName": "string",
"roleName": "atlasAdmin"
}
],
"scopes": [
{
"name": "string",
"type": "CLUSTER"
}
],
"username": "string",
"x509Type": "NONE"
}
{
"awsIAMType": "NONE",
"databaseName": "admin",
"deleteAfterDate": "2025-05-04T09:42:00Z",
"description": "string",
"labels": [
{
"key": "string",
"value": "string"
}
],
"ldapAuthType": "NONE",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
],
"oidcAuthType": "NONE",
"roles": [
{
"collectionName": "string",
"databaseName": "string",
"roleName": "atlasAdmin"
}
],
"scopes": [
{
"name": "string",
"type": "CLUSTER"
}
],
"username": "string",
"x509Type": "NONE"
}
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"error": 404,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"reason": "Not Found",
"errorCode": "RESOURCE_NOT_FOUND"
}
{
"error": 409,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot delete organization link while there is active migration in following project ids: 60c4fd418ebe251047c50554",
"reason": "Conflict",
"errorCode": "CANNOT_DELETE_ORG_ACTIVE_LIVE_MIGRATION_ATLAS_ORG_LINK"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}