ファイル内に複数のアクセス規則が存在する場合、権限を次のように計算します。
特定のアクセス規則は、一般的なアクセス規則に優先します。次の 2 つの規則が適用されると、ユーザーはだれでもすべてのキューに送信できますが、Bob は tq1 に送信できません。
queue.*.produce.allow.user=* queue.tq1.produce.deny.user=Bob
明示的な principal に指定されたアクセスは、* principal に指定されたアクセスに優先します。次の規則で、Bob は tq1 へのメッセージを生成できませんが、その他のユーザーはメッセージを生成できます。
queue.tq1.produce.allow.user=* queue.tq1.produce.deny.user=Bob
ユーザーの * principal 規則は、グループの対応する * principal 規則に優先します。たとえば、次の 2 つの規則では、すべての認証済みユーザーがメッセージを tq1 に送信できます。
queue.tq1.produce.allow.user=* queue.tq1.produce.deny.group=*
ユーザーに許可されたアクセスは、ユーザーのグループに許可されたアクセスに優先します。次の例では、Bob が User のメンバーである場合でも、tq1 へのメッセージは生成できません。User のその他のメンバーはすべて、メッセージを生成できます。
queue.tq1.produce.allow.group=User queue.tq1.produce.deny.user=Bob
アクセスを介して明示的に指定されていないアクセス権は、暗黙的に拒否されます。たとえば、ACL ファイルにアクセス規則がない場合、すべてのユーザーはすべての操作を実行できません。
同じユーザーまたはグループにアクセス権の拒否と許可を行うと、すべてが取り消されます。たとえば、次の 2 つの規則が適用されると、Bob は q1 を検索できなくなります。
queue.q1.browse.allow.user=Bob queue.q1.browse.deny.user=Bob
次の 2 つの規則は、グループ User が q5 でメッセージを消費するのを禁止します。
queue.q5.consume.allow.group=User queue.q5.consume.deny.group=User
同じ左側の規則が複数ある場合、最後のエントリが有効になります。