APIのみを使用して組織またはプロジェクトへのプログラムによるアクセスを許可するには、 APIキーまたはサービス アカウントを作成します。これにより、ユーザー名とパスワードとして機能するキーとアクセス トークンがネットワーク経由で送信されることがなくなります。 APIキーと サービス アカウント
UIを介してCloud Managerにログするために使用することはできません。
APIキーとサービス アカウントで、エラーなくAPIエンドポイントを呼び出せるようにするには、ユーザーと同様にロールを付与する必要があります。
は 1 つの組織に属していますが、その組織内の任意の数のプロジェクトにアクセスできます。
これら 2 つの認証方法の詳細については、「 認証 」を参照してください。
プログラムによる組織へのアクセスを管理
組織へのプログラムによるアクセスの付与
API キーまたはサービスアカウントを使用して、プログラムによって組織へのアクセス権を付与するには、以下の手順を使用します。これら 2 つの認証方法の詳細については、「 認証 」を参照してください。
MongoDB Cloud Managerで、組織の Applications ページに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。
アプリケーション ページが表示されます。
サービスアカウント情報を入力します。
Nameと入力します。
Descriptionと入力します。
Client Secret Expiration メニューから期間を選択します。
[Organization Permissions] メニューから、サービスアカウントの新しいロールを選択します。
MongoDB Cloud Managerで、組織の Applications ページに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。
アプリケーション ページが表示されます。
API Key Informationフォームを完了します。
Add API KeyページのAPI Key Informationステップから以下の操作を行います。
フィールド | 値 |
|---|---|
説明 | 新しいAPIキーの説明を入力します。 |
組織権限 | API キーの 新しいロール を 選択します。 |
組織へのプログラムによるアクセスの表示
組織へのアクセス権を持つすべてのAPIキーまたはサービス アカウントの詳細を表示できます。
MongoDB Cloud Managerで、組織の Applications ページに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。
アプリケーション ページが表示されます。
MongoDB Cloud Managerで、組織の Applications ページに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。
アプリケーション ページが表示されます。
組織へのプログラムによるアクセスを更新
組織内のAPIキーまたはサービス アカウントのロール、説明、またはアクセス リストを変更できます。サービス アカウント用に新しいクライアントシークレットを生成することもできます。
MongoDB Cloud Managerで、組織の Applications ページに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。
アプリケーション ページが表示されます。
Organization Permissionsを編集します。
[Edit Permissions] をクリックします。
Organization Permissionsメニューから、サービス アカウントの 新しいロール を選択します。
[Save and next] をクリックします。
重要
サービス アカウントの認証情報は、有効期限が切れるか、ユーザーが取り消すまでアクティブのままになります。
API Access Listを編集します。
To add an IP address or CIDR block from which you want Cloud Manager to accept API requests for this service account, click Add Access List Entry and type an IP address.
Use Current IP AddressCloud Managerにアクセスするために使用しているホストもこのサービス アカウントを使用してAPIリクエストを行う場合は、 をクリックすることもできます。
アクセス リストからIPアドレスを削除するには、クリックします許可されIP 。
[Save] をクリックします。
MongoDB Cloud Managerで、組織の Applications ページに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。
アプリケーション ページが表示されます。
API Key Informationフォームを完了します。
Add API KeyページのAPI Key Informationステップから以下の操作を行います。
フィールド | 値 |
|---|---|
説明 | 新しいAPIキーの説明を入力します。 |
組織権限 | API キーの 新しいロール を 選択します。 |
組織へのプログラムによるアクセスを取り消す
MongoDB Cloud Managerで、組織の Applications ページに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。
アプリケーション ページが表示されます。
MongoDB Cloud Managerで、組織の Applications ページに移動します。
まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー
サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。
アプリケーション ページが表示されます。
プロジェクトへのプログラムによるアクセスを管理
プロジェクトへのプログラムによるアクセスの付与
API キーまたはサービス アカウントのいずれかを使用して、プロジェクトへのプログラムによるアクセス権を許可するには、次の手順に従います。これら 2 つの認証方法の詳細については、「 認証 」を参照してください。
MongoDB Cloud Managerで、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、Project Settings をクリックします。
[ Project Settings ]ページが表示されます。
サービスアカウント情報を入力します。
Nameと入力します。
Descriptionと入力します。
Client Secret Expiration メニューから期間を選択します。
[Project Permissions(プロジェクト権限)] メニューから、サービスアカウントの新しいロールを選択します。
MongoDB Cloud Managerで、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、Project Settings をクリックします。
[ Project Settings ]ページが表示されます。
API Key Informationフォームを完了します。
Add API KeyページのAPI Key Informationステップから以下の操作を行います。
フィールド | 値 |
|---|---|
説明 | 新しいAPIキーの説明を入力します。 |
プロジェクト権限 | API キーの 新しいロール を 選択します。 |
プロジェクトへのプログラムによるアクセスの表示
プロジェクトへのアクセス権を持つすべてのAPIキーまたはサービス アカウントの詳細を表示できます。
MongoDB Cloud Managerで、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、Project Settings をクリックします。
[ Project Settings ]ページが表示されます。
MongoDB Cloud Managerで、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、Project Settings をクリックします。
[ Project Settings ]ページが表示されます。
プロジェクトへのプログラムによるアクセスを更新
MongoDB Cloud Managerで、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、Project Settings をクリックします。
[ Project Settings ]ページが表示されます。
Project Permissionsを編集します。
[Edit Permissions] をクリックします。
Project Permissionsメニューから、サービス アカウントの 新しいロール を選択します。
[Save and next] をクリックします。
重要
サービス アカウントの認証情報は、有効期限が切れるか、ユーザーが取り消すまでアクティブのままになります。
API Access Listを編集します。
To add an IP address or CIDR block from which you want Cloud Manager to accept API requests for this service account, click Add Access List Entry and type an IP address.
Use Current IP AddressCloud Managerにアクセスするために使用しているホストもこのサービス アカウントを使用してAPIリクエストを行う場合は、 をクリックすることもできます。
アクセス リストからIPアドレスを削除するには、クリックします許可されIP 。
[Save] をクリックします。
MongoDB Cloud Managerで、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、Project Settings をクリックします。
[ Project Settings ]ページが表示されます。
API Key Informationフォームを完了します。
Add API KeyページのAPI Key Informationステップから以下の操作を行います。
フィールド | 値 |
|---|---|
説明 | 新しいAPIキーの説明を入力します。 |
プロジェクト権限 | API キーの 新しいロール を 選択します。 |
プロジェクトへのプログラムによるアクセスを取り消す
MongoDB Cloud Managerで、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、Project Settings をクリックします。
[ Project Settings ]ページが表示されます。
MongoDB Cloud Managerで、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、Project Settings をクリックします。
[ Project Settings ]ページが表示されます。
APIリクエストを行う
Cloud Manager API は、 APIキーまたはサービスアカウントの 2 つの認証方法のいずれかを使用してリクエストを認証します。次の手順を完了するには、希望する認証方法を構成するときに保存したキーまたはシークレットが必要です。
サービス アカウントを使用して API リクエストを行うには、サービス アカウントを使用してアクセス トークンを生成し、そのアクセス トークンをリクエストで使用します。
サービスアカウントのクライアント シークレットを検索します。
サービスアカウントの作成直後に保存した、mdb_sa_sk_ で始まるクライアント シークレットを見つけます。クライアント シークレットを表示できるのは、このときだけです。クライアント シークレットを保存しなかった場合は、新しいクライアント シークレットを生成する必要があります。
アクセス トークンをリクエストします。
次の例の {base64Auth} を前のステップの出力に置き換え、実行します。
1 curl --request POST \ 2 --url https://cloud.mongodb.com/api/oauth/token \ 3 --header 'accept: application/json' \ 4 --header 'cache-control: no-cache' \ 5 --header 'authorization: Basic {base64Auth}' \ 6 --header 'content-type: application/x-www-form-urlencoded' \ 7 --data 'grant_type=client_credentials'
{"access_token":"{accessToken}""expires_in":3600,"token_type":"Bearer"}%
重要
アクセス トークンは 1 時間(3600 秒)有効です。アクセス トークンを更新することはできません。このアクセス トークンの有効期限が切れたら、この手順を繰り返して新しいアクセス トークンを生成します。
API呼び出しを作成します。
次の例の {accessToken} を前のステップの出力に置き換えます。例、 --header 'Authorization: Bearer eyJ...pSnF' \ 。
次のサンプルGETリクエストは、現在のユーザーの すべてのプロジェクトを返します。
curl --request GET \ --url https://cloud.mongodb.com/api/public/v1.0/groups \ --header 'Authorization: Bearer {accessToken}' \ --header 'Accept: application/json' \
次のサンプルPOSTリクエストは、リクエスト本文を受け取り、組織内に MyProject という名前のプロジェクトを作成 します。
curl --header 'Authorization: Bearer {accessToken}' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --include \ --request POST 'https://cloud.mongodb.com/api/public/v1.0/groups' \ --data ' { "name": "MyProject", "orgId": "5a0a1e7e0f2912c554080adc" }'
リクエストは次の例のようになります。ここで、{publicKey} はAPI公開キー、{privateKey} は対応する秘密キーです。
次のサンプルGETリクエストは、現在のユーザーの すべてのプロジェクトを返します。
curl --user "{publicKey}:{privateKey}" --digest \ --header "Accept: application/json" \ --include \ --request GET "https://cloud.mongodb.com/api/public/v1.0/groups?pretty=true"
次のサンプルPOSTリクエストは、リクエスト本文を受け取り、組織内に MyProject という名前のプロジェクトを作成 します。
curl --user "{publicKey}:{privateKey}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://cloud.mongodb.com/api/public/v1.0/groups?pretty=true" \ --data ' { "name": "MyProject", "orgId": "deffb2031b938da53f16d714" }'