翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
テナントの分離とデータのプライバシーに関する推奨事項
前のセクションでは、OPA および Amazon Verified Permissions で外部データを使用して、認可の決定を支援するためのいくつかのアプローチについて説明しました。可能であれば、過負荷入力アプローチを使用して SaaS コンテキストデータを OPA に渡し、OPA のメモリにデータを保存するのではなく、認可の決定を行うことをお勧めします。このユースケースは AWS Cloud Map、 サービスへの外部データの保存をサポートしていないため、 には適用されません。
ロールベースのアクセスコントロール (RBAC) または RBAC および属性ベースのアクセスコントロール (ABAC) ハイブリッドモデルでは、認可リクエストまたはクエリによってのみ提供されるデータが不十分である可能性があります。これは、認可の決定を行うにはロールとアクセス許可を参照する必要があるためです。テナントの分離とロールマッピングのプライバシーを維持するために、このデータは OPA 内に存在しないでください。RBAC データは、データベースなどの外部データソースに存在するか、IdP から JWT のクレームの一部として渡す必要があります。Verified Permissions では、各テナントに独自の論理的に分離されたポリシーストアがあるため、RBAC データをテナントごとのポリシーストアモデルのポリシーとスキーマの一部として維持できます。ただし、1 つの共有マルチテナントポリシーストアモデルでは、テナントの分離を維持するために、ロールマッピングデータを Verified Permissions 内に配置しないでください。
さらに、事前定義されたロールを特定のアクセス許可にマッピングするために OPA および Verified Permissions を使用しないでください。これにより、テナントが独自のロールとアクセス許可を定義することが難しくなります。また、認可ロジックがリジッドになり、継続的な更新が必要になります。このガイドラインの例外は、Verified Permissions のテナントごとのポリシーストアモデルです。このモデルでは、テナントごとに個別に評価できる独自のポリシーを各テナントに付与できるためです。
Amazon Verified Permissions
Verified Permissions が潜在的にプライベートな RBAC データを保存できる唯一の場所は、 スキーマです。これはテナントごとのポリシーストアモデルで許容されます。各テナントには独自の論理的に分離されたポリシーストアがあるためです。ただし、1 つの共有マルチテナントポリシーストアモデルでテナントの分離が損なわれる可能性があります。認可の決定を行うためにこのデータが必要な場合は、DynamoDB や Amazon RDS などの外部ソースから取得し、Verified Permissions 認可リクエストに組み込む必要があります。
OPA
RBAC データのプライバシーとテナント分離を維持するための OPA による安全なアプローチには、動的データ取得またはレプリケーションを使用して外部データを取得することが含まれます。これは、前の図に示す認可サービスを使用して、認可決定を行うためにテナント固有またはユーザー固有の外部データのみを提供できるためです。たとえば、レプリケーターを使用して、ユーザーがログインしたときに RBAC データまたはアクセス許可マトリックスを OPA キャッシュに提供し、入力データ で指定されたユーザーに基づいてデータを参照させることができます 。動的にプルされたデータでも同様のアプローチを使用して、認可の決定に関連するデータのみを取得できます。さらに、動的データ取り出しアプローチでは、このデータを OPA にキャッシュする必要はありません。バンドルアプローチは、テナントの分離を維持する動的取得アプローチほど効果的ではありません。これは、OPA キャッシュ内のすべての内容を更新し、正確な更新を処理できないためです。バンドルモデルは、OPA ポリシーと非 RBAC データを更新するための優れたアプローチです。