Ops Managerのインストール時に、IDキー(MongoDBに接続する際に、インストール環境が自身の身元を証明するために使用するキーペア)が生成されます。組織外の人物が秘密鍵を入手した場合、キーが侵害され、インストール環境になりすますことが可能になります。
このエンドポイントを使用して、IDキーをローテーションします。ローテーションを実行すると、キーが新しいキーペアに置き換えられます。ローテーションが失敗した場合、Ops Managerは変更を適用せず、現在のキーがアクティブなままになります。レスポンスには、ローテーションの結果が必ず含まれます。
重要
キーをローテーションするには、Ops Managerのインストール環境がMongoDBに接続できる必要があります。接続できない場合、エンドポイントはHTTPステータス502と結果UNREACHABLEまたはEA_UNAVAILABLEを返します。
必須のロール
このリソースにアクセスするには、 APIキーにGlobal Ownerロールが付与されている必要があります。グローバルオーナーロールは、Ops Managerにおける最高位のロールです。このロールを持つユーザーのみがライセンスキーを表示および管理できます。
リクエスト
ローテーションを開始するには、 POSTリクエストを送信してください。
ベース URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
POST /admin/artifacts/identity/rotateリクエスト パス パラメーター
このエンドポイントは、HTTP リクエスト パス パラメーターを使用しません。
リクエスト クエリ パラメータ
このエンドポイントは、以下のクエリパラメータを受け付けます。
名前 | タイプ | 必要性 | 説明 | default |
|---|---|---|---|---|
pretty | ブール値 | 任意 | レスポンス本体をpretty-print形式にするかどうかを示すフラグ。 |
|
envelope | ブール値 | 任意 | 応答をエンベロープでラップするかどうかを示すフラグ。 一部の API クライアントは、HTTP レスポンス ヘッダーまたはステータス コードにアクセスできません。これを修正するには、クエリで envelope=true を設定します。 1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。
|
|
リクエスト ボディ パラメータ
このエンドポイントは、HTTP リクエスト本体パラメータを使用しません。
応答
レスポンスには以下のフィールドが含まれます。
フィールド | タイプ | 説明 |
|---|---|---|
| string | ローテーションの結果。Ops Manager は、次の表のいずれかの値を返します。 |
| string | オペレーションマネージャーがローテーションを適用しなかった理由を説明する文。結果が |
以下の表は、各結果とそのHTTPステータスおよびメッセージを一覧にしたものです。
結果 | HTTP Status | メッセージ |
|---|---|---|
| 200 | オペレーションマネージャーはメッセージを返しません。 |
| 502 | MongoDBに接続できず、キーのローテーションを完了できませんでした。変更は適用されず、現在のキーは有効なままです。しばらくしてからもう一度お試しください。 |
| 502 | MongoDB Enterprise Advanced サービスは現在ご利用いただけません。変更は適用されていません。現在のキーは引き続き有効です。しばらくしてからもう一度お試しください。 |
| 409 | 現時点では、ローテーション対象となる登録IDは存在しません。登録IDは初回インストール時に作成されます。 |
| 409 | MongoDBはローテーションによる所有権証明を拒否しました。現在のキーは引き続き有効です。MongoDBアカウントチームにお問い合わせください。 |
| 409 | 登録IDが同時に変更されました。変更は適用されませんでした。しばらくしてから再度お試しください。 |
| 409 | MongoDBはローテーション要求を拒否しました。現在のキーは引き続き有効です。 |
リクエストの例
curlを使用してPOSTリクエストを/admin/artifacts/identity/rotateエンドポイントに送信します。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --include \ --request POST \ "https://<OpsManagerHost>:<Port>/api/public/v1.0/admin/artifacts/identity/rotate?pretty=true"応答例
以下の例は、リクエストが正常に処理された場合のレスポンスヘッダーとレスポンスボディを示しています。
応答ヘッダー
以下のヘッダーは、不正アクセス時の応答と正常な応答を示しています。
HTTP/1.1 401 UnauthorizedContent-Type: application/json;charset=ISO-8859-1Date: {dateInUnixFormat}WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=falseContent-Length: {requestLengthInBytes}Connection: keep-aliveHTTP/1.1 200 OKVary: Accept-EncodingContent-Type: application/jsonStrict-Transport-Security: max-age=300Date: {dateInUnixFormat}Connection: keep-aliveContent-Length: {requestLengthInBytes}X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}レスポンス本体
以下の例は、レスポンスボディを示しています。
{ "outcome": "ROTATED", "message": null}