Documentation
¶
Index ¶
- Variables
- func New(ctx context.Context, cc *cfg.Crowdstrike, opts *cli.ConnectorOpts) (connectorbuilder.ConnectorBuilderV2, []connectorbuilder.Opt, error)
- func WithRateLimitAnnotations(rateLimitInfo ...RateLimitInfo) annotations.Annotations
- type AccountData
- type Connector
- func (o *Connector) GlobalActions(ctx context.Context, registry actions.ActionRegistry) error
- func (o *Connector) Metadata(ctx context.Context) (*v2.ConnectorMetadata, error)
- func (o *Connector) ResourceSyncers(ctx context.Context) []connectorbuilder.ResourceSyncerV2
- func (o *Connector) Validate(ctx context.Context) (annotations.Annotations, error)
- type IdentityProtectionClient
- type IdentityRiskData
- type PasswordAttributes
- type RateLimitInfo
- type RiskFactor
Constants ¶
This section is empty.
Variables ¶
var ResourcesPageSize int64 = 50
Functions ¶
func New ¶
func New(ctx context.Context, cc *cfg.Crowdstrike, opts *cli.ConnectorOpts) (connectorbuilder.ConnectorBuilderV2, []connectorbuilder.Opt, error)
New returns the CrowdStrike connector.
func WithRateLimitAnnotations ¶
func WithRateLimitAnnotations(rateLimitInfo ...RateLimitInfo) annotations.Annotations
Types ¶
type AccountData ¶ added in v0.0.8
type AccountData struct {
TypeName string `json:"__typename"`
// Active Directory fields
ObjectSid string `json:"objectSid,omitempty"`
SamAccountName string `json:"samAccountName,omitempty"`
Domain string `json:"domain,omitempty"`
ObjectGUID string `json:"objectGuid,omitempty"`
// Azure AD / AWS IC SSO / Generic SSO fields
DataSourceParticipantIdentifier string `json:"dataSourceParticipantIdentifier,omitempty"`
// PasswordAttributes carries per-account password risk signals (present on user
// account descriptors). Nil when the descriptor type does not expose it.
PasswordAttributes *PasswordAttributes `json:"passwordAttributes,omitempty"`
}
AccountData represents an external account descriptor associated with an identity entity.
func (AccountData) ExternalID ¶ added in v0.0.8
func (a AccountData) ExternalID() string
ExternalID returns the best external identifier for this account based on its type.
Mapping by account type:
- ActiveDirectoryAccountDescriptor → objectGuid (formatted as hyphen-free hex)
- AzureSsoUserAccountDescriptor → dataSourceParticipantIdentifier (Azure AD object ID)
- AwsIcSsoUserAccountDescriptorImpl → dataSourceParticipantIdentifier (AWS IC user ID)
- SsoUserAccountDescriptorImpl → dataSourceParticipantIdentifier (generic SSO ID)
Non-user account types (groups, roles, endpoints, cloud services) return "".
type Connector ¶ added in v0.0.6
type Connector struct {
// contains filtered or unexported fields
}
func (*Connector) GlobalActions ¶ added in v0.0.15
GlobalActions registers account-level actions used by C1 automations such as push rules.
func (*Connector) ResourceSyncers ¶ added in v0.0.6
func (o *Connector) ResourceSyncers(ctx context.Context) []connectorbuilder.ResourceSyncerV2
func (*Connector) Validate ¶ added in v0.0.6
func (o *Connector) Validate(ctx context.Context) (annotations.Annotations, error)
Validates that the user has access to all relevant endpoints.
type IdentityProtectionClient ¶ added in v0.0.7
type IdentityProtectionClient struct {
// contains filtered or unexported fields
}
IdentityProtectionClient provides methods to interact with CrowdStrike's Identity Protection API.
func NewIdentityProtectionClient ¶ added in v0.0.7
func NewIdentityProtectionClient(httpClient *uhttp.BaseHttpClient, host string, includePasswordRisk bool) *IdentityProtectionClient
NewIdentityProtectionClient creates a new Identity Protection client that talks to CrowdStrike's GraphQL API over the given shared uhttp base client (OAuth2 client-credentials, transient-error retries, and rate-limit metadata all handled by uhttp). includePasswordRisk opts the entities query into the password-attributes selection.
func (*IdentityProtectionClient) GetIdentityRiskScores ¶ added in v0.0.7
func (c *IdentityProtectionClient) GetIdentityRiskScores(ctx context.Context, pageSize int, cursor string) ([]IdentityRiskData, string, bool, RateLimitInfo, error)
GetIdentityRiskScores fetches identity risk scores from CrowdStrike Identity Protection. It uses the GraphQL API to retrieve risk data for all users.
func (*IdentityProtectionClient) ValidateAccess ¶ added in v0.0.7
func (c *IdentityProtectionClient) ValidateAccess(ctx context.Context) error
ValidateAccess checks if the connector has access to the Identity Protection API.
type IdentityRiskData ¶ added in v0.0.7
type IdentityRiskData struct {
PrimaryDisplayName string `json:"primaryDisplayName"`
SecondaryDisplayName string `json:"secondaryDisplayName"`
EmailAddresses []string `json:"emailAddresses"`
RiskScore float64 `json:"riskScore"`
RiskScoreSeverity string `json:"riskScoreSeverity"`
RiskFactors []RiskFactor `json:"riskFactors"`
Accounts []AccountData `json:"accounts"`
}
IdentityRiskData represents the risk data for a single identity from CrowdStrike.
type PasswordAttributes ¶ added in v0.0.16
PasswordAttributes captures the password risk signals Identity Protection exposes on a user account descriptor. "Exposed" is CrowdStrike's compromised-credential signal (the password appears in a known breach/exposed set); "Strength" is the PasswordStrength enum (UNKNOWN | WEAK | STRONG).
type RateLimitInfo ¶
func NewRateLimitInfo ¶
func NewRateLimitInfo(limit, remaining int64) RateLimitInfo
type RiskFactor ¶ added in v0.0.7
RiskFactor represents a single factor contributing to an identity's risk score.