token

package
v0.6.29 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2024 License: Apache-2.0 Imports: 28 Imported by: 58

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StdinStderrTokenProvider added in v0.3.0

func StdinStderrTokenProvider() (string, error)

StdinStderrTokenProvider gets MFA token from standard input.

Types

type FormatError added in v0.3.0

type FormatError struct {
	// contains filtered or unexported fields
}

FormatError is returned when there is a problem with token that is an encoded sts request. This can include the url, data, action or anything else that prevents the sts call from being made.

func (FormatError) Error added in v0.3.0

func (e FormatError) Error() string

type Generator added in v0.3.0

type Generator interface {
	// Get a token using the provided options
	GetWithOptions(options *GetTokenOptions) (Token, error)
	// GetWithSTS returns a token valid for clusterID using the given STS client.
	GetWithSTS(clusterID string, stsAPI stsiface.STSAPI) (Token, error)
	// FormatJSON returns the client auth formatted json for the ExecCredential auth
	FormatJSON(Token) string
}

Generator provides new tokens for the AWS IAM Authenticator.

func NewGenerator added in v0.3.0

func NewGenerator(forwardSessionName bool, cache bool) (Generator, error)

NewGenerator creates a Generator and returns it.

type GetTokenOptions added in v0.5.0

type GetTokenOptions struct {
	Region               string
	ClusterID            string
	AssumeRoleARN        string
	AssumeRoleExternalID string
	SessionName          string
}

GetTokenOptions is passed to GetWithOptions to provide an extensible get token interface

type Identity

type Identity struct {
	// ARN is the raw Amazon Resource Name returned by sts:GetCallerIdentity
	ARN string

	// CanonicalARN is the Amazon Resource Name converted to a more canonical
	// representation. In particular, STS assumed role ARNs like
	// "arn:aws:sts::ACCOUNTID:assumed-role/ROLENAME/SESSIONNAME" are converted
	// to their IAM ARN equivalent "arn:aws:iam::ACCOUNTID:role/NAME"
	CanonicalARN string

	// AccountID is the 12 digit AWS account number.
	AccountID string

	// UserID is the unique user/role ID (e.g., "AROAAAAAAAAAAAAAAAAAA").
	UserID string

	// SessionName is the STS session name (or "" if this is not a
	// session-based identity). For EC2 instance roles, this will be the EC2
	// instance ID (e.g., "i-0123456789abcdef0"). You should only rely on it
	// if you trust that _only_ EC2 is allowed to assume the IAM Role. If IAM
	// users or other roles are allowed to assume the role, they can provide
	// (nearly) arbitrary strings here.
	SessionName string

	// The AWS Access Key ID used to authenticate the request.  This can be used
	// in conjunction with CloudTrail to determine the identity of the individual
	// if the individual assumed an IAM role before making the request.
	AccessKeyID string

	// ASW STS endpoint used to authenticate (expected values is sts endpoint eg: sts.us-west-2.amazonaws.com)
	STSEndpoint string
}

Identity is returned on successful Verify() results. It contains a parsed version of the AWS identity used to create the token.

type STSError added in v0.3.0

type STSError struct {
	// contains filtered or unexported fields
}

STSError is returned when there was either an error calling STS or a problem processing the data returned from STS.

func NewSTSError added in v0.3.0

func NewSTSError(m string) STSError

NewSTSError creates a error of type STS.

func (STSError) Error added in v0.3.0

func (e STSError) Error() string

type STSThrottling added in v0.6.28

type STSThrottling struct {
	// contains filtered or unexported fields
}

STSThrottling is returned when there was STS Throttling.

func NewSTSThrottling added in v0.6.28

func NewSTSThrottling(m string) STSThrottling

NewSTSError creates a error of type STS.

func (STSThrottling) Error added in v0.6.28

func (e STSThrottling) Error() string

type Token added in v0.4.0

type Token struct {
	Token      string
	Expiration time.Time
}

Token is generated and used by Kubernetes client-go to authenticate with a Kubernetes cluster.

type Verifier added in v0.3.0

type Verifier interface {
	Verify(token string) (*Identity, error)
}

Verifier validates tokens by calling STS and returning the associated identity.

func NewVerifier added in v0.3.0

func NewVerifier(clusterID, partitionID, region string) Verifier

NewVerifier creates a Verifier that is bound to the clusterID and uses the default http client.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL