Documentation ¶
Overview ¶
Package receptor_v1 provides the Go GRPC client bindings to communicate with the Trustero service.
Index ¶
- Constants
- Variables
- func RegisterReceptorServer(s grpc.ServiceRegistrar, srv ReceptorServer)
- type Credential
- func (*Credential) Descriptor() ([]byte, []int)deprecated
- func (x *Credential) GetCredential() string
- func (x *Credential) GetExceptions() string
- func (x *Credential) GetIsCredentialValid() bool
- func (x *Credential) GetMessage() string
- func (x *Credential) GetReceptorObjectId() string
- func (*Credential) ProtoMessage()
- func (x *Credential) ProtoReflect() protoreflect.Message
- func (x *Credential) Reset()
- func (x *Credential) String() string
- type Document
- type Evidence
- func (*Evidence) Descriptor() ([]byte, []int)deprecated
- func (x *Evidence) GetCaption() string
- func (x *Evidence) GetDescription() string
- func (x *Evidence) GetDoc() *Document
- func (x *Evidence) GetEntityType() string
- func (m *Evidence) GetEvidenceType() isEvidence_EvidenceType
- func (x *Evidence) GetServiceAccountId() string
- func (x *Evidence) GetServiceName() string
- func (x *Evidence) GetSources() []*Source
- func (x *Evidence) GetStruct() *Struct
- func (*Evidence) ProtoMessage()
- func (x *Evidence) ProtoReflect() protoreflect.Message
- func (x *Evidence) Reset()
- func (x *Evidence) String() string
- type Evidence_Doc
- type Evidence_Struct
- type Finding
- func (*Finding) Descriptor() ([]byte, []int)deprecated
- func (x *Finding) GetEntities() []*ServiceEntity
- func (x *Finding) GetEvidences() []*Evidence
- func (x *Finding) GetReceptorType() string
- func (x *Finding) GetServiceProviderAccount() string
- func (*Finding) ProtoMessage()
- func (x *Finding) ProtoReflect() protoreflect.Message
- func (x *Finding) Reset()
- func (x *Finding) String() string
- type JobResult
- func (*JobResult) Descriptor() ([]byte, []int)deprecated
- func (x *JobResult) GetCommand() string
- func (x *JobResult) GetExceptions() string
- func (x *JobResult) GetReceptorObjectId() string
- func (x *JobResult) GetResult() string
- func (x *JobResult) GetTracerId() string
- func (*JobResult) ProtoMessage()
- func (x *JobResult) ProtoReflect() protoreflect.Message
- func (x *JobResult) Reset()
- func (x *JobResult) String() string
- type ReceptorClient
- type ReceptorConfiguration
- func (*ReceptorConfiguration) Descriptor() ([]byte, []int)deprecated
- func (x *ReceptorConfiguration) GetConfig() string
- func (x *ReceptorConfiguration) GetCredential() string
- func (x *ReceptorConfiguration) GetModelId() string
- func (x *ReceptorConfiguration) GetReceptorObjectId() string
- func (x *ReceptorConfiguration) GetServiceProviderAccount() string
- func (*ReceptorConfiguration) ProtoMessage()
- func (x *ReceptorConfiguration) ProtoReflect() protoreflect.Message
- func (x *ReceptorConfiguration) Reset()
- func (x *ReceptorConfiguration) String() string
- type ReceptorOID
- type ReceptorServer
- type Row
- type ServiceEntities
- func (*ServiceEntities) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceEntities) GetEntities() []*ServiceEntity
- func (x *ServiceEntities) GetReceptorType() string
- func (x *ServiceEntities) GetServiceProviderAccount() string
- func (*ServiceEntities) ProtoMessage()
- func (x *ServiceEntities) ProtoReflect() protoreflect.Message
- func (x *ServiceEntities) Reset()
- func (x *ServiceEntities) String() string
- type ServiceEntity
- func (*ServiceEntity) Descriptor() ([]byte, []int)deprecated
- func (x *ServiceEntity) GetEntityInstanceId() string
- func (x *ServiceEntity) GetEntityInstanceName() string
- func (x *ServiceEntity) GetEntityType() string
- func (x *ServiceEntity) GetServiceAccountId() string
- func (x *ServiceEntity) GetServiceName() string
- func (*ServiceEntity) ProtoMessage()
- func (x *ServiceEntity) ProtoReflect() protoreflect.Message
- func (x *ServiceEntity) Reset()
- func (x *ServiceEntity) String() string
- type Source
- type Struct
- func (*Struct) Descriptor() ([]byte, []int)deprecated
- func (x *Struct) GetColDisplayNames() map[string]string
- func (x *Struct) GetColDisplayOrder() []string
- func (x *Struct) GetColTags() map[string]string
- func (x *Struct) GetRows() []*Row
- func (*Struct) ProtoMessage()
- func (x *Struct) ProtoReflect() protoreflect.Message
- func (x *Struct) Reset()
- func (x *Struct) String() string
- func (s *Struct) Tabulate() (headers []string, rows [][]string, err error)
- type UnimplementedReceptorServer
- func (UnimplementedReceptorServer) Discovered(context.Context, *ServiceEntities) (*wrapperspb.StringValue, error)
- func (UnimplementedReceptorServer) GetConfiguration(context.Context, *ReceptorOID) (*ReceptorConfiguration, error)
- func (UnimplementedReceptorServer) Notify(context.Context, *JobResult) (*emptypb.Empty, error)
- func (UnimplementedReceptorServer) Report(context.Context, *Finding) (*wrapperspb.StringValue, error)
- func (UnimplementedReceptorServer) SetConfiguration(context.Context, *ReceptorConfiguration) (*emptypb.Empty, error)
- func (UnimplementedReceptorServer) Verified(context.Context, *Credential) (*emptypb.Empty, error)
- type UnsafeReceptorServer
- type Value
- func (*Value) Descriptor() ([]byte, []int)deprecated
- func (x *Value) GetBoolValue() bool
- func (x *Value) GetDoubleValue() float64
- func (x *Value) GetFloatValue() float32
- func (x *Value) GetInt32Value() int32
- func (x *Value) GetInt64Value() int64
- func (x *Value) GetStringValue() string
- func (x *Value) GetTimestampValue() *timestamppb.Timestamp
- func (x *Value) GetUint32Value() uint32
- func (x *Value) GetUint64Value() uint64
- func (m *Value) GetValueType() isValue_ValueType
- func (*Value) ProtoMessage()
- func (x *Value) ProtoReflect() protoreflect.Message
- func (x *Value) Reset()
- func (x *Value) String() string
- type Value_BoolValue
- type Value_DoubleValue
- type Value_FloatValue
- type Value_Int32Value
- type Value_Int64Value
- type Value_StringValue
- type Value_TimestampValue
- type Value_Uint32Value
- type Value_Uint64Value
Constants ¶
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 ¶
var File_receptor_v1_receptor_proto protoreflect.FileDescriptor
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) ProtoMessage ¶
func (*Document) ProtoMessage()
func (*Document) ProtoReflect ¶
func (x *Document) ProtoReflect() protoreflect.Message
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) GetCaption ¶
func (*Evidence) GetDescription ¶
func (*Evidence) GetEntityType ¶
func (*Evidence) GetEvidenceType ¶
func (m *Evidence) GetEvidenceType() isEvidence_EvidenceType
func (*Evidence) GetServiceAccountId ¶
func (*Evidence) GetServiceName ¶
func (*Evidence) GetSources ¶
func (*Evidence) ProtoMessage ¶
func (*Evidence) ProtoMessage()
func (*Evidence) ProtoReflect ¶
func (x *Evidence) ProtoReflect() protoreflect.Message
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) GetEntities ¶
func (x *Finding) GetEntities() []*ServiceEntity
func (*Finding) GetEvidences ¶
func (*Finding) GetReceptorType ¶
func (*Finding) GetServiceProviderAccount ¶
func (*Finding) ProtoMessage ¶
func (*Finding) ProtoMessage()
func (*Finding) ProtoReflect ¶
func (x *Finding) ProtoReflect() protoreflect.Message
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) GetCommand ¶
func (*JobResult) GetExceptions ¶
func (*JobResult) GetReceptorObjectId ¶
func (*JobResult) GetTracerId ¶
func (*JobResult) ProtoMessage ¶
func (*JobResult) ProtoMessage()
func (*JobResult) ProtoReflect ¶
func (x *JobResult) ProtoReflect() protoreflect.Message
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) GetEntityInstanceId ¶
func (*Row) ProtoMessage ¶
func (*Row) ProtoMessage()
func (*Row) ProtoReflect ¶
func (x *Row) ProtoReflect() protoreflect.Message
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) GetRawApiRequest ¶
func (*Source) GetRawApiResponse ¶
func (*Source) ProtoMessage ¶
func (*Source) ProtoMessage()
func (*Source) ProtoReflect ¶
func (x *Source) ProtoReflect() protoreflect.Message
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) GetColDisplayNames ¶
func (*Struct) GetColDisplayOrder ¶
func (*Struct) GetColTags ¶
func (*Struct) ProtoMessage ¶
func (*Struct) ProtoMessage()
func (*Struct) ProtoReflect ¶
func (x *Struct) ProtoReflect() protoreflect.Message
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) Discovered(context.Context, *ServiceEntities) (*wrapperspb.StringValue, error)
func (UnimplementedReceptorServer) GetConfiguration ¶
func (UnimplementedReceptorServer) GetConfiguration(context.Context, *ReceptorOID) (*ReceptorConfiguration, error)
func (UnimplementedReceptorServer) Report ¶
func (UnimplementedReceptorServer) Report(context.Context, *Finding) (*wrapperspb.StringValue, error)
func (UnimplementedReceptorServer) SetConfiguration ¶
func (UnimplementedReceptorServer) SetConfiguration(context.Context, *ReceptorConfiguration) (*emptypb.Empty, error)
func (UnimplementedReceptorServer) Verified ¶
func (UnimplementedReceptorServer) Verified(context.Context, *Credential) (*emptypb.Empty, error)
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) GetBoolValue ¶
func (*Value) GetDoubleValue ¶
func (*Value) GetFloatValue ¶
func (*Value) GetInt32Value ¶
func (*Value) GetInt64Value ¶
func (*Value) GetStringValue ¶
func (*Value) GetTimestampValue ¶
func (x *Value) GetTimestampValue() *timestamppb.Timestamp
func (*Value) GetUint32Value ¶
func (*Value) GetUint64Value ¶
func (*Value) GetValueType ¶
func (m *Value) GetValueType() isValue_ValueType
func (*Value) ProtoMessage ¶
func (*Value) ProtoMessage()
func (*Value) ProtoReflect ¶
func (x *Value) ProtoReflect() protoreflect.Message
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"`
}