receptor_v1

package
v0.0.0-...-44df81f Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package receptor_v1 provides the Go GRPC client bindings to communicate with the Trustero service.

Index

Constants

View Source
const (
	Receptor_Verified_FullMethodName         = "/receptor_v1.Receptor/Verified"
	Receptor_GetConfiguration_FullMethodName = "/receptor_v1.Receptor/GetConfiguration"
	Receptor_Discovered_FullMethodName       = "/receptor_v1.Receptor/Discovered"
	Receptor_Report_FullMethodName           = "/receptor_v1.Receptor/Report"
	Receptor_Notify_FullMethodName           = "/receptor_v1.Receptor/Notify"
	Receptor_SetConfiguration_FullMethodName = "/receptor_v1.Receptor/SetConfiguration"
)

Variables

View Source
var File_receptor_v1_receptor_proto protoreflect.FileDescriptor
View Source
var Receptor_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "receptor_v1.Receptor",
	HandlerType: (*ReceptorServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Verified",
			Handler:    _Receptor_Verified_Handler,
		},
		{
			MethodName: "GetConfiguration",
			Handler:    _Receptor_GetConfiguration_Handler,
		},
		{
			MethodName: "Discovered",
			Handler:    _Receptor_Discovered_Handler,
		},
		{
			MethodName: "Report",
			Handler:    _Receptor_Report_Handler,
		},
		{
			MethodName: "Notify",
			Handler:    _Receptor_Notify_Handler,
		},
		{
			MethodName: "SetConfiguration",
			Handler:    _Receptor_SetConfiguration_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "receptor_v1/receptor.proto",
}

Receptor_ServiceDesc is the grpc.ServiceDesc for Receptor service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterReceptorServer

func RegisterReceptorServer(s grpc.ServiceRegistrar, srv ReceptorServer)

Types

type Credential

type Credential struct {

	// Receptor_object_id is Trustero's receptor record identifier.  This identifier is typically provided to the
	// receptor as part of a reporting findings or discover services request.
	ReceptorObjectId string `protobuf:"bytes,1,opt,name=receptor_object_id,json=receptorObjectId,proto3" json:"receptor_object_id,omitempty"`
	// Credential is the service provider credential being verified.
	Credential string `protobuf:"bytes,2,opt,name=credential,proto3" json:"credential,omitempty"`
	// Is_credential_valid report whether the service provider credential provided to the receptor verify request
	// is valid.
	IsCredentialValid bool `protobuf:"varint,3,opt,name=is_credential_valid,json=isCredentialValid,proto3" json:"is_credential_valid,omitempty"`
	// Message contains the reason for why the service provider credential in this message is invalid.
	Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
	// Exceptions contains information about the permissions that are missing for the credentials provided.
	Exceptions string `protobuf:"bytes,5,opt,name=exceptions,proto3" json:"exceptions,omitempty"`
	// contains filtered or unexported fields
}

Credential is returned by a Verified request noting if a given service provider account credential is valid.

func (*Credential) Descriptor deprecated

func (*Credential) Descriptor() ([]byte, []int)

Deprecated: Use Credential.ProtoReflect.Descriptor instead.

func (*Credential) GetCredential

func (x *Credential) GetCredential() string

func (*Credential) GetExceptions

func (x *Credential) GetExceptions() string

func (*Credential) GetIsCredentialValid

func (x *Credential) GetIsCredentialValid() bool

func (*Credential) GetMessage

func (x *Credential) GetMessage() string

func (*Credential) GetReceptorObjectId

func (x *Credential) GetReceptorObjectId() string

func (*Credential) ProtoMessage

func (*Credential) ProtoMessage()

func (*Credential) ProtoReflect

func (x *Credential) ProtoReflect() protoreflect.Message

func (*Credential) Reset

func (x *Credential) Reset()

func (*Credential) String

func (x *Credential) String() string

type Document

type Document struct {

	// Mime is the document type defined using [MIME].
	// [MIME]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types
	Mime string `protobuf:"bytes,2,opt,name=mime,proto3" json:"mime,omitempty"`
	// Body is the opaque document body.  The document body must match the type defined by the mime attribute.
	Body []byte `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
	// contains filtered or unexported fields
}

Document is an unstructured evidence provided as a MIME document.

func (*Document) Descriptor deprecated

func (*Document) Descriptor() ([]byte, []int)

Deprecated: Use Document.ProtoReflect.Descriptor instead.

func (*Document) GetBody

func (x *Document) GetBody() []byte

func (*Document) GetMime

func (x *Document) GetMime() string

func (*Document) ProtoMessage

func (*Document) ProtoMessage()

func (*Document) ProtoReflect

func (x *Document) ProtoReflect() protoreflect.Message

func (*Document) Reset

func (x *Document) Reset()

func (*Document) String

func (x *Document) String() string

type Evidence

type Evidence struct {

	// Caption is a human readable English string that identifies this evidence.  Caption must be stable for
	// all scans of the same evidence type.  Trustero uses the caption to associate this evidence with a
	// set of relevant controls.
	Caption string `protobuf:"bytes,1,opt,name=caption,proto3" json:"caption,omitempty"`
	// Description is a human readable English string describing the content of this evidence.  Description
	// tells Trustero and users contents of the evidence and how
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// Service_name is the name of service this evidence was collected from.  For example, "S3" or "GitLab"
	ServiceName string `protobuf:"bytes,3,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// Entity_type specifies the row type and should correspond to a ServiceEntity.  An entity_type typically
	// represents a specific configurable entity such as AWS ECS "Cluster".
	EntityType string `protobuf:"bytes,4,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
	// Sources are raw service provider API requests and responses used to generate this evidence.  The raw API requests
	// and responses serve as proof the evidence correlates to real service configurations.
	Sources []*Source `protobuf:"bytes,5,rep,name=sources,proto3" json:"sources,omitempty"`
	// Evidence_type can be either an unstructured (Document) or structured (Struct) type.
	//
	// Types that are assignable to EvidenceType:
	//
	//	*Evidence_Doc
	//	*Evidence_Struct
	EvidenceType isEvidence_EvidenceType `protobuf_oneof:"evidence_type"`
	// Service_account_id is the member account of the organization. For example, an AWS account number in an organization
	// that has more than one account.
	ServiceAccountId string `protobuf:"bytes,8,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// contains filtered or unexported fields
}

Evidence is a unstructured or structured document that represent the how a service is being used within a service provider account. For example, the configuration of an S3 bucket in AWS.

func (*Evidence) Descriptor deprecated

func (*Evidence) Descriptor() ([]byte, []int)

Deprecated: Use Evidence.ProtoReflect.Descriptor instead.

func (*Evidence) GetCaption

func (x *Evidence) GetCaption() string

func (*Evidence) GetDescription

func (x *Evidence) GetDescription() string

func (*Evidence) GetDoc

func (x *Evidence) GetDoc() *Document

func (*Evidence) GetEntityType

func (x *Evidence) GetEntityType() string

func (*Evidence) GetEvidenceType

func (m *Evidence) GetEvidenceType() isEvidence_EvidenceType

func (*Evidence) GetServiceAccountId

func (x *Evidence) GetServiceAccountId() string

func (*Evidence) GetServiceName

func (x *Evidence) GetServiceName() string

func (*Evidence) GetSources

func (x *Evidence) GetSources() []*Source

func (*Evidence) GetStruct

func (x *Evidence) GetStruct() *Struct

func (*Evidence) ProtoMessage

func (*Evidence) ProtoMessage()

func (*Evidence) ProtoReflect

func (x *Evidence) ProtoReflect() protoreflect.Message

func (*Evidence) Reset

func (x *Evidence) Reset()

func (*Evidence) String

func (x *Evidence) String() string

type Evidence_Doc

type Evidence_Doc struct {
	// Document is an unstructured evidence.
	Doc *Document `protobuf:"bytes,6,opt,name=doc,proto3,oneof"`
}

type Evidence_Struct

type Evidence_Struct struct {
	// Struct is a structured evidence.
	Struct *Struct `protobuf:"bytes,7,opt,name=struct,proto3,oneof"`
}

type Finding

type Finding struct {

	// Unique receptor identifier.  A receptor is expected to report findings from only one service provider type.  A
	// stable identifier that represent the type of receptor reporting this finding.  The identifier is a simple URL
	// encoded string that includes an organization name and the service provider name.  For example: "trustero_gitlab".
	ReceptorType string `protobuf:"bytes,1,opt,name=receptor_type,json=receptorType,proto3" json:"receptor_type,omitempty"`
	// The receptor's evidence source.
	ServiceProviderAccount string `` /* 129-byte string literal not displayed */
	// Entities is a list of service entity configurations in the service provider account.
	Entities []*ServiceEntity `protobuf:"bytes,3,rep,name=entities,proto3" json:"entities,omitempty"`
	// One or more evidence collected by a typical receptor scan.
	Evidences []*Evidence `protobuf:"bytes,4,rep,name=evidences,proto3" json:"evidences,omitempty"`
	// contains filtered or unexported fields
}

Finding is a set of evidence(s) collected from a service provider account.

func (*Finding) Descriptor deprecated

func (*Finding) Descriptor() ([]byte, []int)

Deprecated: Use Finding.ProtoReflect.Descriptor instead.

func (*Finding) GetEntities

func (x *Finding) GetEntities() []*ServiceEntity

func (*Finding) GetEvidences

func (x *Finding) GetEvidences() []*Evidence

func (*Finding) GetReceptorType

func (x *Finding) GetReceptorType() string

func (*Finding) GetServiceProviderAccount

func (x *Finding) GetServiceProviderAccount() string

func (*Finding) ProtoMessage

func (*Finding) ProtoMessage()

func (*Finding) ProtoReflect

func (x *Finding) ProtoReflect() protoreflect.Message

func (*Finding) Reset

func (x *Finding) Reset()

func (*Finding) String

func (x *Finding) String() string

type JobResult

type JobResult struct {

	// Tracer_id is used to track the progress of the receptor request.
	TracerId string `protobuf:"bytes,1,opt,name=tracer_id,json=tracerId,proto3" json:"tracer_id,omitempty"`
	// Command is the receptor request that completed.  One of "verify", "scan", or "discover"
	Command string `protobuf:"bytes,2,opt,name=command,proto3" json:"command,omitempty"`
	// Result is receptor request result.  One of "success", "fail", or "error".
	Result string `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
	// Receptor_object_id is Trustero's receptor record identifier.
	ReceptorObjectId string `protobuf:"bytes,4,opt,name=receptor_object_id,json=receptorObjectId,proto3" json:"receptor_object_id,omitempty"`
	// Exceptions contain information about the error like permission missing for the credentials provided.
	Exceptions string `protobuf:"bytes,5,opt,name=exceptions,proto3" json:"exceptions,omitempty"`
	// contains filtered or unexported fields
}

JobResult reports the result of a receptor request.

func (*JobResult) Descriptor deprecated

func (*JobResult) Descriptor() ([]byte, []int)

Deprecated: Use JobResult.ProtoReflect.Descriptor instead.

func (*JobResult) GetCommand

func (x *JobResult) GetCommand() string

func (*JobResult) GetExceptions

func (x *JobResult) GetExceptions() string

func (*JobResult) GetReceptorObjectId

func (x *JobResult) GetReceptorObjectId() string

func (*JobResult) GetResult

func (x *JobResult) GetResult() string

func (*JobResult) GetTracerId

func (x *JobResult) GetTracerId() string

func (*JobResult) ProtoMessage

func (*JobResult) ProtoMessage()

func (*JobResult) ProtoReflect

func (x *JobResult) ProtoReflect() protoreflect.Message

func (*JobResult) Reset

func (x *JobResult) Reset()

func (*JobResult) String

func (x *JobResult) String() string

type ReceptorClient

type ReceptorClient interface {
	// Verified reports whether the provided credential is a valid service provider credential for purpose of
	// discovering service entities and reporting findings.  This rpc call is typically made as callback by a
	// receptor to Trustero from a check-credential receptor request.
	Verified(ctx context.Context, in *Credential, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// GetConfiguration for the receptor and service provider credential using the provided receptor object identifier.
	// This rpc call is typically made as a callback by a receptor prior to making a report findings or discover
	// service entities receptor request.
	GetConfiguration(ctx context.Context, in *ReceptorOID, opts ...grpc.CallOption) (*ReceptorConfiguration, error)
	// Discovered reports known service entities.  A receptor or a Trustero client application reports its known
	// service entities on request.  A service entity is a configurable asset of a service such as an S3 bucket.  This
	// call returns a string value discovery ID or an error.
	Discovered(ctx context.Context, in *ServiceEntities, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
	// Report a finding to Trustero.  A receptor or a Trustero client application reports its findings to Trustero on
	// a periodic basis.  This call returns a string value collection ID or an error.
	Report(ctx context.Context, in *Finding, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
	// Notify Trustero a long running report finding or discover service entities receptor-request has completed.
	// JobResult contains information about the receptor-request and it's corresponding result.
	Notify(ctx context.Context, in *JobResult, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// SetConfiguration reports the configuration for receptors that need extra configuration to access a service.
	// This call is typically made as a callback by a receptor after credential verification.
	SetConfiguration(ctx context.Context, in *ReceptorConfiguration, opts ...grpc.CallOption) (*emptypb.Empty, error)
}

ReceptorClient is the client API for Receptor service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

Receptor service, or a Trustero client application, collects findings supporting the use of services from a service provider account. For example, AWS is a service provider, AWS account is a service provider account, and S3 is a service. Trustero associates collected evidence to business controls in support of the business' stated procedures. Evidences are organized into a finding. Each evidence is associated with a service entity and contains the service's configuration information. For example, an AWS S3 bucket and its configuration.

func NewReceptorClient

func NewReceptorClient(cc grpc.ClientConnInterface) ReceptorClient

type ReceptorConfiguration

type ReceptorConfiguration struct {

	// Receptor_object_id is Trustero's receptor record identifier.
	ReceptorObjectId string `protobuf:"bytes,1,opt,name=receptor_object_id,json=receptorObjectId,proto3" json:"receptor_object_id,omitempty"`
	// Credential required to access a service provider for report finding and discover services purposes.
	Credential string `protobuf:"bytes,2,opt,name=credential,proto3" json:"credential,omitempty"`
	// Config holds additional receptor configuration to access a service provider account.
	Config string `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
	// Service_provider_account is the service provider account name.
	ServiceProviderAccount string `` /* 129-byte string literal not displayed */
	// Model_id is the receptor model id
	ModelId string `protobuf:"bytes,5,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"`
	// contains filtered or unexported fields
}

ReceptorConfiguration contains a configurations a receptor needs to access a service provider account.

func (*ReceptorConfiguration) Descriptor deprecated

func (*ReceptorConfiguration) Descriptor() ([]byte, []int)

Deprecated: Use ReceptorConfiguration.ProtoReflect.Descriptor instead.

func (*ReceptorConfiguration) GetConfig

func (x *ReceptorConfiguration) GetConfig() string

func (*ReceptorConfiguration) GetCredential

func (x *ReceptorConfiguration) GetCredential() string

func (*ReceptorConfiguration) GetModelId

func (x *ReceptorConfiguration) GetModelId() string

func (*ReceptorConfiguration) GetReceptorObjectId

func (x *ReceptorConfiguration) GetReceptorObjectId() string

func (*ReceptorConfiguration) GetServiceProviderAccount

func (x *ReceptorConfiguration) GetServiceProviderAccount() string

func (*ReceptorConfiguration) ProtoMessage

func (*ReceptorConfiguration) ProtoMessage()

func (*ReceptorConfiguration) ProtoReflect

func (x *ReceptorConfiguration) ProtoReflect() protoreflect.Message

func (*ReceptorConfiguration) Reset

func (x *ReceptorConfiguration) Reset()

func (*ReceptorConfiguration) String

func (x *ReceptorConfiguration) String() string

type ReceptorOID

type ReceptorOID struct {

	// Receptor_object_id is the string representation of a Trustero persistent record.
	ReceptorObjectId string `protobuf:"bytes,1,opt,name=receptor_object_id,json=receptorObjectId,proto3" json:"receptor_object_id,omitempty"`
	// contains filtered or unexported fields
}

ReceptorOID is Trustero's receptor record identifier.

func (*ReceptorOID) Descriptor deprecated

func (*ReceptorOID) Descriptor() ([]byte, []int)

Deprecated: Use ReceptorOID.ProtoReflect.Descriptor instead.

func (*ReceptorOID) GetReceptorObjectId

func (x *ReceptorOID) GetReceptorObjectId() string

func (*ReceptorOID) ProtoMessage

func (*ReceptorOID) ProtoMessage()

func (*ReceptorOID) ProtoReflect

func (x *ReceptorOID) ProtoReflect() protoreflect.Message

func (*ReceptorOID) Reset

func (x *ReceptorOID) Reset()

func (*ReceptorOID) String

func (x *ReceptorOID) String() string

type ReceptorServer

type ReceptorServer interface {
	// Verified reports whether the provided credential is a valid service provider credential for purpose of
	// discovering service entities and reporting findings.  This rpc call is typically made as callback by a
	// receptor to Trustero from a check-credential receptor request.
	Verified(context.Context, *Credential) (*emptypb.Empty, error)
	// GetConfiguration for the receptor and service provider credential using the provided receptor object identifier.
	// This rpc call is typically made as a callback by a receptor prior to making a report findings or discover
	// service entities receptor request.
	GetConfiguration(context.Context, *ReceptorOID) (*ReceptorConfiguration, error)
	// Discovered reports known service entities.  A receptor or a Trustero client application reports its known
	// service entities on request.  A service entity is a configurable asset of a service such as an S3 bucket.  This
	// call returns a string value discovery ID or an error.
	Discovered(context.Context, *ServiceEntities) (*wrapperspb.StringValue, error)
	// Report a finding to Trustero.  A receptor or a Trustero client application reports its findings to Trustero on
	// a periodic basis.  This call returns a string value collection ID or an error.
	Report(context.Context, *Finding) (*wrapperspb.StringValue, error)
	// Notify Trustero a long running report finding or discover service entities receptor-request has completed.
	// JobResult contains information about the receptor-request and it's corresponding result.
	Notify(context.Context, *JobResult) (*emptypb.Empty, error)
	// SetConfiguration reports the configuration for receptors that need extra configuration to access a service.
	// This call is typically made as a callback by a receptor after credential verification.
	SetConfiguration(context.Context, *ReceptorConfiguration) (*emptypb.Empty, error)
}

ReceptorServer is the server API for Receptor service. All implementations should embed UnimplementedReceptorServer for forward compatibility.

Receptor service, or a Trustero client application, collects findings supporting the use of services from a service provider account. For example, AWS is a service provider, AWS account is a service provider account, and S3 is a service. Trustero associates collected evidence to business controls in support of the business' stated procedures. Evidences are organized into a finding. Each evidence is associated with a service entity and contains the service's configuration information. For example, an AWS S3 bucket and its configuration.

type Row

type Row struct {

	// Entity_instance_id of a discovered entity instance.  For example, an AWS "ECS" cluster UUID or GitLab
	// "repository" ID.
	EntityInstanceId string `protobuf:"bytes,1,opt,name=entity_instance_id,json=entityInstanceId,proto3" json:"entity_instance_id,omitempty"`
	// Cols are columns of the row in column name to value pairs.  All rows in a struct must have the same column
	// names and corresponding value types.  In addition, one of the key-value pair in the cols map must be the
	// entity_instance_id, a unique instance of this row's Struct.entity_type.
	Cols map[string]*Value `` /* 149-byte string literal not displayed */
	// contains filtered or unexported fields
}

Row is a row of structured data.

func (*Row) Descriptor deprecated

func (*Row) Descriptor() ([]byte, []int)

Deprecated: Use Row.ProtoReflect.Descriptor instead.

func (*Row) GetCols

func (x *Row) GetCols() map[string]*Value

func (*Row) GetEntityInstanceId

func (x *Row) GetEntityInstanceId() string

func (*Row) ProtoMessage

func (*Row) ProtoMessage()

func (*Row) ProtoReflect

func (x *Row) ProtoReflect() protoreflect.Message

func (*Row) Reset

func (x *Row) Reset()

func (*Row) String

func (x *Row) String() string

type ServiceEntities

type ServiceEntities struct {

	// Receptor_type is a unique receptor type.  A stable string identifier that represent the type of receptor
	// reporting this finding.  The identifier is a simple URL encode string that includes the organization name
	// and a service provider name.  For example "trustero_gitlab".
	ReceptorType string `protobuf:"bytes,1,opt,name=receptor_type,json=receptorType,proto3" json:"receptor_type,omitempty"`
	// Service_provider_account is the service provider account where the services are configured in.
	ServiceProviderAccount string `` /* 129-byte string literal not displayed */
	// Entities is a list of service instances configured in the service provider account.
	Entities []*ServiceEntity `protobuf:"bytes,3,rep,name=entities,proto3" json:"entities,omitempty"`
	// contains filtered or unexported fields
}

ServiceEntities are configurable entities within a service provider account. For example, service entities in an AWS account include S3 buckets, ECS clusters, RDS database instances, etc. The boundary of a service entity depends on how a receptor represents it's findings. Each service instance_id should be associated with at least one Evidence.

func (*ServiceEntities) Descriptor deprecated

func (*ServiceEntities) Descriptor() ([]byte, []int)

Deprecated: Use ServiceEntities.ProtoReflect.Descriptor instead.

func (*ServiceEntities) GetEntities

func (x *ServiceEntities) GetEntities() []*ServiceEntity

func (*ServiceEntities) GetReceptorType

func (x *ServiceEntities) GetReceptorType() string

func (*ServiceEntities) GetServiceProviderAccount

func (x *ServiceEntities) GetServiceProviderAccount() string

func (*ServiceEntities) ProtoMessage

func (*ServiceEntities) ProtoMessage()

func (*ServiceEntities) ProtoReflect

func (x *ServiceEntities) ProtoReflect() protoreflect.Message

func (*ServiceEntities) Reset

func (x *ServiceEntities) Reset()

func (*ServiceEntities) String

func (x *ServiceEntities) String() string

type ServiceEntity

type ServiceEntity struct {

	// Service_name of the entity source.  This is a Trustero assigned identifier for a known service such as
	// "GitLab" or AWS "ECS".
	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// Entity_type is a service configurable object type such as a GitLab "repository" or AWS ECS "cluster".  The
	// entity_instance_name and entity_instance_id must represent an instance of the subtype.  For example,
	// "Java 1.5" maybe a valid GitLab repository name or "Elastic front end cluster" maybe a valid AWS ECS
	// cluster name.
	EntityType string `protobuf:"bytes,2,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
	// Entity_instance_name of a discovered service entity instance.  For example, an AWS ECS cluster name or a
	// GitLab repository name.  Entity_instance_name of an entity may change for a given entity instance but
	// it's entity_instance_id is stable.
	EntityInstanceName string `protobuf:"bytes,3,opt,name=entity_instance_name,json=entityInstanceName,proto3" json:"entity_instance_name,omitempty"`
	// Entity_instance_id of a discovered entity instance.  For example, an AWS ECS cluster UUID or GitLab
	// repository ID.
	EntityInstanceId string `protobuf:"bytes,4,opt,name=entity_instance_id,json=entityInstanceId,proto3" json:"entity_instance_id,omitempty"`
	// Service_account_id is the member account of the organization. For example, an AWS account number in a an organization
	// that has more than one account.
	ServiceAccountId string `protobuf:"bytes,5,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// contains filtered or unexported fields
}

ServiceEntity is a discovered service entity instance which represents a configurable entity provided by the service. For example, an AWS ECS cluster or a GitLab repository. These service entities are associated with detailed configurations collected by Receptor.Reported() calls. Service entities allows Trustero to filter collected evidence that aren't relevant to specific audit contexts.

func (*ServiceEntity) Descriptor deprecated

func (*ServiceEntity) Descriptor() ([]byte, []int)

Deprecated: Use ServiceEntity.ProtoReflect.Descriptor instead.

func (*ServiceEntity) GetEntityInstanceId

func (x *ServiceEntity) GetEntityInstanceId() string

func (*ServiceEntity) GetEntityInstanceName

func (x *ServiceEntity) GetEntityInstanceName() string

func (*ServiceEntity) GetEntityType

func (x *ServiceEntity) GetEntityType() string

func (*ServiceEntity) GetServiceAccountId

func (x *ServiceEntity) GetServiceAccountId() string

func (*ServiceEntity) GetServiceName

func (x *ServiceEntity) GetServiceName() string

func (*ServiceEntity) ProtoMessage

func (*ServiceEntity) ProtoMessage()

func (*ServiceEntity) ProtoReflect

func (x *ServiceEntity) ProtoReflect() protoreflect.Message

func (*ServiceEntity) Reset

func (x *ServiceEntity) Reset()

func (*ServiceEntity) String

func (x *ServiceEntity) String() string

type Source

type Source struct {

	// Raw_api_request is the raw API request used to generate this evidence.
	RawApiRequest string `protobuf:"bytes,1,opt,name=raw_api_request,json=rawApiRequest,proto3" json:"raw_api_request,omitempty"`
	// Raw_api_response is the raw API response used to generate this evidence.
	RawApiResponse string `protobuf:"bytes,2,opt,name=raw_api_response,json=rawApiResponse,proto3" json:"raw_api_response,omitempty"`
	// contains filtered or unexported fields
}

Source is the raw service provider API request and response.

func (*Source) Descriptor deprecated

func (*Source) Descriptor() ([]byte, []int)

Deprecated: Use Source.ProtoReflect.Descriptor instead.

func (*Source) GetRawApiRequest

func (x *Source) GetRawApiRequest() string

func (*Source) GetRawApiResponse

func (x *Source) GetRawApiResponse() string

func (*Source) ProtoMessage

func (*Source) ProtoMessage()

func (*Source) ProtoReflect

func (x *Source) ProtoReflect() protoreflect.Message

func (*Source) Reset

func (x *Source) Reset()

func (*Source) String

func (x *Source) String() string

type Struct

type Struct struct {

	// Rows of key-value pairs.  Each row typically represents the configuration of a service instance or an data
	// type such as a member of GitLab group.
	Rows []*Row `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"`
	// Col_display_names is a map of row column name to it's corresponding display name.  Display names are used
	// by the user interface to render a field in a struct's rows.
	ColDisplayNames map[string]string `` /* 196-byte string literal not displayed */
	// Col_display_order is an ordered list of row column names.  The order of the column names are used by the user
	// interface to render the column order of a struct's rows.
	ColDisplayOrder []string `protobuf:"bytes,4,rep,name=col_display_order,json=colDisplayOrder,proto3" json:"col_display_order,omitempty"`
	// Col_tags is a map of column tag to row column name. These tags are used by Trustero's evidence testing interface
	// to identify relevant evidence.
	ColTags map[string]string `` /* 170-byte string literal not displayed */
	// contains filtered or unexported fields
}

Struct is a structured evidence defined in tabular form. Each struct typically represent a service type (see Evidence message definition). Each struct consists of rows of data. Each row typically represent a service instance and its configurations. A row contains column name and column value pairs. All rows in a struct must have the same column name-value pairs.

func (*Struct) Descriptor deprecated

func (*Struct) Descriptor() ([]byte, []int)

Deprecated: Use Struct.ProtoReflect.Descriptor instead.

func (*Struct) GetColDisplayNames

func (x *Struct) GetColDisplayNames() map[string]string

func (*Struct) GetColDisplayOrder

func (x *Struct) GetColDisplayOrder() []string

func (*Struct) GetColTags

func (x *Struct) GetColTags() map[string]string

func (*Struct) GetRows

func (x *Struct) GetRows() []*Row

func (*Struct) ProtoMessage

func (*Struct) ProtoMessage()

func (*Struct) ProtoReflect

func (x *Struct) ProtoReflect() protoreflect.Message

func (*Struct) Reset

func (x *Struct) Reset()

func (*Struct) String

func (x *Struct) String() string

func (*Struct) Tabulate

func (s *Struct) Tabulate() (headers []string, rows [][]string, err error)

Tabulate converts a receptor_v1.Struct to an ordered and displayable array header strings, and an array of rows of strings. Each row's columns are ordered according to its headers in the headers array.

type UnimplementedReceptorServer

type UnimplementedReceptorServer struct{}

UnimplementedReceptorServer should be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedReceptorServer) Discovered

func (UnimplementedReceptorServer) GetConfiguration

func (UnimplementedReceptorServer) Notify

func (UnimplementedReceptorServer) Report

func (UnimplementedReceptorServer) SetConfiguration

func (UnimplementedReceptorServer) Verified

type UnsafeReceptorServer

type UnsafeReceptorServer interface {
	// contains filtered or unexported methods
}

UnsafeReceptorServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ReceptorServer will result in compilation errors.

type Value

type Value struct {

	// Types that are assignable to ValueType:
	//
	//	*Value_DoubleValue
	//	*Value_FloatValue
	//	*Value_Int32Value
	//	*Value_Int64Value
	//	*Value_Uint32Value
	//	*Value_Uint64Value
	//	*Value_BoolValue
	//	*Value_StringValue
	//	*Value_TimestampValue
	ValueType isValue_ValueType `protobuf_oneof:"value_type"`
	// contains filtered or unexported fields
}

Value is a [Struct.row.col] column value. Value types can be simple protobuf scalar or [google.proto.Timestamp].

func (*Value) Descriptor deprecated

func (*Value) Descriptor() ([]byte, []int)

Deprecated: Use Value.ProtoReflect.Descriptor instead.

func (*Value) GetBoolValue

func (x *Value) GetBoolValue() bool

func (*Value) GetDoubleValue

func (x *Value) GetDoubleValue() float64

func (*Value) GetFloatValue

func (x *Value) GetFloatValue() float32

func (*Value) GetInt32Value

func (x *Value) GetInt32Value() int32

func (*Value) GetInt64Value

func (x *Value) GetInt64Value() int64

func (*Value) GetStringValue

func (x *Value) GetStringValue() string

func (*Value) GetTimestampValue

func (x *Value) GetTimestampValue() *timestamppb.Timestamp

func (*Value) GetUint32Value

func (x *Value) GetUint32Value() uint32

func (*Value) GetUint64Value

func (x *Value) GetUint64Value() uint64

func (*Value) GetValueType

func (m *Value) GetValueType() isValue_ValueType

func (*Value) ProtoMessage

func (*Value) ProtoMessage()

func (*Value) ProtoReflect

func (x *Value) ProtoReflect() protoreflect.Message

func (*Value) Reset

func (x *Value) Reset()

func (*Value) String

func (x *Value) String() string

type Value_BoolValue

type Value_BoolValue struct {
	BoolValue bool `protobuf:"varint,7,opt,name=bool_value,json=boolValue,proto3,oneof"`
}

type Value_DoubleValue

type Value_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,1,opt,name=double_value,json=doubleValue,proto3,oneof"`
}

type Value_FloatValue

type Value_FloatValue struct {
	FloatValue float32 `protobuf:"fixed32,2,opt,name=float_value,json=floatValue,proto3,oneof"`
}

type Value_Int32Value

type Value_Int32Value struct {
	Int32Value int32 `protobuf:"varint,3,opt,name=int32_value,json=int32Value,proto3,oneof"`
}

type Value_Int64Value

type Value_Int64Value struct {
	Int64Value int64 `protobuf:"varint,4,opt,name=int64_value,json=int64Value,proto3,oneof"`
}

type Value_StringValue

type Value_StringValue struct {
	StringValue string `protobuf:"bytes,8,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type Value_TimestampValue

type Value_TimestampValue struct {
	TimestampValue *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
}

type Value_Uint32Value

type Value_Uint32Value struct {
	Uint32Value uint32 `protobuf:"varint,5,opt,name=uint32_value,json=uint32Value,proto3,oneof"`
}

type Value_Uint64Value

type Value_Uint64Value struct {
	Uint64Value uint64 `protobuf:"varint,6,opt,name=uint64_value,json=uint64Value,proto3,oneof"`
}

Jump to

Keyboard shortcuts

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