Documentation
¶
Index ¶
- Constants
- func CopyFilesToAmServer(sshClient *ssh.Client, policyFiles []string, application string) error
- func CreateRedirectionUris(issoResource *IssoResource, request *NamedConfigurationRequest) []string
- func FormatAmHeaderString(headerString string) string
- func GenerateAmFiles(request *NamedConfigurationRequest) ([]string, error)
- func GetDomainsFromZoneAndEnvironmentClass(environmentClass, zone string) (string, string, string)
- func GetZone(clusterName string) string
- func InsertPortNumber(originalUrl string, port int) (string, error)
- func SSHConnect(resource *OpenAmResource, port string) (*ssh.Client, *ssh.Session, error)
- func SftpConnect(sshClient *ssh.Client) (*sftp.Client, error)
- func UpdatePolicyFiles(policyFiles []string, environment string) error
- type AMConnection
- func (am *AMConnection) AgentExists(agentName string) bool
- func (am *AMConnection) Authenticate() error
- func (am *AMConnection) CreateAgent(agentName string, redirectionUris []string, issoResource *IssoResource, ...) error
- func (am *AMConnection) CreatePolicies(obj *crest.FRObject, overWrite, continueOnError bool) (err error)
- func (am *AMConnection) CreatePolicy(p map[string]interface{}, overWrite bool, realm string) (err error)
- func (am *AMConnection) DeleteAgent(agentName string) error
- func (am *AMConnection) DeletePolicy(name, realm string) (err error)
- func (am *AMConnection) ExportPolicies(format, realm string) (out string, err error)
- func (am *AMConnection) ExportXacmlPolicies() (string, error)
- func (am *AMConnection) ListResourceTypes() ([]ResourceType, error)
- type API
- type AppError
- type AuthNResponse
- type FasitClient
- func (fasit FasitClient) CreateFasitResourceForOpenIDConnect(issoResource IssoResource, request *NamedConfigurationRequest, zone string) (FasitResource, *AppError)
- func (fasit FasitClient) GetFasitApplication(application string) *AppError
- func (fasit FasitClient) GetFasitEnvironment(environmentName string) (string, *AppError)
- func (fasit FasitClient) GetIngressURL(request *NamedConfigurationRequest, zone string) ([]string, error)
- func (fasit FasitClient) GetIssoResource(request *NamedConfigurationRequest, zone string) (IssoResource, *AppError)
- func (fasit FasitClient) GetOpenAmResource(resourcesRequest ResourceRequest, fasitEnvironment, application, zone string) (OpenAmResource, *AppError)
- func (fasit FasitClient) PostFasitResource(resource FasitResource, request *NamedConfigurationRequest) *AppError
- func (fasit FasitClient) UpdateFasitResource(resource FasitResource, request *NamedConfigurationRequest) *AppError
- type FasitResource
- type IssoResource
- type NamedConfigurationRequest
- type OpenAmResource
- type Password
- type Policy
- type PolicyResultList
- type Resource
- type ResourceRequest
- type ResourceType
- type ResourceTypeResult
- type ValidationError
- type ValidationErrors
Constants ¶
const ( // ZoneFss is secure zone ZoneFss = "fss" // ZoneSbs is or outer zone ZoneSbs = "sbs" )
const ( ResourceTypeOIDC = "OpenIdConnect" ResourceTypeOpenAM = "OpenAM" )
const POLICY = "am.policy"
POLICY sets the policy name on AM server
Variables ¶
This section is empty.
Functions ¶
func CopyFilesToAmServer ¶
CopyFilesToAmServer sftps policy files to desired AM host
func CreateRedirectionUris ¶
func CreateRedirectionUris(issoResource *IssoResource, request *NamedConfigurationRequest) []string
CreateRedirectionUris creates a list of uris for which to configure the openam agent
func FormatAmHeaderString ¶
FormatAmHeaderString used to format user and password for OpenAM (ref RFC2047)
func GenerateAmFiles ¶
func GenerateAmFiles(request *NamedConfigurationRequest) ([]string, error)
GenerateAmFiles returns array of validated and downloaded policy files
func GetDomainsFromZoneAndEnvironmentClass ¶
GetDomainFromZoneAndEnvironmentClass returns domain string
func SSHConnect ¶
SSHConnect returns ssh client and session for specified host
func SftpConnect ¶
SftpConnect returns sftp client for existing ssh client
func UpdatePolicyFiles ¶
UpdatePolicyFiles replaces ${DomainName} with correct site name in policy files
Types ¶
type AMConnection ¶
type AMConnection struct { BaseURL string User string Password string Realm string // contains filtered or unexported fields }
AMConnection contains values for basic connection to AM
func GetAmConnection ¶
func GetAmConnection(issoResource *IssoResource) (am *AMConnection, err error)
GetAmConnection returns connection to AM server
func (*AMConnection) AgentExists ¶
func (am *AMConnection) AgentExists(agentName string) bool
AgentExists verifies existence of am agent
func (*AMConnection) Authenticate ¶
func (am *AMConnection) Authenticate() error
Authenticate connects to AM server and sets tokenID in AMConnection struct
func (*AMConnection) CreateAgent ¶
func (am *AMConnection) CreateAgent(agentName string, redirectionUris []string, issoResource *IssoResource, namedConfigurationRequest *NamedConfigurationRequest) error
CreateAgent creates am agent on isso server
func (*AMConnection) CreatePolicies ¶
func (am *AMConnection) CreatePolicies(obj *crest.FRObject, overWrite, continueOnError bool) (err error)
CreatePolicies creates policies in AM instance. If continueOnError is true, keep trying to create policies even if a single create fails. If overWrite is true, First delete the policy and then create it
func (*AMConnection) CreatePolicy ¶
func (am *AMConnection) CreatePolicy(p map[string]interface{}, overWrite bool, realm string) (err error)
CreatePolicy creates a single policy described by the json
func (*AMConnection) DeleteAgent ¶
func (am *AMConnection) DeleteAgent(agentName string) error
DeleteAgent deletes am agent on isso server
func (*AMConnection) DeletePolicy ¶
func (am *AMConnection) DeletePolicy(name, realm string) (err error)
DeletePolicy erases the named policy. If the policy does exist, we do not return an error code
func (*AMConnection) ExportPolicies ¶
func (am *AMConnection) ExportPolicies(format, realm string) (out string, err error)
ExportPolicies exports all the policies as a JSON or YAML policy set string
func (*AMConnection) ExportXacmlPolicies ¶
func (am *AMConnection) ExportXacmlPolicies() (string, error)
ExportXacmlPolicies exports all the policies as a XACML policy set
func (*AMConnection) ListResourceTypes ¶
func (am *AMConnection) ListResourceTypes() ([]ResourceType, error)
ListResourceTypes returns the available resource types from the AM server
type API ¶
API contains fasit instance and cluster to fetch AM information from
func (*API) MakeHandler ¶
MakeHandler creates REST endpoint handlers
type AuthNResponse ¶
AuthNResponse contains values for further AM processes
type FasitClient ¶
FasitClient contains fasit connection details
func (FasitClient) CreateFasitResourceForOpenIDConnect ¶
func (fasit FasitClient) CreateFasitResourceForOpenIDConnect(issoResource IssoResource, request *NamedConfigurationRequest, zone string) (FasitResource, *AppError)
func (FasitClient) GetFasitApplication ¶
func (fasit FasitClient) GetFasitApplication(application string) *AppError
GetFasitApplication returns nil if application exists in Fasit
func (FasitClient) GetFasitEnvironment ¶
func (fasit FasitClient) GetFasitEnvironment(environmentName string) (string, *AppError)
GetFasitEnvironment converts Fasit environment name to environment class
func (FasitClient) GetIngressURL ¶
func (fasit FasitClient) GetIngressURL(request *NamedConfigurationRequest, zone string) ([]string, error)
GetIngressURL creates ingress urls from environment class and zone
func (FasitClient) GetIssoResource ¶
func (fasit FasitClient) GetIssoResource(request *NamedConfigurationRequest, zone string) (IssoResource, *AppError)
GetIssoResource fetches necessary ISSO and OIDC resources from fasit
func (FasitClient) GetOpenAmResource ¶
func (fasit FasitClient) GetOpenAmResource(resourcesRequest ResourceRequest, fasitEnvironment, application, zone string) (OpenAmResource, *AppError)
GetOpenAmResource fetches necessary OpenAM resources from fasit
func (FasitClient) PostFasitResource ¶
func (fasit FasitClient) PostFasitResource(resource FasitResource, request *NamedConfigurationRequest) *AppError
func (FasitClient) UpdateFasitResource ¶
func (fasit FasitClient) UpdateFasitResource(resource FasitResource, request *NamedConfigurationRequest) *AppError
type FasitResource ¶
type FasitResource struct { ID int Alias string `json:"alias"` ResourceType string `json:"type"` Scope scope `json:"scope"` Properties map[string]string `json:"properties"` Secrets map[string]map[string]string `json:"secrets"` }
FasitResource contains resource information from fasit
type IssoResource ¶
type IssoResource struct { IssoIssuerURL string IssoJwksURL string // contains filtered or unexported fields }
IssoResource contains information about the OIDC server as set in fasit
type NamedConfigurationRequest ¶
type NamedConfigurationRequest struct { Application string `json:"application"` Version string `json:"version"` Environment string `json:"environment"` Username string `json:"username"` Password string `json:"password"` ContextRoots []string `json:"contextroots"` RedirectionUris []string }
NamedConfigurationRequest contains the information of the application to configure in AM
func (NamedConfigurationRequest) Validate ¶
func (r NamedConfigurationRequest) Validate(zone string) []error
Validate performs validation of NamedConfigurationRequest
type OpenAmResource ¶
OpenAmResource contains information about the AM server as set in fasit
type Password ¶
type Password struct {
Ref string `json:"ref"`
}
Password contains fasit reference to the password
type Policy ¶
type Policy struct { Name string `json:"name"` Active bool `json:"active"` ApplicationName string `json:"applicationName"` ActionValues interface{} `json:"actionValues"` Resources []string `json:"resources"` Description string `json:"description"` Subject interface{} `json:"subject"` Condition interface{} `json:"condition"` ResourceTypeUUID string `json:"resourceTypeUuid"` CreatedBy string `json:"createdBy"` CreationDate string `json:"creationDate"` LastModifiedBy string `json:"lastModifiedBy"` LastModifiedDate string `json:"lastModifiedDate"` }
Policy in AMConnection
func ListPolicy ¶
func ListPolicy(am *AMConnection) ([]Policy, error)
ListPolicy lists all OpenAM policies for a realm
type PolicyResultList ¶
type PolicyResultList struct { Result []Policy `json:"result"` ResultCount int64 `json:"resultCount"` PagedResultsCookie string `json:"pagedResultsCookie"` RemainingPagedResults int64 `json:"remainingPagedResults"` }
A PolicyResultList is a set of Policies
type Resource ¶
type Resource struct {
ID int `json:"id"`
}
Resource contains resource id as set in fasit
type ResourceRequest ¶
ResourceRequest contains the alias and resource type for the fasit resource
type ResourceType ¶
type ResourceType struct { UUID string `json:"uuid"` Name string `json:"name"` Description string `json:"description"` Patterns []string `json:"patterns"` Actions interface{} `json:"actions"` CreatedBy string `json:"createdBy"` CreationDate int64 `json:"creationDate"` LastModifiedBy string `json:"lastModifiedBy"` LastModifiedDate int64 `json:"lastModifiedDate"` }
ResourceType contains the AM resource type
type ResourceTypeResult ¶
type ResourceTypeResult struct { Result []ResourceType `json:"result"` ResultCount int64 `json:"resultCount"` PagedResultsCookie string `json:"pagedResultsCookie"` RemainingPagedResults int64 `json:"remainingPagedResults"` }
ResourceTypeResult contains the AM result values when fetching resources
type ValidationError ¶
ValidationError contains error and fields of destruction
type ValidationErrors ¶
type ValidationErrors struct {
Errors []ValidationError
}
ValidationErrors contains all validation errors
func ValidatePolicyFiles ¶
func ValidatePolicyFiles(fileNames []string) ValidationErrors
ValidatePolicyFiles validates the policy xml files, checking the file type
func (ValidationErrors) Error ¶
func (errors ValidationErrors) Error() (s string)