サービス アカウントの作成
Cloud Manager は、 2024年8月30日でMongoDB 3.6と4.0のオートメーション、バックアップおよびモニタリングのサポートを終了します。 MongoDB の配置をアップグレードするか、Atlas に移行してください。
- Cloud Managerへのプログラムによるアクセスのための OAuth 2.0認証はプレビュー機能として利用できます。
- 機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。 OAuth2.0 認証を使用するには、 Cloud Manager Public APIへのリクエストで使用する サービス アカウント を作成します。
ベース URL: https://cloud.mongodb.com/api/public/v 1.0
Resource
POST /orgs/{ORG-ID}/serviceAccounts
リクエスト パス パラメーター
名前 | タイプ | 説明 |
---|---|---|
ORG-ID | string | サービス アカウントを作成する組織の一意な識別子です。認証済みユーザーがアクセスできるすべての組織を取得するには、 /orgs エンドポイントを使用します。 |
リクエスト クエリ パラメータ
次のクエリ パラメータは 任意です。
名前 | タイプ | 説明 | default | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | ページ番号(1 インデックス ベース)。 | 1 | ||||||
itemsPerPage | integer | 1 ページあたりに返す項目の数は最大 500 です。 | 100 | ||||||
pretty | ブール値 | レスポンス本体を pretty-print にするかどうかを示します 形式。 | false | ||||||
envelope | ブール値 | 応答をエンベロープでラップするかどうかを示します。 一部の APIクライアントは、 HTTPレスポンス ヘッダーまたはステータス コードにアクセスできません。 これを修正するには、クエリで 1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。
結果のリストを返すエンドポイントの場合、 | なし |
リクエスト ボディ パラメータ
すべての本体パラメータが必要です。
名前 | タイプ | 説明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | サービス アカウントの名前。 使用可能な文字は、 A-Z 、a-z 、0-9 、スペース、ピリオド . 、アスタリスク ' 、カンマ, 、アンダースコア _ 、ダッシュ - です。 | ||||||||||||||
description | string | サービス アカウントの説明。 長さは 1 文字と 250 文字の間でなくてはなりません。使用可能な文字は、 A-Z 、a-z 、0-9 、スペース、ピリオド . 、アスタリスク ' 、カンマ, 、アンダースコア _ 、ダッシュ - です。 | ||||||||||||||
secretExpiresAfterHours | string | このサービス アカウントのシークレットが期限切れになる時間数。 最大は 1 年(8766 時間)です。 | ||||||||||||||
roles | string 配列 | サービス アカウントが持つ必要があるロールのリスト。 少なくとも 1 つのロールがリストされ、すべてのロールは組織に対して有効である必要があります。 組織ロールには、以下が含まれます。
|
応答
名前 | タイプ | 説明 |
---|---|---|
clientId | string | サービス アカウントのユニーク識別子です。 |
description | string | サービス アカウントの説明。 使用可能な文字は、 A-Z 、a-z 、0-9 、スペース、ピリオド . 、アスタリスク ' 、カンマ, 、アンダースコア _ 、ダッシュ - です。 |
name | string | サービス アカウントの名前。 使用可能な文字は、 A-Z 、a-z 、0-9 、スペース、ピリオド . 、アスタリスク ' 、カンマ, 、アンダースコア _ 、ダッシュ - です。 |
createdAt | タイムスタンプ | サービス アカウントの作成時間。 |
secrets | オブジェクト配列 | サービス アカウント シークレットのリスト。 |
secrets.id | string | シークレットを識別する一意の 24桁の 16 進数文字列。string |
secrets.secret | string | サービス アカウント シークレット。作成時にのみ利用可能です。 |
secrets.maskedSecretValue | string | プレフィックスと最後の 4 文字のみを表示するマスクされたシークレット。 |
secrets.createdAt | タイムスタンプ | シークレットの作成時間を表すタイムスタンプ。 |
secrets.lastUsedAt | タイムスタンプ | 前回のシークレット使用を表すタイムスタンプ。 |
secrets.expiresAt | タイムスタンプ | シークレットの有効期限を表すタイムスタンプ。 |
roles | オブジェクト配列 | 組織内でサービス アカウントが持つロールです。 組織ロールには、以下が含まれます。 |
リクエストの例
注意
リクエストを行うユーザーは、 {PUBLIC-KEY}:{PRIVATE-KEY}
としてフォーマットできます。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request POST "https://cloud.mongodb.com/api/public/v1.0/orgs/{ORG-ID}/serviceAccounts?pretty=true" \ --data '{ "name": "Billing", "description": "Service account for users in finance.", "secretExpiresAfterHours": 3600, "roles": ["ORG_MEMBER", "ORG_BILLING_ADMIN"] }'
応答例
応答ヘッダー
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
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
は編集されていません。この例は、セキュリティ上の理由から編集されています。
{ "createdAt" : "2024-08-02T18:07:25Z", "description" : "Service account for users in finance.", "clientId" : "mdb_sa_id_66ad205d181fc82b21b336e3", "name" : "Billing", "roles" : [ "ORG_MEMBER", "ORG_BILLING_ADMIN" ], "secrets" : [ { "createdAt" : "2024-08-02T18:07:25Z", "expiresAt" : "2024-12-30T18:07:24Z", "id" : "66ad205d181fc82b21b336e2", "secret" : "mdb_sa_sk_***********************************3Yylw" } ] }