Documentation
¶
Index ¶
- type ManagerConfig
- type ZeroTrustManager
- func (ztm *ZeroTrustManager) AuthenticateService(ctx context.Context, providerName string, request *types.ServiceAuthRequest) (*types.ServiceAuthResponse, error)
- func (ztm *ZeroTrustManager) Close() error
- func (ztm *ZeroTrustManager) ConfigureServiceMesh(ctx context.Context, providerName string, ...) (*types.ServiceMeshConfigResponse, error)
- func (ztm *ZeroTrustManager) CreateSPIFFEIdentity(ctx context.Context, providerName string, request *types.SPIFFEIdentityRequest) (*types.SPIFFEIdentityResponse, error)
- func (ztm *ZeroTrustManager) EvaluatePolicy(ctx context.Context, providerName string, ...) (*types.PolicyEvaluationResponse, error)
- func (ztm *ZeroTrustManager) GenerateMTLSCertificate(ctx context.Context, providerName string, request *types.MTLSCertRequest) (*types.MTLSCertResponse, error)
- func (ztm *ZeroTrustManager) GetDefaultProvider() (ZeroTrustProvider, error)
- func (ztm *ZeroTrustManager) GetProvider(name string) (ZeroTrustProvider, error)
- func (ztm *ZeroTrustManager) GetStats(ctx context.Context) map[string]interface{}
- func (ztm *ZeroTrustManager) HealthCheck(ctx context.Context) map[string]error
- func (ztm *ZeroTrustManager) IssueServiceCredential(ctx context.Context, providerName string, request *types.CredentialRequest) (*types.CredentialResponse, error)
- func (ztm *ZeroTrustManager) RegisterProvider(provider ZeroTrustProvider) error
- func (ztm *ZeroTrustManager) ValidateMTLSCertificate(ctx context.Context, providerName string, ...) (*types.MTLSCertValidationResponse, error)
- func (ztm *ZeroTrustManager) ValidateSPIFFEIdentity(ctx context.Context, providerName string, ...) (*types.SPIFFEValidationResponse, error)
- func (ztm *ZeroTrustManager) ValidateServiceIdentity(ctx context.Context, providerName string, ...) (*types.ServiceIdentityResponse, error)
- type ZeroTrustProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ManagerConfig ¶
type ManagerConfig struct {
DefaultProvider string `json:"default_provider"`
RetryAttempts int `json:"retry_attempts"`
RetryDelay time.Duration `json:"retry_delay"`
Timeout time.Duration `json:"timeout"`
Metadata map[string]string `json:"metadata"`
}
ManagerConfig holds zero trust manager configuration
func DefaultManagerConfig ¶
func DefaultManagerConfig() *ManagerConfig
DefaultManagerConfig returns default zero trust manager configuration
type ZeroTrustManager ¶
type ZeroTrustManager struct {
// contains filtered or unexported fields
}
ZeroTrustManager manages multiple zero trust security providers
func NewZeroTrustManager ¶
func NewZeroTrustManager(config *ManagerConfig, logger *logrus.Logger) *ZeroTrustManager
NewZeroTrustManager creates a new zero trust manager
func (*ZeroTrustManager) AuthenticateService ¶
func (ztm *ZeroTrustManager) AuthenticateService(ctx context.Context, providerName string, request *types.ServiceAuthRequest) (*types.ServiceAuthResponse, error)
AuthenticateService authenticates a service using the specified provider
func (*ZeroTrustManager) Close ¶
func (ztm *ZeroTrustManager) Close() error
Close closes all providers
func (*ZeroTrustManager) ConfigureServiceMesh ¶
func (ztm *ZeroTrustManager) ConfigureServiceMesh(ctx context.Context, providerName string, request *types.ServiceMeshConfigRequest) (*types.ServiceMeshConfigResponse, error)
ConfigureServiceMesh configures service mesh security using the specified provider
func (*ZeroTrustManager) CreateSPIFFEIdentity ¶
func (ztm *ZeroTrustManager) CreateSPIFFEIdentity(ctx context.Context, providerName string, request *types.SPIFFEIdentityRequest) (*types.SPIFFEIdentityResponse, error)
CreateSPIFFEIdentity creates a SPIFFE identity using the specified provider
func (*ZeroTrustManager) EvaluatePolicy ¶
func (ztm *ZeroTrustManager) EvaluatePolicy(ctx context.Context, providerName string, request *types.PolicyEvaluationRequest) (*types.PolicyEvaluationResponse, error)
EvaluatePolicy evaluates a zero trust policy using the specified provider
func (*ZeroTrustManager) GenerateMTLSCertificate ¶
func (ztm *ZeroTrustManager) GenerateMTLSCertificate(ctx context.Context, providerName string, request *types.MTLSCertRequest) (*types.MTLSCertResponse, error)
GenerateMTLSCertificate generates an mTLS certificate using the specified provider
func (*ZeroTrustManager) GetDefaultProvider ¶
func (ztm *ZeroTrustManager) GetDefaultProvider() (ZeroTrustProvider, error)
GetDefaultProvider returns the default zero trust provider
func (*ZeroTrustManager) GetProvider ¶
func (ztm *ZeroTrustManager) GetProvider(name string) (ZeroTrustProvider, error)
GetProvider returns a zero trust provider by name
func (*ZeroTrustManager) GetStats ¶
func (ztm *ZeroTrustManager) GetStats(ctx context.Context) map[string]interface{}
GetStats returns statistics for all providers
func (*ZeroTrustManager) HealthCheck ¶
func (ztm *ZeroTrustManager) HealthCheck(ctx context.Context) map[string]error
HealthCheck performs health check on all providers
func (*ZeroTrustManager) IssueServiceCredential ¶
func (ztm *ZeroTrustManager) IssueServiceCredential(ctx context.Context, providerName string, request *types.CredentialRequest) (*types.CredentialResponse, error)
IssueServiceCredential issues a credential for a service using the specified provider
func (*ZeroTrustManager) RegisterProvider ¶
func (ztm *ZeroTrustManager) RegisterProvider(provider ZeroTrustProvider) error
RegisterProvider registers a zero trust provider
func (*ZeroTrustManager) ValidateMTLSCertificate ¶
func (ztm *ZeroTrustManager) ValidateMTLSCertificate(ctx context.Context, providerName string, request *types.MTLSCertValidationRequest) (*types.MTLSCertValidationResponse, error)
ValidateMTLSCertificate validates an mTLS certificate using the specified provider
func (*ZeroTrustManager) ValidateSPIFFEIdentity ¶
func (ztm *ZeroTrustManager) ValidateSPIFFEIdentity(ctx context.Context, providerName string, request *types.SPIFFEValidationRequest) (*types.SPIFFEValidationResponse, error)
ValidateSPIFFEIdentity validates a SPIFFE identity using the specified provider
func (*ZeroTrustManager) ValidateServiceIdentity ¶
func (ztm *ZeroTrustManager) ValidateServiceIdentity(ctx context.Context, providerName string, request *types.ServiceIdentityRequest) (*types.ServiceIdentityResponse, error)
ValidateServiceIdentity validates a service identity using the specified provider
type ZeroTrustProvider ¶
type ZeroTrustProvider interface {
// Provider information
GetName() string
GetSupportedFeatures() []types.ZeroTrustFeature
GetConnectionInfo() *types.ConnectionInfo
// Identity and authentication
AuthenticateService(ctx context.Context, request *types.ServiceAuthRequest) (*types.ServiceAuthResponse, error)
ValidateServiceIdentity(ctx context.Context, request *types.ServiceIdentityRequest) (*types.ServiceIdentityResponse, error)
IssueServiceCredential(ctx context.Context, request *types.CredentialRequest) (*types.CredentialResponse, error)
// mTLS operations
GenerateMTLSCertificate(ctx context.Context, request *types.MTLSCertRequest) (*types.MTLSCertResponse, error)
ValidateMTLSCertificate(ctx context.Context, request *types.MTLSCertValidationRequest) (*types.MTLSCertValidationResponse, error)
RenewMTLSCertificate(ctx context.Context, request *types.MTLSCertRenewalRequest) (*types.MTLSCertRenewalResponse, error)
// SPIFFE/SPIRE operations
CreateSPIFFEIdentity(ctx context.Context, request *types.SPIFFEIdentityRequest) (*types.SPIFFEIdentityResponse, error)
ValidateSPIFFEIdentity(ctx context.Context, request *types.SPIFFEValidationRequest) (*types.SPIFFEValidationResponse, error)
AttestSPIFFEIdentity(ctx context.Context, request *types.SPIFFEAttestRequest) (*types.SPIFFEAttestResponse, error)
// Service mesh operations
ConfigureServiceMesh(ctx context.Context, request *types.ServiceMeshConfigRequest) (*types.ServiceMeshConfigResponse, error)
ValidateServiceMeshPolicy(ctx context.Context, request *types.ServiceMeshPolicyRequest) (*types.ServiceMeshPolicyResponse, error)
ApplyServiceMeshSecurity(ctx context.Context, request *types.ServiceMeshSecurityRequest) (*types.ServiceMeshSecurityResponse, error)
// Policy enforcement
EvaluatePolicy(ctx context.Context, request *types.PolicyEvaluationRequest) (*types.PolicyEvaluationResponse, error)
EnforcePolicy(ctx context.Context, request *types.PolicyEnforcementRequest) (*types.PolicyEnforcementResponse, error)
// Network segmentation
CreateNetworkSegment(ctx context.Context, request *types.NetworkSegmentRequest) (*types.NetworkSegmentResponse, error)
ValidateNetworkAccess(ctx context.Context, request *types.NetworkAccessRequest) (*types.NetworkAccessResponse, error)
// Health and monitoring
HealthCheck(ctx context.Context) error
GetStats(ctx context.Context) (*types.ZeroTrustStats, error)
// Configuration
Configure(config map[string]interface{}) error
IsConfigured() bool
Close() error
}
ZeroTrustProvider interface for zero trust security backends