1 つのプロジェクトに 1 つの組織 API キーを作成・割り当て
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 /groups/{PROJECT-ID}/apiKeys
リクエスト パス パラメーター
名前 | タイプ | 説明 |
---|---|---|
PROJECT-ID | string | APIキーを取得するプロジェクトの一意の識別子。 認証済みユーザーがアクセスできるすべての組織を取得するには、 /groupsエンドポイントを使用します。 |
リクエスト クエリ パラメータ
次のクエリ パラメータは 任意です。
名前 | タイプ | 説明 | default | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | ページ番号(1 インデックス ベース)。 | 1 | ||||||
itemsPerPage | integer | 1 ページあたりに返す項目の数は最大 500 です。 | 100 | ||||||
pretty | ブール値 | レスポンス本体を pretty-print にするかどうかを示します 形式。 | false | ||||||
envelope | ブール値 | 応答をエンベロープでラップするかどうかを示します。 一部のAPIクライアントは、 HTTPレスポンス ヘッダーまたはステータス コードにアクセスできません。 これを修正するには、クエリで 1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。
結果のリストを返すエンドポイントの場合、 | なし |
リクエスト ボディ パラメータ
2 つの本体パラメーターのうち少なくとも 1 つが必要です。
名前 | タイプ | 説明 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | string | APIキーの説明。 1250長さは 文字と 文字の間でなくてはなりません。 | ||||||||||||||||||||||
roles | string 配列 | APIキーが持つ必要があるロールのリスト。
プロジェクト ロールには、以下が含まれます。
|
応答
名前 | タイプ | 説明 | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
desc | string | このプロジェクトに割り当てられた組織APIキーの説明。 | ||||||||||||||||||||||||||||||||||||
id | string | このプロジェクトに割り当てられた組織APIキーの一意の識別子。 | ||||||||||||||||||||||||||||||||||||
privateKey | string | このプロジェクトに割り当てられた組織APIキーの編集済み秘密キー。 このキーは、最初に作成したときは編集されずに表示されます。 | ||||||||||||||||||||||||||||||||||||
publicKey | string | このプロジェクトに割り当てられた組織APIキーの公開キー。 | ||||||||||||||||||||||||||||||||||||
roles | オブジェクト配列 | このプロジェクトに割り当てられたこの組織APIキーが持つロール。 この配列は、Cloud Manager でユーザーが持っているすべての組織ロールとプロジェクト ロールを返します。 | ||||||||||||||||||||||||||||||||||||
roles.groupId | string | このロールが属するプロジェクトの一意の識別子。 | ||||||||||||||||||||||||||||||||||||
roles.orgId | string | このロールが属する組織の一意の識別子。 | ||||||||||||||||||||||||||||||||||||
roles.roleName | string | ロールの名前。 このリソースは、Cloud Managerでユーザーが持っているすべてのロールを返します。 可能な値は次のとおりです。 組織ロール これが
プロジェクト ロール これが
|
リクエストの例
注意
リクエストを行うユーザーは、 {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 POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/apiKeys?pretty=true" \ 6 --data '{ 7 "desc" : "New API key for test purposes", 8 "roles": ["GROUP_READ_ONLY", "GROUP_DATA_ACCESS_ADMIN"] 9 }'
応答例
応答ヘッダー
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 "desc" : "New API key for test purposes", 3 "id" : "5d1d143c87d9d63e6d694746", 4 "links" : [ { 5 "href" : "https://cloud.mongodb.com/api/public/v1.0/orgs/5980cfe20b6d97029d82fa63/apiKeys/5d1d143c87d9d63e6d694746", 6 "rel" : "self" 7 } ], 8 "privateKey" : "********-****-****-db2c132ca78d", 9 "publicKey" : "{PUBLIC-KEY}", 10 "roles" : [ { 11 "groupId" : "{PROJECT-ID}", 12 "roleName" : "GROUP_READ_ONLY" 13 }, { 14 "groupId" : "{PROJECT-ID}", 15 "roleName" : "GROUP_DATA_ACCESS_ADMIN" 16 }, { 17 "orgId" : "5980cfe20b6d97029d82fa63", 18 "roleName" : "ORG_BILLING_ADMIN" 19 } ] 20 }