Docs Menu
Docs Home
/ /
Atlas App Services
/

ユーザー アカウントの管理

項目一覧

  • Overview
  • ユーザーを削除する
  • ユーザーの手動削除
  • SDK でのユーザーの削除
  • カスタム関数を持つユーザーの削除
  • ユーザーを無効にする
  • ユーザーを有効にする

App Services UI、App Services CLI、管理 API、Realm SDK のいずれかを使用して、アプリケーションのユーザー アカウントを管理できます。

メタデータや認証プロバイダの ID を含め、アプリケーションからユーザーを完全に削除できます。 ユーザーを削除すると、そのユーザーに関連付けられているセッションも直ちに終了します。

Tip

ユーザーのアカウントを削除したくない場合は、 がユーザーのアカウントを無効にして、アクセスを一時的に一時停止できます。

App Services UI、CLI、または管理 API を使用して、ユーザーアカウントを手動で削除できます。

  1. 左側のナビゲーション メニューから [ App Usersを選択します。

  2. 削除するユーザーの現在の状態に応じて、 ConfirmedまたはPendingのいずれかを選択します。

  3. [ Usersタブで、リスト内のユーザーを検索し、省略記号( ... )をクリックします。

  4. [ Delete Userをクリックして選択を確定します。

ユーザーを削除するには、 appservices users deleteを呼び出します。 CLI では、アプリ ID の入力を求められ、選択するアプリのユーザーが一覧表示されます。

appservices users delete

プログラムを呼び出すときに引数を指定することもできます。

appservices users delete \
--app=<Your App ID> \
--user=<User ID>

Tip

id値をカンマ区切りのリストとして指定することで、1 つのコマンドで複数のユーザーを削除できます。

appservices users delete --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a

ユーザーを削除するには、次の形式でDELETEリクエストを作成します。 グループ、アプリ、ユーザー ID を指定する必要があります。

curl --request DELETE \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>

保留中のメール/パスワード ユーザーを削除する場合は、次の形式でリクエストを作成します。

curl --request DELETE \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/by_email/<email>

Tip

以下も参照してください。

注意

App Services は、リンクされた MongoDB Atlas クラスター内の削除されたユーザーに関連付けられたデータを自動的に削除しません。 たとえば、アプリケーションでユーザーがowner_idフィールドに ID を含めてユーザーにリンクしたデータを作成できる場合、ユーザー オブジェクトを削除しても、ユーザーが作成したリンク データは削除されません。 削除されたユーザーのすべての追跡を排除するには、このようなドキュメントを手動で削除または変更する必要があります。

Realm SDK を使用してユーザーを削除するときに、クライアント アプリケーションから自分のアカウントを削除するオプションをユーザーに付与できます。

ユーザーを削除するカスタム関数を記述できます。 SDK がまだ削除 API をサポートしていない場合は、これを実行することをお勧めします。

Application Authenticationを使用する以下の例のような関数を作成します。 関数が正常に認証されない場合や、呼び出し元のユーザーを削除できない場合のエラー処理を組み込む必要がある場合があります。

このサンプル関数では、 adminApiPublicKey と adminApiPrivateKey の値とシークレットを作成しました。 次に、プロジェクト ID とアプリケーション IDapiUrlに追加します。

この関数は、 SDK から呼び出すことができます。 以下のサンプル関数は引数をとらず、関数を呼び出すユーザーを削除します。

Tip

アプリがメール/パスワード認証を使用する場合は、2 つ目のエンドポイントに関係する保留中のユーザーを削除することを検討してください。

const apiUrl = "https://services.cloud.mongodb.com/api/admin/v3.0/groups/{insert-your-project-id}/apps/{insert-your-app-id}";
exports = async function(){
// This function deletes the user who calls it. It gets this user's ID
// from the user in the function context. This is safer than accepting
// a passed-in user ID, as the user can never delete any other user's account.
const callersUserId = context.user.id
async function adminLogIn() {
const username = context.values.get("adminApiPublicKey");
const apiKey = context.values.get("adminApiPrivateKey");
const response = await context.http.post({
url: "https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login",
body: {username, apiKey},
encodeBodyAsJSON: true,
});
const body = EJSON.parse(response.body.text());
return body.access_token;
}
const token = await adminLogIn();
async function deleteUser(_id) {
await context.http.delete({
url: `${apiUrl}/users/${_id}`,
headers: {"Authorization": [`Bearer ${token}`]}
});
return _id;
}
return deleteUser(callersUserId);
};

ユーザーを一時的に無効にすると、ユーザーはログインできなくなり、ユーザーの既存のアクセス トークンとリフレッシュ トークンが無効になります。 無効にされたユーザーを有効にして、再度ログインできるようにすることができます。

  1. 左側のナビゲーション メニューからApp Usersを選択します。

  2. 無効にするユーザーの現在の状態に応じて、 ConfirmedまたはPendingのいずれかを選択します。

  3. [ Usersタブで、リスト内のユーザーを検索し、省略記号( ... )をクリックします。

  4. [ Disable Userをクリックして選択を確定します。

ユーザーを無効にするには、 appservices users disableを呼び出します。 CLI では、アプリ ID の入力を求められ、選択するアプリのユーザーが一覧表示されます。

appservices users disable

プログラムを呼び出すときに引数を指定することもできます。

appservices users disable \
--app=<Your App ID> \
--user=<User ID>

Tip

これらのユーザーのid値をカンマ区切りのリストとして指定することで、1 つのコマンドで複数のユーザーを無効にできます。

appservices users disable --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a

ユーザーを無効にするには、次の形式でPUTリクエストを作成します。 グループ、アプリ、ユーザー ID を指定する必要があります。

curl --request PUT \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>/disable

Tip

以下も参照してください。

無効にされたユーザーを有効にして、再度ログインできるようにすることができます。

  1. 左側のナビゲーション メニューからApp Usersを選択します。

  2. 有効にするユーザーの現在の状態に応じて、 ConfirmedまたはPendingのいずれかを選択します。

  3. [ Usersタブで、リスト内のユーザーを検索し、省略記号( ... )をクリックします。

  4. [ Enable Userをクリックして選択を確定します。

ユーザーを有効にするには、 appservices users enableを呼び出します。 CLI では、アプリ ID の入力を求められ、選択するアプリのユーザーが一覧表示されます。

appservices users enable

プログラムを呼び出すときに引数を指定することもできます。

appservices users enable \
--app=<Your App ID> \
--user=<User ID>

Tip

これらのユーザーのid値をカンマ区切りのリストとして指定することで、1 つの コマンドで複数のユーザーを有効にできます。

appservices users enable --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a

ユーザーを有効にするには、次の形式でPUTリクエストを作成します。 グループ、アプリ、ユーザー ID を指定する必要があります。

curl --request PUT \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>/enable

Tip

以下も参照してください。

戻る

ユーザー メタデータの読み取り