Systems and methods are provided for resource access control in computer
systems. Our approach includes new techniques for composing and
authenticating principals in an access control system. Our principals may
comprise information that identifies the role of the user of a computer
system, the mechanism by which the user was authenticated, and program
execution history. Thus, when a principal makes a request, access control
determinations can be made based on the principal's identity. Access
control lists may provide patterns that are used to recognize principals,
thereby ensuring a level of security without enumerating precise
identifiers for all of the possible principles that may request a
particular resource.