API キーの作成
- 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}/apiKeys
リクエスト パス パラメーター
リクエスト クエリ パラメータ
次のクエリ パラメータは 任意です。
名前 | タイプ | 説明 | default | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | ページ番号(1 インデックス ベース)。 |
| ||||||
itemsPerPage | integer | 1 ページあたりに返す項目の数は最大 500 です。 |
| ||||||
pretty | ブール値 | レスポンス本体を pretty-print にするかどうかを示します 形式。 |
| ||||||
envelope | ブール値 | 応答をエンベロープでラップするかどうかを示します。 一部の APIクライアントは、 HTTPレスポンス ヘッダーまたはステータス コードにアクセスできません。 これを修正するには、クエリで 1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。
結果のリストを返すエンドポイントの場合、 | なし |
リクエスト ボディ パラメータ
すべての本体パラメータが必要です。
名前 | タイプ | 説明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| string | API キーの説明。 長さが 1 文字から 250 文字の間である必要があります。 | ||||||||||||||
| string 配列 | API キーが持つ必要があるロールのリスト。 少なくとも 1 つのロールがリストされ、すべてのロールは組織に対して有効である必要があります。 組織ロールには、以下が含まれます。
|
応答
名前 | タイプ | 説明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| string | API キーの一意の識別子 | ||||||||||||||
| string | API キーの説明 | ||||||||||||||
| string | API キーの秘密キー。 このキーは、作成時にのみ編集されません。 | ||||||||||||||
| string | API キーの公開キー | ||||||||||||||
| オブジェクト配列 | API キーが持つロール | ||||||||||||||
| string |
| ||||||||||||||
| string | ロールの名前。
|
リクエストの例
注意
リクエストを行うユーザーは、 {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}/apiKeys?pretty=true" \ --data '{ "desc" : "New API key for test purposes", "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
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}
レスポンス本体
注意
privateKey
はレスポンス本文に編集されていない状態で表示されます。 この例は、セキュリティ上の理由から編集されています。
{ "desc" : "New API key for test purposes", "id" : "{API-KEY-ID}", "links" : [ { "href" : "https://cloud.mongodb.com/api/public/v1.0/orgs/{ORG-ID}/apiKeys/{API-KEY-ID}", "rel" : "self" } ], "privateKey" : "********-****-****-db2c132ca78d", "publicKey" : "{PUBLIC-KEY}", "roles" : [ { "orgId" : "{ORG-ID}", "roleName" : "ORG_BILLING_ADMIN" }, { "orgId" : "{ORG-ID}", "roleName" : "ORG_MEMBER" } ] }