Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ResolveResourcePermission ¶
func ResolveResourcePermission(resourcePermissions *iamv1.ResourcePermissions, resourceName string) (string, bool)
ResolveResourcePermission resolves a permission for a resource name, given a set of resource permissions.
Types ¶
type IAMDescriptor ¶
type IAMDescriptor struct { // PredefinedRoles are the service's predefined IAM roles. PredefinedRoles *iamv1.Roles // MethodAuthorizationOptions is a mapping from full method name to the method's authorization options. MethodAuthorizationOptions map[protoreflect.FullName]*iamv1.MethodAuthorizationOptions // RequestAuthorizationOptions is a mapping from full request name to the method's authorization options. RequestAuthorizationOptions map[protoreflect.FullName]*iamv1.MethodAuthorizationOptions }
IAMDescriptor represents an RPC service's IAM specification.
func NewIAMDescriptor ¶
func NewIAMDescriptor(service protoreflect.ServiceDescriptor, files *protoregistry.Files) (*IAMDescriptor, error)
NewIAMDescriptor creates a new IAMDescriptor from the provided service descriptor. Uses the provided files to resolve resource name patterns.
func (*IAMDescriptor) FindMethodAuthorizationOptionsByRequest ¶
func (d *IAMDescriptor) FindMethodAuthorizationOptionsByRequest( request proto.Message, ) (*iamv1.MethodAuthorizationOptions, bool)
func (*IAMDescriptor) ResolvePermissionByRequestAndResource ¶
Click to show internal directories.
Click to hide internal directories.