AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

サービス アカウント付きのCloud Managerへのプログラムによるアクセス

APIのみを使用して組織またはプロジェクトへのプログラムによるアクセスを許可するには、 APIキーまたはサービス アカウントを作成します。これにより、ユーザー名とパスワードとして機能するキーとアクセス トークンがネットワーク経由で送信されることがなくなります。 APIキーと サービス アカウント

  • UIを介してCloud Managerにログするために使用することはできません。

  • APIキーとサービス アカウントで、エラーなくAPIエンドポイントを呼び出せるようにするには、ユーザーと同様にロールを付与する必要があります。

  • は 1 つの組織に属していますが、その組織内の任意の数のプロジェクトにアクセスできます。

これら 2 つの認証方法の詳細については、「 認証 」を参照してください。

注意

必要な権限

任意のロールを持つ組織への、プログラムによるアクセスを表示できます。

その他のアクションを実行するには、Organization Owner ロールが必要です。

API キーまたはサービス アカウントを通じて、プログラムによって組織へのアクセス権を付与するには、以下の手順を使用します。これら 2 つの認証方法の詳細については、「認証」を参照してください。

1
  1. まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。

アプリケーション ページが表示されます。

2
3
  1. Nameと入力します。

  2. Descriptionと入力します。

  3. Client Secret Expiration メニューから期間を選択します。

  4. [Organization Permissions] メニューから、サービスアカウントの新しいロールを選択します。

4
5

クライアント シークレットは、アクセス トークンを作成するときにパスワードとして機能します。

警告

クライアント シークレットをすべて見ることができるのはこの時だけです。[Copy] をクリックして、安全な場所に保存します。それ以外の場合は、新しいクライアント シークレットを作成する必要があります。

6
  1. [Add Access List Entry] をクリックします。

  2. Cloud Managerがこのサービス APIIPアカウントのAPIリクエストを受け入れるIPアドレスまたは CIDR ブロックを入力します。Cloud Manager

    Use Current IP AddressCloud Managerにアクセスするために使用しているホストもこのサービス アカウントを使用してAPIリクエストを行う場合は、 をクリックすることもできます。

  3. [Save] をクリックします。

組織へのアクセス権を持つすべてのAPIキーまたはサービス アカウントの詳細を表示できます。

1
  1. まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。

アプリケーション ページが表示されます。

2
3

組織へのアクセス権を持つすべてのサービス アカウントが表示されます。

サービス アカウントの名前をクリックすると、次のような詳細が表示されます。

  • サービス アカウントの難読化されたクライアントシークレット

  • クライアントシークレットが最後に使用された日付

  • クライアントシークレットが作成された日付

  • The IP addresses from which the service account can access the API

  • サービス アカウントに割り当てられたロール

組織内のAPIキーまたはサービス アカウントのロール、説明、またはアクセス リストを変更できます。サービス アカウント用に新しいクライアントシークレットを生成することもできます。

1
  1. まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。

アプリケーション ページが表示されます。

2
3
4

Name または Description を変更するには、 をクリックします。

5
  1. クリック Generate New Client Secret

  2. メニューからクライアントシークレットの期間を選択します。 この期間が経過すると、クライアントシークレットは期限切れになります。

  3. [Generate New] をクリックします。

  4. Copy をクリックして、クライアントシークレットを安全な場所に保存します。この時間は、完全なクライアントシークレットを表示できる唯一の時間です。

6
  1. [Edit Permissions] をクリックします。

  2. Organization Permissionsメニューから、サービス アカウントの 新しいロール を選択します。

  3. [Save and next] をクリックします。

    重要

    サービス アカウントの認証情報は、有効期限が切れるか、ユーザーが取り消すまでアクティブのままになります。

7
  1. このサービス アカウントの Cloud Manager が API リクエストを受け入れる元の IP アドレスまたは CIDR ブロックを追加するには、Add Access List Entry をクリックし、 IP アドレスを入力します。

    Use Current IP AddressCloud Managerにアクセスするために使用しているホストもこのサービス アカウントを使用してAPIリクエストを行う場合は、 をクリックすることもできます。

  2. アクセス リストからIPアドレスを削除するには、クリックします許可されIP 。

  3. [Save] をクリックします。

1
  1. まだ表示されていない場合は、以下から目的の組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. サイドバーで、 Identity & Access見出しの下のApplications`をクリックします。

アプリケーション ページが表示されます。

2
3
  1. Click the icon under Actions to the right of the service account you want to delete.

  2. [Delete] をクリックします。

組織からサービス アカウントを削除すると、サービス アカウントがアクセスを許可されていたすべてのプロジェクトからもそのサービス アカウントが削除されます。

注意

必要な権限

任意のロールを持つプロジェクトへの、プログラムによるアクセスを表示できます。

その他のアクションを実行するには、Project User Admin ロールが必要です。

API キーまたはサービス アカウントのいずれかを使用して、プロジェクトへのプログラムによるアクセス権を許可するには、次の手順に従ってください。これら 2 つの認証方法の詳細については、「認証」を参照してください。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. サイドバーで、Project Settings をクリックします。

    [ Project Settings ]ページが表示されます。

2

サイドバーで、 Identity & Access見出しの下のApplicationsをクリックします。

アプリケーション ページが表示されます。

3
4
  1. Nameと入力します。

  2. Descriptionと入力します。

  3. Client Secret Expiration メニューから期間を選択します。

  4. [Project Permissions(プロジェクト権限)] メニューから、サービスアカウントの新しいロールを選択します。

5
6

クライアント シークレットは、アクセス トークンを作成するときにパスワードとして機能します。

警告

クライアント シークレットをすべて見ることができるのはこの時だけです。[Copy] をクリックして、安全な場所に保存します。それ以外の場合は、新しいクライアント シークレットを作成する必要があります。

7
  1. [Add Access List Entry] をクリックします。

  2. Cloud Managerがこのサービス APIIPアカウントのAPIリクエストを受け入れるIPアドレスまたは CIDR ブロックを入力します。Cloud Manager

    Use Current IP AddressCloud Managerにアクセスするために使用しているホストもこのサービス アカウントを使用してAPIリクエストを行う場合は、 をクリックすることもできます。

  3. [Save] をクリックします。

プロジェクトへのアクセス権を持つすべてのAPIキーまたはサービス アカウントの詳細を表示できます。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. サイドバーで、Project Settings をクリックします。

    [ Project Settings ]ページが表示されます。

2

サイドバーで、 Identity & Access見出しの下のApplicationsをクリックします。

アプリケーション ページが表示されます。

3

プロジェクトへのアクセス権を持つすべてのサービス アカウントが表示されます。

サービス アカウントの名前をクリックすると、次のような詳細が表示されます。

  • サービス アカウントの難読化されたクライアントシークレット

  • クライアントシークレットが最後に使用された日付

  • クライアントシークレットが作成された日付

  • The IP addresses from which the service account can access the API

  • サービス アカウントに割り当てられたロール

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. サイドバーで、Project Settings をクリックします。

    [ Project Settings ]ページが表示されます。

2

サイドバーで、 Identity & Access見出しの下のApplicationsをクリックします。

アプリケーション ページが表示されます。

3
4
5

Name または Description を変更するには、 をクリックします。

6
  1. クリック Generate New Client Secret

  2. メニューからクライアントシークレットの期間を選択します。 この期間が経過すると、クライアントシークレットは期限切れになります。

  3. [Generate New] をクリックします。

  4. Copy をクリックして、クライアントシークレットを安全な場所に保存します。この時間は、完全なクライアントシークレットを表示できる唯一の時間です。

7
  1. [Edit Permissions] をクリックします。

  2. Project Permissionsメニューから、サービス アカウントの 新しいロール を選択します。

  3. [Save and next] をクリックします。

    重要

    サービス アカウントの認証情報は、有効期限が切れるか、ユーザーが取り消すまでアクティブのままになります。

8
  1. このサービス アカウントの Cloud Manager が API リクエストを受け入れる元の IP アドレスまたは CIDR ブロックを追加するには、Add Access List Entry をクリックし、 IP アドレスを入力します。

    Use Current IP AddressCloud Managerにアクセスするために使用しているホストもこのサービス アカウントを使用してAPIリクエストを行う場合は、 をクリックすることもできます。

  2. アクセス リストからIPアドレスを削除するには、クリックします許可されIP 。

  3. [Save] をクリックします。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. サイドバーで、Project Settings をクリックします。

    [ Project Settings ]ページが表示されます。

2

サイドバーで、 Identity & Access見出しの下のApplicationsをクリックします。

アプリケーション ページが表示されます。

3
4
  1. Click the icon under Actions to the right of the service account you want to remove from the project.

  2. [Remove from this project] をクリックします。

重要

サービス アカウントは引き続き組織内に存在し、有効期限が切れるか手動で取り消されるまで、既存の認証情報はアクティブのままになります。

Cloud Manager API は、API キーまたはサービス アカウントという 2 つの認証方法のいずれかを使用してリクエストを認証します。次の手順を完了するには、希望する認証方法を構成するときに保存したキーまたはシークレットが必要です。

サービス アカウントを使用して API リクエストを行うには、サービス アカウントを使用してアクセス トークンを生成し、そのアクセス トークンをリクエストで使用します。

1

サービスアカウントの作成直後に保存した、mdb_sa_sk_ で始まるクライアント シークレットを見つけます。クライアント シークレットを表示できるのは、このときだけです。クライアント シークレットを保存しなかった場合は、新しいクライアント シークレットを生成する必要があります。

2

たとえば、次を実行します。

echo -n {clientId}:{clientSecret} | base64 -w0
3

次の例の {base64Auth} を前のステップの出力に置き換え、実行します。

curl --request POST \ --url https://cloud.mongodb.com/api/oauth/token \ --header 'accept: application/json' \ --header 'cache-control: no-cache' \ --header 'authorization: Basic {base64Auth}' \ --header 'content-type: application/x-www-form-urlencoded' \ --data 'grant_type=client_credentials'
{"access_token":"{accessToken}""expires_in":3600,"token_type":"Bearer"}%

重要

アクセス トークンは 1 時間(3600 秒)有効です。アクセス トークンを更新することはできません。このアクセス トークンの有効期限が切れたら、この手順を繰り返して新しいアクセス トークンを生成します。

4

次の例の {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" }'