指定されたプロジェクトから 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です。
atlas api deleteDatabaseUser --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20231115001/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.DeleteDatabaseUserApiParams{}
httpResp, err := client.DatabaseUsersApi.
DeleteDatabaseUserWithParams(ctx, params).
Execute()
}
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-11-15+json" \
-X DELETE "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest \
--header "Accept: application/vnd.atlas.2023-11-15+json" \
-X DELETE "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers/{databaseName}/{username}"
{
"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": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}