翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
テナントのデータの分離とプライバシーに関する推奨事項
前のセクションでは、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 データを更新するための優れたアプローチです。