複合認証は正常 - Amazon Verified Permissions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

複合認証は正常

複合認証とは、アプリケーションのインターフェースのボタンをクリックするなどの単一のユーザーアクティビティで、そのアクティビティが許可されているかどうかを判断するために複数の個別認証クエリが必要になる場合に発生します。たとえば、ファイルシステムの新しいディレクトリにファイルを移動する場合、ソースディレクトリからファイルを削除する権限、移動先ディレクトリにファイルを追加する権限、およびファイル自体を操作する権限 (アプリケーションによって異なります) という 3 つの異なる権限が必要になる場合があります。

認証モデルの設計に慣れていない場合、認証に関するすべての決定は 1 つの認証クエリで解決可能でなければならないと考えるかもしれません。しかし、これではモデルが過度に複雑になり、ポリシーステートメントが複雑になる可能性があります。実際には、複合認証を使用すると、より単純な認証モデルを作成するのに役立ちます。適切に設計された認証モデルの 1 つの基準は、個々のアクションを十分に分解すれば、ファイルの移動などの複合操作をプリミティブの直感的な集合体で表現できることです。

複合認証が発生するもう 1 つの状況は、権限を付与するプロセスに複数の関係者が関与する場合です。ユーザーがグループのメンバーになることができる組織ディレクトリを考えてみましょう。簡単な方法は、グループオーナーに誰でも追加できる権限を与えることです。しかし、まずユーザーに追加に同意してもらいたい場合はどうすればよいのでしょうか。これにより、ユーザーとグループの両方がメンバーシップに同意しなければならないというハンドシェイク契約が導入されます。これを実現するために、ユーザーにバインドされた別の権限を導入して、ユーザーを任意のグループに追加できるのか、特定のグループに追加できるのかを指定できます。呼び出し元が後でメンバーをグループに追加しようとする場合、アプリケーションは権限の両側を強制する必要があります。つまり、呼び出し元には指定されたグループにメンバーを追加する権限があり、追加される個々のユーザーには追加する権限があるということです。N ウェイ ハンドシェイクが存在する場合、合意の各部分を強制するために N 複合認証クエリを監視するのが一般的です。

複数のリソースが関わっていて、権限をモデル化する方法が不明な設計上の課題に直面している場合、複合認証シナリオを使用している可能性があります。このような場合は、操作を複数の個別認証チェックに分解することで解決策が見つかるかもしれません。