Docs Menu
Docs Home
/
MongoDB Cloud Manager
/ / / /

1 つのプロジェクトに 1 つの組織サービス アカウントを作成・割り当て

項目一覧

  • Resource
  • リクエスト パス パラメーター
  • リクエスト クエリ パラメータ
  • リクエスト ボディ パラメータ
  • 応答
  • リクエストの例
  • 応答例
  • 応答ヘッダー
  • レスポンス本体

ベース URL: https://cloud.mongodb.com/api/public/v 1.0

POST /groups/{PROJECT-ID}/serviceAccounts
名前
タイプ
説明
PROJECT-ID
string
サービス アカウントを作成して割り当てるプロジェクトの一意の識別子です。 認証済みユーザーがアクセスできるすべての組織を取得するには、 /groups エンドポイントを使用します。

次のクエリ パラメータは 任意です。

名前
タイプ
説明
default
pageNum
integer
ページ番号(1 インデックス ベース)。
1
itemsPerPage
integer
1 ページあたりに返す項目の数は最大 500 です。
100
pretty
ブール値
false
envelope
ブール値

応答をエンベロープでラップするかどうかを示します。

一部の APIクライアントは、 HTTPレスポンス ヘッダーまたはステータス コードにアクセスできません。 これを修正するには、クエリで"envelope" : trueを設定します。

1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。

名前
説明
status
HTTPレスポンス コード
content
期待される応答本体

結果のリストを返すエンドポイントの場合、 resultsオブジェクトはエンベロープです。 Cloud Manager は、レスポンス本体にstatusフィールドを追加します。

なし

すべての本体パラメータが必要です。

名前
タイプ
説明
name
string
サービス アカウントの名前。 使用可能な文字は、A-Za-z0-9 、スペース、ピリオド . 、アスタリスク ' 、カンマ, 、アンダースコア _ 、ダッシュ - です。
description
string
サービス アカウントの説明。 長さは 1 文字と 250 文字の間でなくてはなりません。使用可能な文字は、A-Za-z0-9 、スペース、ピリオド . 、アスタリスク ' 、カンマ, 、アンダースコア _ 、ダッシュ - です。
secretExpiresAfterHours
string
このサービス アカウントのシークレットが期限切れになる時間数
roles
string 配列

サービス アカウントが持つ必要があるロールのリスト。 少なくとも 1 つのロールがリストされ、すべてのロールがプロジェクトで有効である必要があります。

プロジェクト ロールには、以下が含まれます。

API のロール値
ロール
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_BILLING_ADMIN
プロジェクト請求管理者
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN
名前
タイプ
説明
clientId
string
サービス アカウントのユニーク識別子です。
createdAt
タイムスタンプ
サービス アカウントの作成時間。
name
string
サービス アカウントの名前。
description
string
サービス アカウントの説明。
roles
string 配列

プロジェクト内でサービス アカウントが持つロールの一覧。

プロジェクト ロールには、以下が含まれます。

secrets
オブジェクト配列
サービス アカウント シークレットのリスト。
secrets.id
string
シークレットを識別する一意の 24桁の 16 進数文字列。string
secrets.createdAt
タイムスタンプ
シークレットの作成時間を表すタイムスタンプ。
secrets.expiresAt
タイムスタンプ
シークレットの有効期限を表すタイムスタンプ。
secrets.secret
string
サービス アカウント シークレット。作成時にのみ利用可能です。

注意

リクエストを行うユーザーは、 {PUBLIC-KEY}:{PRIVATE-KEY}としてフォーマットできます。

1curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
2 --header "Accept: application/json" \
3 --header "Content-Type: application/json" \
4 --include \
5 --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/serviceAccounts?pretty=true" \
6 --data '{
7 "name" : "Cloud Manager service account",
8 "description" : "Service account for Cloud Manager users.",
9 "secretExpiresAfterHours" : "3600",
10 "roles": ["GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN"]
11 }'
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 201 Created
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}
X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}

注意

レスポンス本体では secret は編集されていません。この例は、セキュリティ上の理由から編集されています。

1{
2 "createdAt" : "2024-08-03T14:02:40Z",
3 "description" : "Service account for Cloud Manager users.",
4 "clientId" : "mdb_sa_id_66ae38803cdf55582cb01144",
5 "name" : "Cloud Manager service account",
6 "roles" : [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN" ],
7 "secrets" : [ {
8 "createdAt" : "2024-08-03T14:02:40Z",
9 "expiresAt" : "2024-12-31T14:02:40Z",
10 "id" : "66ae38803cdf55582cb01143",
11 "secret" : "mdb_sa_sk_...hcOL"
12 } ]
13}

戻る

1 つのプロジェクト サービス アカウントを取得