Documentation
¶
Index ¶
Constants ¶
View Source
const ( // Attribute representing an unique identifier of an identity. GoogleSubject = "google.subject" // Attribute representing a set of groups that the identity belongs to. GoogleGroups = "google.groups" )
Standard google attributes defined by Google Cloud Platform.
View Source
const ( // google.subject can't exceed 127 bytes MaximumSubjectLengthInBytes = 127 // custom attributes can't exceed 100 characters MaximumCustomAttributeNameSize = 100 // Custom attributes can't exceed 8192 bytes MaximumCustomAttributesLengthInBytes = 8192 // Attribute mapping expression can't exceed 2048 bytes MaximumAttributeExpressionLengthInBytes = 2048 // Attribute condition expression can't exceed 4096 bytes MaximumAttributeConditionLengthInBytes = 4096 // Workload identity federation can't exceed 50 custom attributes MaximumCustomAttributes = 50 )
Limitations set by Google Cloud Platform.
(See more at https://cloud.google.com/iam/quotas#limits)
Variables ¶
View Source
var ErrAttrConditionFailed = errors.New("the given credential is rejected by the attribute condition")
ErrAttrConditionFailed means that a credential was rejected by the attribute condition.
Functions ¶
This section is empty.
Types ¶
type Compiler ¶
type Compiler struct {
// Input used to compile a Workload Identity Federation expression
Input *Input
// Target Provider supported by Workload Identity Federation (eg. OIDC, SAML, etc.)
Provider provider.Provider
}
Compiler is the main struct used to compile a WIF expression
type Input ¶
type Input struct {
// [Required] Payload is the source of the expression, in this project it's an external token (eg. a JWT, a SAML2.0 response, etc.)
Payload string
// [Required] AttributeMapping defines how to derive the value from an external token into attributes interpretable by GCP IAM.
// The map key is the target attribute (eg. google.subject, google.groups, etc.).
// The map value is a Common Expression Language (CEL) expression that transforms one or more attributes from the external token (.
AttributeMapping map[string]string
// [Optional] AttributeCondition is CEL expression that can check assertion attributes and target attributes (eg. 'admins' in google.groups).
// If the attribute condition evaluates to true for a given credential, the credential is accepted.
// Otherwise, the credential is rejected.
AttributeCondition string
}
Input used to compile a Workload Identity Federation (WIF) expression
Click to show internal directories.
Click to hide internal directories.