GDPR:データの最小化
GDPRの第5条に従い、収集する個人データは処理に必要なものに限定し、保持期間は必要最小限とします。データ処理中、許可されていない処理または違法な処理、偶発的な損失、破壊、または損傷に対する保護を含め、適切なセキュリティが確保されなければなりません。
Auth0には、これらの目標の達成に役立つ機能がいくつか用意されています。アカウントの連携やユーザープロファイルの暗号化などをはじめとする機能がこれに該当します。
ユーザープロファイル情報を制限する
Auth0ユーザープロファイルの個人情報の量を制限する方法は以下の通りです。
ユーザープロファイルのメタデータセクションへの個人情報の保存を最小限に抑える(または避ける)
エンタープライズディレクトリを使用する場合、必要最小限の情報のみを返すように構成する
ソーシャルプロバイダーを使用する場合、必要最小限の情報のみを返すように構成する
Auth0データベースに保持したくないユーザー属性を拒否リストに登録する
ユーザープロファイル情報を暗号化する
ユーザー情報はユーザープロファイルに保存する前に暗号化することができます。データをメタデータフィールドに保管する前に、お好きな暗号化メカニズムを使用することができます。機微情報を設定するときは、Update a User(ユーザー更新)エンドポイントを呼び出します。
アカウントリンクを使用する
ユーザープロファイルがまだ存在しない場合、ユーザーがアプリケーションにログインするために接続を使用するたびに作成されます。これは接続ごとに行われます。
理解を深めるため、以下のシナリオを考えてみましょう。あなたのアプリケーションは、サインアップのために以下の3つのオプションを提供しています。
メール/パスワードでのサインアップ
Googleでのログイン
Facebookでのログイン
ユーザーがGoogleにサインアップすると、Auth0にユーザープロファイルが作成されます。同じユーザーが、戻ってきたときに、サインアップした内容を覚えておらず、Facebookでログインすることを選択した場合、Auth0はそのユーザーのために別のユーザープロファイルを作成します。その結果、同じユーザーに対して2つのプロファイルが存在する状態になります。
アカウントリンクによってこの問題を解決できます。接続のタイプ(ユーザー/パスワード、ソーシャル、SAMLなど)に関係なく、1つのユーザープロファイルの下に複数のアカウントをリンクできます。
これを実装するには次の2つの方法があります。
アカウントリンクをユーザーが開始する:認証済みのユーザーがアカウントを手動でリンクできるように、アプリがUIを提供する必要があります。
アカウントリンクを提案する:この場合も、検証済みの同じメールアドレスを使用してアカウントをリンクするルールを構成します。ただし、アプリは、自動的にリンクを実行するのではなく、まずユーザーにIDをリンクするよう指示します。
ログをエクスポートする
Auth0ログをエクスポートして、自分で保管するか、Auth0 Marketplaceの外部ログサービスに自動的にプッシュできます。この機能はデータ保持とログ分析の要件を満たすのに役立ちます。
APIを使用してログをエクスポートする
Management APIを使用してログをエクスポートし、自分で保管できます。使用可能なエンドポイントは2つあり、それぞれがわずかに異なる情報を提供します。
すべてのログを検索する
ログイベント検索エンドポイントは、提供した検索基準に一致するログエントリを検索します。検索条件を指定しない場合は、使用可能なすべてのエントリのリストが返されます。
qパラメーターで検索条件を指定すると、fieldsパラメーターで特定のフィールドが取得できます。
APIにアクセスするには、Management APIv2トークンが必要です。
この例にある要求は、成功したログインのすべてのログを取得します(ログイン成功イベントの頭文字はs
です)。ログエントリごとに取得するフィールドのリストはdate、description、client_id、およびlog_idです。
単一のログエントリを取得する
IDでログイベント取得エンドポイントは、提供されたIDに関連付けられたログエントリを取得します。
この例にある要求は、IDが90020180129170850881585554625888895190928456277777449010
である1つのログエントリを取得します。
外部サービスにエクスポートする
Auth0 Marketplaceにあるログストリーミングソリューションのいずれかをインストールして構成すると、Sumo LogicやLogglyなどの他のプロバイダーにログを自動的にエクスポートできます。利用可能なプロバイダーのリストとそれぞれを構成する詳細な手順については、「Auth0ログを外部サービスにエクスポートする」を参照してください。
ログに機密情報を残さない
Auth0ログファイルに取り込まれる可能性があるURLに含まれる機密情報は最小限に抑えるべきです。たとえば、ドメイン名をcancer-treatments
ではなく、health-site
などにすることを検討します。
また、以下の手順を確実に行う必要があります。
サインアップ時およびソーシャルメディアを通じて何を収集しているか、それがサービスの目的に必要かどうかを分析します。
エンタープライズIDプロバイダーがAuth0に返されるデータを管理するように構成します。
ソーシャルプロバイダーから収集したいデータを指定し、ユーザーのログイン時に取得するデータの使用に関して、ソーシャルプロバイダーとソーシャルログインに関する特定の条件の交渉を行います。