1 つのプロジェクト サービス アカウントのアクセス リスト エントリを作成
項目一覧
- Cloud Managerへのプログラムによるアクセスのための OAuth 2.0認証はプレビュー機能として利用できます。
- 機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。 OAuth2.0 認証を使用するには、 Cloud Manager Public APIへのリクエストで使用する サービス アカウント を作成します。
ベース URL: https://cloud.mongodb.com/api/public/v 1.0
指定されたサービス アカウントに対して 1 つ以上の新しいアクセス リスト エントリを作成します。
Resource
POST /groups/{PROJECT-ID}/serviceAccounts/{CLIENT-ID}/accessList
リクエスト パス パラメーター
名前 | タイプ | 説明 |
---|---|---|
PROJECT-ID | string | ターゲット サービス アカウントが属するプロジェクトの一意の識別子です。 認証済みユーザーがアクセスできるすべてのプロジェクトを取得するには、 /groups エンドポイントを使用します。 |
CLIENT-ID | string | シークレットを作成するサービス アカウントの一意な識別子です。 /groups/{PROJECT- ID}/serviceAccounts エンドポイントを使用して、指定されたプロジェクトに対して認証済みユーザーがアクセスできるすべてのサービス アカウントを取得します。 |
リクエスト クエリ パラメータ
次のクエリ パラメータは 任意です。
名前 | タイプ | 説明 | default | ||||||
---|---|---|---|---|---|---|---|---|---|
pageNum | integer | ページ番号(1 インデックス ベース)。 | 1 | ||||||
itemsPerPage | integer | 1 ページあたりに返す項目の数は最大 500 です。 | 100 | ||||||
pretty | ブール値 | レスポンス本体を pretty-print にするかどうかを示します 形式。 | false | ||||||
envelope | ブール値 | 応答をエンベロープでラップするかどうかを示します。 一部の APIクライアントは、 HTTPレスポンス ヘッダーまたはステータス コードにアクセスできません。 これを修正するには、クエリで 1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。
結果のリストを返すエンドポイントの場合、 | なし |
リクエスト ボディ パラメータ
プロジェクトに追加する 1 つのアクセス リスト エントリを表すドキュメントの配列を指定します。 プロジェクトに 1 つのアクセス リスト エントリのみを関連付けるための配列を指定する必要があります。
アクセス リストにまだ存在しないipAddress
またはcidrBlock
値を含むPOST
リクエストを送信すると、Cloud Manager はそれらのエントリをアクセス リスト内の既存のエントリのリストに追加します。 Cloud Manager では、リクエストで指定されたエントリのみを含むアクセス リストは設定しません。
次の表では、 [i]
は配列インデックスを表します。
名前 | タイプ | 説明 |
---|---|---|
[i].ipAddress | string | サービス アカウントのアクセス リストに追加するIPアドレス。 このフィールドは、 cidrBlock フィールドと相互に排他的です。 |
[i].cidrBlock | string | サービス アカウントに追加する CIDR 表記のアクセス リスト エントリ。このフィールドは、 ipAddress フィールドと相互に排他的です。 |
応答
応答ドキュメント
レスポンスJSONドキュメントには、 resultオブジェクトの配列、 linkオブジェクトの配列、および取得されたresultオブジェクトの合計数が含まれます。
名前 | タイプ | 説明 |
---|---|---|
results | 配列 | 配列には、 results 埋め込みドキュメントセクションに詳細な項目ごとに 1 つのオブジェクトが含まれます。 |
links | 配列 | 配列には、サブリソースや関連リソースへの 1 つ以上のリンクが含まれます。 URL 間の関係は、 Web リンク仕様 で説明されています。 |
totalCount | 数値 | 結果セット内の項目の合計数の整数。 結果セット全体がページ分割される場合は、 results配列内のオブジェクト数よりも大きくなる可能性があります。 |
results
embeddedDocument
results
配列内の各オブジェクトは、1 つのアクセス リスト エントリです。
名前 | タイプ | 説明 |
---|---|---|
cidrBlock | string | アクセス リスト内の IP アドレスの CIDR 表記範囲。 |
requestCount | 数値 | この IP アドレスから送信されたリクエストの合計数。 |
createdAt | date | この IP アドレスがアクセス リストに追加された日付。 |
ipAddress | string | アクセス リスト内の IP アドレス。 |
lastUsedAt | date | この IP アドレスから送信された最新のリクエストの日付。 このフィールドは、少なくとも 1 つのリクエストがこの IP アドレスから送信された場合にのみ表示され、アクセス リストからリソースが検索されたときにのみ更新されます。 |
lastUsedAddress | string | API への最後の呼び出しが発行された IP アドレス。 このフィールドは、少なくとも 1 つのリクエストがこの IP アドレスから発生した場合にのみ表示されます。 |
リクエストの例
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}/serviceAccounts/{CLIENT-ID}/accessList?pretty=true" \ 6 --data ' 7 [{ 8 "ipAddress" : "77.54.32.11" 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 "links" : [ { 3 "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/serviceAccounts/{CLIENT-ID}/accessList?pretty=true&pageNum=1&itemsPerPage=100", 4 "rel" : "self" 5 } ], 6 "results" : [ { 7 "cidrBlock" : "206.252.195.126/32", 8 "requestCount" : 47, 9 "createdAt" : "2019-01-24T16:26:37Z", 10 "ipAddress" : "206.252.195.126", 11 "lastUsed" : "2019-01-25T16:32:47Z", 12 "lastUsedAddress" : "206.252.195.126" 13 14 } ], 15 "totalCount" : 1 16 }