Auth0 では、ロールベースのアクセス制御 (RBAC) を実装する方法が 2 つ用意されており、これらは API 独自の内部アクセス制御システムの代わりとして、またはそれと組み合わせて使用できます。Authorization Core の機能セットは Authorization Extension の機能に対応しているほか、パフォーマンスとスケーラビリティが向上しており、Authorization Extension よりも柔軟な RBAC システムを提供します。現在、どちらも RBAC の主要な機能を備えており、API に定義されたカスタムスコープを、ユーザーに権限として割り当てられているもののみに制限できます。
前提条件
開始する前に、Authorization Extension で使用できる既存のアプリケーションがあることを確認してください。使用できるアプリケーションの種類は次のとおりです。- ネイティブアプリ
- 通常のウェブアプリ
- シングルページアプリ
拡張機能をインストールする
- Auth0 Dashboard > Extensions に移動します。
- Auth0 Authorization を選択し、表示される指示に従ってインストールします。
- データの保存先として、Webtask Storage または Amazon S3 バケットを選択します。


Webtask Storage
この拡張機能では、既定で Webtask Storage が使用され、利用できるデータ量は 500 KB に制限されます。これは次に相当します。- 1000 個のグループと 3000 人のユーザー (各ユーザーが 3 つのグループに属する場合)
- 20 個のグループと 7000 人のユーザー (各ユーザーが 3 つのグループに属する場合)
Amazon S3
また、ストレージプロバイダーとして Amazon S3 を使用することもできます。Amazon S3 はファイルベースのストレージプラットフォームであり、書き込みは並列で行われます。そのため問題が発生する可能性がありますが、この拡張機能のストレージロジックではその点が考慮されています。ただし、グループ、ロール、または権限の作成を自動化する場合は、Auth0 では API を順次呼び出すことを推奨しています。この拡張機能にはパフォーマンス上の制約があり、大規模なデータセットでの使用は想定されていません。データストレージとして Amazon S3 を選択する前に、実際のユースケースでどのようなパフォーマンスになるかをテストして確認することをお勧めします。また、S3 に保存されるデータが増えるにつれて、パフォーマンスが低下する可能性もあります。
- S3 バケットを作成します。
- IAM ユーザーを作成し、そのユーザーの Key ID を取得します。
- そのユーザーがバケットを変更できるようにする IAM ユーザー用のポリシーを作成します。