- セルフサービスでの情報の更新
- 組織の利用規約に関する必須の更新
- 規制順守に伴う更新
複数のAuth0テナントにまたがるユーザープロファイルには、直接アクセスすることはできません。運用環境に複数のAuth0テナントをデプロイする場合は、注意が必要です。
正規化ユーザープロファイルは、ログイン時にIDプロバイダーによって更新されるため、Auth0 Management APIを使って変更できるプロファイル情報は限られます。正規化ユーザープロファイルの情報をオーバライドする別の方法として、Rulesなど、Auth0の拡張機能を利用することもできます。詳細については、「ユーザプロファイルのデータを編集する」を参照してください。
- ユーザーエクスペリエンスをカスタマイズするために情報を保存する必要がある場合、何をすべきか?
- IDプロバイダー由来ではないユーザー情報を保存する必要がある場合、どうすればいいか?
- ユーザーが変更できないユーザー関連情報を保存する必要があるのはなぜか?
- ユーザーが変更できないユーザー関連情報を保存する必要がある場合、どうすればいいか?
- ユーザーがパスワードを忘れた場合、どうなるのか?
- ユーザーは、パスワードを変更したい場合に何をすべきか?
- サードパーティー組織の管理者にユーザーを管理する機能を提供するにはどうすればいいか?
セルフサービスのプロファイル管理では、セキュリティ・データプライバシー上の懸念が生じる可能性があります。たとえば、ユーザーに対してメールアドレスの変更を許可したい場合に、セキュリティガイダンスに従わずにそれを行うと、ユーザーがアカウントからロックアウトされたり、個人を特定できる情報(PII)が漏洩したり、最悪の場合にはセキュリティ侵害が生じたりします。
Metadata(メタデータ)
正規化ユーザープロファイル情報に加えて、メタデータもAuth0のユーザープロファイルに保存することができます。」メタデータは、IDプロバイダー由来ではない情報を保管する方法、またはIDプロバイダーから提供された情報を上書きする情報を保管する方法を提供します。ベストプラクティス
メタデータを使用するには、Auth0「ユーザーデータ保存のベストプラクティス」に従ってください。メタデータの保存は汎用のデータストアとして設計されておらず、可能な限り独自の外部ストレージ施設を使用するべきです。メタデータのサイズと複雑さは最小に保たれるべきで、Auth0 Management APIにはユーザーに関連するメタデータの更新および/または削除についての厳格な一連のガイダンスがあります。Management APIへの呼び出しにはAuth0レート制限ポリシーが適用されることを考慮してください。Auth0は、通常、APIを直接呼び出す代わりに、開発環境に適したAuth0 SDKを使用することを推奨しています。
ユーザーメタデータ
ユーザーメタデータ(user_metadata
とも呼ばれる)は、ユーザープロファイルに対して保存できる情報で、ユーザーはセルフサービス型のプロファイル管理の一環として、読み取りおよび更新することができます。ユーザーメタデータには、ユーザーの敬称、使用する言語などが含まれており、Auth0から送信するメールのカスタマイズに使用されます。
ベストプラクティス
Auth0のメールをカスタマイズするために使用する情報は、メタデータに保存し、ユーザーが変更できる場合(メールの言語を決定するために使用される情報など)は可能な限りuser_metadata
に保存しましょう。アプリメタデータ
一方、アプリメタデータ(app_metadata
とも呼ばれる)は、ユーザープロファイルと一緒に保存することができる情報ですが、適切な認可がなければ読み込んだり更新したりすることができません 。app_metadata
はユーザーが直接アクセスできるものではありません。アプリメタデータには、ユーザーが最後に承認した有効な利用規約のセットを示すフラグや、ユーザーがこれをいつ承認したかを示す日時などが含まれます。
パスワードリセット
パスワードを忘れたユーザーや、既存のセルフサービスのメカニズムを使ってパスワードを変更することが許可されているユーザーに対して、Auth0はパスワードリセット機能を提供しています。これは既存の実装と統合することができ、ユニバーサルログインの一部として既成のAuth0 UIウィジェットにもすでに組み込まれています。パスワード変更とパスワードリセットは、Auth0データベース接続タイプでのみサポートされています。
アカウントの検証
常に検証済みのユーザーアカウントを使用し、Auth0が提供するメカニズムを利用する必要があります。また、EU市民のプライバシーを守り、データ侵害から市民を保護するために非常に具体的な要件を設けている、GDPRなどの規制順守も考慮すべきです。 Auth0には、アカウントを検証するためにユーザーのメールアドレスに検証メールを送信する既成の機能があります。デフォルトでは、Auth0はセルフサインアップの一環として作成されたデータベース接続のIDに対して、自動的に検証メールを送信します。ただし、Auth0は、ユーザー登録時にソーシャルプロバイダーによるメールアドレスの検証が行われない場合に、検証メールの送信に使用できるManagement APIエンドポイントも提供しています。ユーザーのブロック
Auth0でユーザーアクセスをブロックすることで、特定の条件下でのユーザーのアプリケーションへのログインを防ぐことができます。デフォルトでは、Auth0 Dashboardには、すべてのアプリケーションへのユーザーアクセスをブロックおよびブロック解除できる機能を管理者に提供する既成のメカニズムがあります。この機能は、Auth0 Management APIを使用して実装することもできます。また、Auth0の拡張性を利用して、特定のアプリケーションへのユーザーアクセスを無効にしたり、よりきめ細かいアクセス制御を行ったりすることもできます。 さらに、Auth0 Management APIには、正しくない資格情報の使いすぎによって無効にされたユーザーのブロックを解除する機能もあります。管理者ポータル
管理者ポータルは、新しいユーザーを作成したり、ユーザープロファイルを編集したり、ユーザーに関するアクティビティを確認したりできるアプリケーションです。このアプリケーションは、管理者のみがアクセスできるようにする必要があります。Auth0は管理ダッシュボードを提供していますが、管理ダッシュボードへのアクセスを多くの人に許可することは推奨されません。誰かが意図せずにAuth0テナントを壊してしまう方法が数多くあるからです。Auth0では、代わりに他のオプションを2つ提供しています。- Auth0 Management API :Management APIを使うと、管理者にユーザーを管理する機能を提供するアプリケーションを簡単に構築することができます。これを管理者向けにすでに存在する既存のアプリケーションに組み込むか、または現在のアプリケーションと一致するUIを持つ新しいアプリケーションを作成することができます。
- Auth0委任管理拡張機能 :この強力で柔軟な拡張機能を使うことにより、ユーザー管理エクスペリエンスをカスタマイズすることができます。この拡張機能をカスタマイズすることで、お客様の管理者がログインし、自分たちの組織内のユーザーだけを表示および管理できるようにすることができます。