Docs Menu

Assign One Organization Service Account to Project

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

POST /groups/{PROJECT-ID}/serviceAccounts/{CLIENT-ID}:invite
名前
タイプ
説明

PROJECT-ID

string

Unique identifier for the Project whose service accounts you want to update. Use the /groups endpoint to retrieve all organizations to which the authenticated user has access.

CLIENT-ID

string

Unique identifier for the service account you want to update. Request the /groups/{PROJECT- ID}/serviceAccounts endpoint to retrieve all service accounts to which the authenticated user has access for the specified organization.

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

名前
タイプ
説明
default

pageNum

integer

ページ番号(1 インデックス ベース)。

1

itemsPerPage

integer

1 ページあたりに返す項目の数は最大 500 です。

100

pretty

ブール値

レスポンス本体が pretty-print 内であるかどうかを示します 形式。

false

envelope

ブール値

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

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

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

名前
説明

status

HTTPレスポンス コード

content

期待される応答本体

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

なし

名前
タイプ
必要性
説明

roles

配列

必須

サービス アカウントに付与するロールのリスト。 少なくとも 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

クエリ要素envelopetrueに設定すると、応答はcontentオブジェクトによってラップされます。

HTTP レスポンスでは、次のオブジェクトを含む JSON document が返されます。

名前
タイプ
説明

clientId

string

サービス アカウントのユニーク識別子です。

createdAt

タイムスタンプ

サービス アカウントの作成時間。

name

string

サービス アカウントの名前。

description

string

サービス アカウントの説明。

roles

string 配列

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

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

secrets

オブジェクト配列

サービス アカウント シークレットのリスト。

secrets.id

string

シークレットを識別する一意の 24桁の 16 進数文字列。string

secrets.createdAt

タイムスタンプ

シークレットの作成時間を表すタイムスタンプ。

secrets.expiresAt

タイムスタンプ

シークレットの有効期限を表すタイムスタンプ。

secrets.lastUsedAt

タイムスタンプ

前回のシークレット使用を表すタイムスタンプ。

secrets.maskedSecretValue

string

プレフィックスと最後の 4 文字のみを表示するマスクされたシークレット。

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/{CLIENT-ID}:invite?pretty=true" \
6 --data '{
7 "roles": [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_READ_WRITE" ]
8 }'
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 200 OK
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}
1{
2 "createdAt" : "2024-08-03T14:02:40Z",
3 "description" : "Service account for developers.",
4 "clientId" : "mdb_sa_id_66ae38803cdf55582cb01144",
5 "name" : "Dev Service Account",
6 "roles" : [ "GROUP_READ_ONLY", "GROUP_DATA_ACCESS_READ_WRITE" ],
7 "secrets" : [ {
8 "createdAt" : "2024-08-03T14:02:40Z",
9 "expiresAt" : "2024-12-31T14:02:40Z",
10 "id" : "66ae38803cdf55582cb01143",
11 "lastUsedAt" : "2024-08-24T21:10:35Z",
12 "maskedSecretValue" : "mdb_sa_sk_...hcOL"
13 } ]
14}