Documentation
¶
Index ¶
- type AccountInfo
- type Credentials
- type Directory
- type Entitlement
- type Handler
- func (h *Handler) ChaosOperations() []string
- func (h *Handler) ChaosRegions() []string
- func (h *Handler) ChaosServiceName() string
- func (h *Handler) ExtractOperation(c *echo.Context) string
- func (h *Handler) ExtractResource(_ *echo.Context) string
- func (h *Handler) GetSupportedOperations() []string
- func (h *Handler) Handler() echo.HandlerFunc
- func (h *Handler) MatchPriority() int
- func (h *Handler) Name() string
- func (h *Handler) RouteMatcher() service.Matcher
- func (h *Handler) SetDirectory(d Directory)
- func (h *Handler) SetTokenSource(s TokenSource)
- type Provider
- type TokenSource
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountInfo ¶
AccountInfo is the display data of an account.
type Credentials ¶
type Credentials struct {
Expiration time.Time
AccessKeyID string
SecretAccessKey string
SessionToken string
}
Credentials are short-lived role credentials.
type Directory ¶
type Directory interface {
Entitlements(subject ssooidc.Subject) ([]Entitlement, error)
AccountInfo(accountID string) AccountInfo
IssueCredentials(e Entitlement, subject ssooidc.Subject) (Credentials, error)
}
Directory resolves entitlements and mints role credentials. Implementations look up sibling services lazily, at call time.
type Entitlement ¶
type Entitlement struct {
AccountID string
PermissionSetArn string
PermissionSetName string
InstanceArn string
}
Entitlement is one permission set assigned to a user (directly or through a group) in an account.
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler is the Echo handler for the IAM Identity Center portal API.
func (*Handler) ChaosOperations ¶
ChaosOperations returns the fault-injectable operations.
func (*Handler) ChaosRegions ¶
ChaosRegions returns the regions served.
func (*Handler) ChaosServiceName ¶
ChaosServiceName returns the lowercase service name for fault rules.
func (*Handler) ExtractOperation ¶
ExtractOperation returns the operation name.
func (*Handler) ExtractResource ¶
ExtractResource returns a fixed label to avoid high-cardinality metrics.
func (*Handler) GetSupportedOperations ¶
GetSupportedOperations returns the supported operations.
func (*Handler) Handler ¶
func (h *Handler) Handler() echo.HandlerFunc
Handler returns the Echo handler.
func (*Handler) MatchPriority ¶
MatchPriority returns the routing priority.
func (*Handler) RouteMatcher ¶
RouteMatcher matches portal calls. The SDK sends them unsigned with the bearer token header, which is what separates them from S3 path-style requests on the same paths.
func (*Handler) SetDirectory ¶
SetDirectory wires the entitlement and credential directory.
func (*Handler) SetTokenSource ¶
func (h *Handler) SetTokenSource(s TokenSource)
SetTokenSource wires the OIDC token validator.
type Provider ¶
type Provider struct{}
Provider implements service.Provider for the IAM Identity Center portal API.
func (*Provider) Init ¶
func (p *Provider) Init(_ *service.AppContext) (service.Registerable, error)
Init builds the handler; the cli wires the token source and directory lazily.