Documentation
¶
Index ¶
Constants ¶
View Source
const ( IAMServerIDHeaderName string = "X-Consul-IAM-ServerID" GetEntityMethodHeader string = "X-Consul-IAM-GetEntity-Method" GetEntityURLHeader string = "X-Consul-IAM-GetEntity-URL" GetEntityHeadersHeader string = "X-Consul-IAM-GetEntity-Headers" GetEntityBodyHeader string = "X-Consul-IAM-GetEntity-Body" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// BoundIAMPrincipalARNs are the trusted AWS IAM principal ARNs that are permitted
// to login to the auth method. These can be the exact ARNs or wildcards. Wildcards
// are only supported if EnableIAMEntityDetails is true.
BoundIAMPrincipalARNs []string `json:",omitempty"`
// EnableIAMEntityDetails will fetch the IAM User or IAM Role details to include
// in binding rules. Required if wildcard principal ARNs are used.
EnableIAMEntityDetails bool `json:",omitempty"`
// IAMEntityTags are the specific IAM User or IAM Role tags to include as selectable
// fields in the binding rule attributes. Requires EnableIAMEntityDetails = true.
IAMEntityTags []string `json:",omitempty"`
// ServerIDHeaderValue adds a X-Consul-IAM-ServerID header to each AWS API request.
// This helps protect against replay attacks.
ServerIDHeaderValue string `json:",omitempty"`
// MaxRetries is the maximum number of retries on AWS API requests for recoverable errors.
MaxRetries int `json:",omitempty"`
// IAMEndpoint is the AWS IAM endpoint where iam:GetRole or iam:GetUser requests will be sent.
// Note that the Host header in a signed request cannot be changed.
IAMEndpoint string `json:",omitempty"`
// STSEndpoint is the AWS STS endpoint where sts:GetCallerIdentity requests will be sent.
// Note that the Host header in a signed request cannot be changed.
STSEndpoint string `json:",omitempty"`
// AllowedSTSHeaderValues is a list of additional allowed headers on the sts:GetCallerIdentity
// request in the bearer token. A default list of necessary headers is allowed in any case.
AllowedSTSHeaderValues []string `json:",omitempty"`
}
type Validator ¶
type Validator struct {
// contains filtered or unexported fields
}
func NewValidator ¶
func (*Validator) NewIdentity ¶
func (v *Validator) NewIdentity() *authmethod.Identity
func (*Validator) ValidateLogin ¶
func (v *Validator) ValidateLogin(ctx context.Context, loginToken string) (*authmethod.Identity, error)
ValidateLogin implements authmethod.Validator.
Click to show internal directories.
Click to hide internal directories.