iamreflect

package
v0.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 19, 2021 License: MIT Imports: 8 Imported by: 0

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

func (d *IAMDescriptor) ResolvePermissionByRequestAndResource(
	request proto.Message,
	resource string,
) (string, bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL