1 つのプロジェクト サービス アカウントの詳細を変更
- Cloud Managerへのプログラムによるアクセスのための OAuth 2.0認証はプレビュー機能として利用できます。
- 機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。 OAuth2.0 認証を使用するには、 Cloud Manager Public APIへのリクエストで使用する サービス アカウント を作成します。
ベース URL: https://cloud.mongodb.com/api/public/v 1.0
Resource
PATCH /groups/{PROJECT-ID}/serviceAccounts/{CLIENT-ID}
リクエスト パス パラメーター
名前 | タイプ | 説明 |
---|---|---|
| string | サービス アカウントを更新するプロジェクトの一意の識別子です。 認証済みユーザーがアクセスできるすべてのプロジェクトを取得するには、 /groups エンドポイントを使用します。 |
| string | 更新対象のサービス アカウントの一意な識別子です。 /groups/{PROJECT- ID}/serviceAccounts エンドポイントをリクエストして、指定されたプロジェクトで認証済みユーザーがアクセスできるすべてのサービス アカウントを取得します。 |
リクエスト クエリ パラメータ
次のクエリ パラメータは 任意です。
名前 | タイプ | 説明 | default | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | ページ番号(1 インデックス ベース)。 |
| ||||||
itemsPerPage | integer | 1 ページあたりに返す項目の数は最大 500 です。 |
| ||||||
pretty | ブール値 | レスポンス本体を pretty-print にするかどうかを示します 形式。 |
| ||||||
envelope | ブール値 | 応答をエンベロープでラップするかどうかを示します。 一部の APIクライアントは、 HTTPレスポンス ヘッダーまたはステータス コードにアクセスできません。 これを修正するには、クエリで 1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。
結果のリストを返すエンドポイントの場合、 | なし |
リクエスト ボディ パラメータ
body パラメーターは必須です。
名前 | タイプ | 必要性 | 説明 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| string | 任意 | サービス アカウントの名前。 使用可能な文字は、 | ||||||||||||||||||||||
| string | 任意 | サービス アカウントの説明。 使用可能な文字は、 | ||||||||||||||||||||||
| string 配列 | 必須 | サービス アカウントに付与するロールのリスト。 少なくとも 1 つのロールを指定する必要があります。 提供されたロールは、割り当てられたプロジェクトに対して有効である必要があります。
このサービス アカウントに含めるすべてのロールを含めます。 この配列にないロールは削除されます。 |
応答
名前 | タイプ | 説明 |
---|---|---|
| string | サービス アカウントのユニーク識別子です。 |
| タイムスタンプ | サービス アカウントの作成時間。 |
| string | サービス アカウントの名前。 |
| string | サービス アカウントの説明。 |
| string 配列 | プロジェクト内でサービス アカウントが持つロールの一覧。 プロジェクト ロールには、以下が含まれます。 |
| オブジェクト配列 | サービス アカウント シークレットのリスト。 |
| string | シークレットを識別する一意の 24桁の 16 進数文字列。string |
| タイムスタンプ | シークレットの作成時間を表すタイムスタンプ。 |
| タイムスタンプ | シークレットの有効期限を表すタイムスタンプ。 |
| タイムスタンプ | 前回のシークレット使用を表すタイムスタンプ。 |
| string | プレフィックスと最後の 4 文字のみを表示するマスクされたシークレット。 |
リクエストの例
注意
リクエストを行うユーザーは、 {PUBLIC-KEY}:{PRIVATE-KEY}
としてフォーマットできます。
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --include \ 5 --request PATCH "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/serviceAccounts/{CLIENT-ID}?pretty=true" \ 6 --data '{ 7 "roles": [ "GROUP_OWNER" ] 8 }'
応答例
応答ヘッダー
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
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-04T01:16:21Z", 3 "description" : "Service account for Cloud Manager users.", 4 "clientId" : "mdb_sa_id_66aed6653e07126244a84cc1", 5 "name" : "Cloud Manager service account", 6 "roles" : [ "GROUP_OWNER" ], 7 "secrets" : [ { 8 "createdAt" : "2024-08-04T01:16:21Z", 9 "expiresAt" : "2024-11-02T01:16:21Z", 10 "lastUsedAt" : "2024-08-24T21:10:35Z", 11 "id" : "66aed6653e07126244a84cc0", 12 "maskedSecretValue" : "mdb_sa_sk_...MeyM" 13 } ] 14 }