Admin Console Help
Home
Content Sources
Index
Search
Search Features
Secure Search
Access Control
Head Requestor Deny Rules
Policy ACLs
Universal Login
Universal Login Auth Mechanisms
Cookie
HTTP
Client Certificate
Kerberos
SAML
Connectors
LDAP
Universal Login Form Customization
Flexible Authorization
Trusted Applications
Diagnostics
Reports
GSA Unification
GSAn
Administration
More Information
|
![]() |
![]() |
Search > Secure Search > Flexible Authorization
Use the Search > Secure Search > Flexible Authorization page to perform the following tasks:
About Flexible Authorization
Flexible authorization gives you, as a search appliance administrator, more control over authorization by enabling you to:
- Specify authorization mechanisms in your environment
- Customize which authorization mechanisms handle which URLs
You can perform these tasks by configuring flexible authorization rules. A flexible authorization rule defines:
- The protected content to which the rule applies
- An identity that maps the rule to a credential group or instance of an authentication mechanism
- Information that is specific to the authorization mechanism
Configuring Flexible Authorization Rules
You can configure rules for the authorization mechanisms described in the following table. For step-by-step procedures for configuring specific types of rules, see the sections listed in the table.
Authorization Mechanism |
Description |
See Section |
CACHE |
For the specified URL pattern, the search appliance checks the cached results of previous authorization. Take note that the cache is cleared after each Google Search Appliance session. |
Adding a Cache Rule |
CONNECTOR |
For the specified URL pattern, the search appliance passes the decision to the appropriate connector. |
Adding a Connector Rule |
DENY |
For the specified URL pattern, the search appliance denies the user access to the URL. |
Adding a Deny Rule |
HEADREQUEST |
For the specified URL pattern, the search appliance performs a HEAD request, using the credentials obtained for the user during serve authentication.
|
Adding a Headrequest Rule |
POLICY |
For the specified URL pattern, the search appliance checks the URL patterns in policy ACL rules against the URLs that are returned in the search results. |
Adding a Policy Rule |
SAML |
For the specified URL pattern, the search appliance sends a SAML authorization request to the designated SAML authorization service. |
Adding a SAML Rule |
Per URL ACL |
For the specified URL, the search appliance checks the per-URL ACL. |
Adding a Per-URL ACL Rule |
Flexible authorization rules for most mechanisms contain the following information:
Additionally, rules for CONNECTOR and SAML authorization mechanisms contain additional, mechanism-specific information. For more information, see the sections on adding rules for specific mechanisms.
URL Pattern
In authorization rules for any type of mechanism, you must supply a URL Pattern that identifies the protected content. The URL patterns that you supply on this page are the same as those used in policy ACLs. For information about constructing valid URL patterns for flexible authorization, see "URL Pattern to Protect" on the help page for Search > Secure Search > Policy ACLs.
Authentication ID
Credential groups, as well as instances of authentication mechanisms, can provide session identities. By selecting the Authentication ID, you are instructing the authorization mechanism to use a session identity from a specific credential group or instance of an authentication mechanism.
In authorization rules for CONNECTOR, HEADREQUEST, or SAML you can select an Authentication ID from the pull-down menu. This menu is populated with credential group names and mechanism names that you, as the search appliance administrator, provide by using the Search > Secure Search > Universal Login page and the Search > Secure Search > Universal Login Auth Mechanisms tabs. A Mechanism Name is a unique name for a particular authentication mechanism. If you don't select an authentication ID, the Default credential group is used.
Timeout
In authorization rules for CONNECTOR, HEADREQUEST, or SAML you can optionally supply a Timeout value. This value indicates the time for making a network connection. If the search appliance does not make the network connection in the specified time, it abandons the attempt. Use this field to override the default timeout.
How the Search Appliance Applies Rules
After the search appliance authenticates a user by establishing the user's identity, the search appliance attempts to determine whether a user has access to the secure content that matches her search. The search appliance performs authorization checks by applying flexible authorization rules in the order in which they appear in the authorization routing table on the Search > Secure Search > Flexible Authorization page.
Although you can configure the authorization routing table, Google recommends using the default setting where the first rule in the table is for PER-URL ACLs. This setting provides the best authorization performance for a larger number of documents. Changing the order of the authorization rules in the table so that a rule for another mechanism is first might lead to slow authorization performance for a smaller number of documents. Google recommends always using the PER_URL_ACL mechanism with pattern "/" as the first rule, with or without late binding.
For information about configuring the routing table, see Changing the Order of Flexible Authorization Rules.
Most of the supported authorization mechanisms are capable of returning one of three possible decisions for each URL:
- Allow--Allow the user access to the URL.
- Deny--Deny the user access to the URL.
- Indeterminate--A definitive answer could not be determined, so the search appliance applies the following rule in the ordered list of rules.
Any given URL might match more than one flexible authorization rule. In this instance, each associated mechanism in the list is applied in order until one of them returns a decision other than indeterminate. If all mechanisms return indeterminate, or no mechanisms match, then the user is denied access to the URL. If a mechanisms cannot handle a URL, it returns a decision of indeterminate.
Before Starting this Task
Before configuring flexible authorization, complete the tasks shown in the following table.
Task |
Description |
Configure credential groups |
Set up credential groups by using the Search > Secure Search > Universal Login page. |
Configure credential group rules for appropriate authentication mechanisms |
Configure credential groups for authentication mechanisms that are supported in your environment by using the tabs on the Search > Secure Search > Universal Login Auth Mechanism page. |
(Optional) Configure Policy ACL rules |
If you want to use policy ACLs for authorization, configure rules by using the Search > Secure Search > Policy ACLs page. |
(Optional) Configure a SAML Policy Decision Point (PDP) |
If you want to use SAML authorization, configure a SAML PDP. If you are a user of the search appliance's legacy SAML authorization, you must convert all SAML SPI instances to SAML flexible authorization rules. |
Adding Flexible Authorization Rules
You can add rules, as described in the following sections:
You can also enable late binding for policy ACLs and per-URL ACLs.
Adding a Cache Rule
Add a cache rule for a URL pattern for which you want the search appliance to check the cached results of a previous authorization.
To add a cache rule:
- Choose CACHE from the pull-down menu.
- Click Add another rule.
The
Add Flexible Authorization Rule page appears.
- In the URL Pattern field, type the URL pattern identifying the protected content.
- Click Save.
Adding a Connector Rule
Add a connector rule for a URL pattern for which you want the search appliance to get a decision from the appropriate connector.
To add a connector rule:
- Choose CONNECTOR from the pull-down menu.
- Click Add another rule.
The Add Flexible Authorization Rule page appears.
- In the URL Pattern field, enter
^googleconnector:// .
For this URL pattern, the search appliance automatically extracts the Connector Name. If you enter
any other URL pattern in this field, you must also supply a Connector Name.
- Select an Authentication ID from the pull-down menu or accept the Default credential group.
- If you want to override the default value of approximately 20 minutes for making a network connection, enter the time in seconds in the Timeout field.
- If you entered
^googleconnector:// in the URL Pattern field, the connector name is chosen automatically during authorization.
- Click Save.
Adding a Deny Rule
Add a deny rule for a URL pattern for which you want to deny the user access.
To add a deny rule:
- Choose DENY from the pull-down menu.
- Click Add another rule.
The Add Flexible Authorization Rule page appears.
- In the URL Pattern field, type the URL pattern identifying the protected content.
- Click Save.
Adding a Headrequest Rule
Add a headrequest rule for a URL pattern for which you want the search appliance to perform a HEAD request, using the credentials obtained for the user during serve authentication.
To add a headrequest rule:
- Choose HEADREQUEST from the pull-down menu.
- Click Add another rule.
The Add Flexible Authorization Rule page appears.
- In the URL Pattern field, type the URL pattern identifying the protected content.
- Select an Authentication ID from the pull-down menu or accept the Default credential group.
- If you want to override the default value of 5 seconds for making a network connection, enter the time in seconds in the Timeout field.
- Click Save.
Adding a Policy Rule
Add a policy rule for a URL pattern for which you want the search appliance to check by using policy ACLs.
To add a policy rule:
- Choose POLICY from the pull-down menu.
- Click Add another rule.
The Add Flexible Authorization Rule page appears.
- In the URL Pattern field, type the URL pattern identifying the protected content.
- Select an Authentication ID from the pull-down menu or accept the Default credential group.
- Click Save.
Adding a SAML Rule
Add a SAML rule for a URL pattern for which you want the search appliance to send a SAML authorization request to the Policy Decision Point, using the identity obtained for the user during the serve authentication.
The Add Flexible Authorization Rule page for SAML contains a checkbox for using batched SAML authorization requests (Use batched SAML Authz requests). You can use batched SAML authorization requests only if your SAML provider supports the Google SAML batch authorization extension. If your your SAML provider does not support the extension, do not use batched SAML authorization requests.
To add a SAML rule:
- Choose SAML from the pull-down menu.
- Click Add another rule.
The Add Flexible Authorization Rule page appears.
- In the URL Pattern field, type the URL pattern identifying the protected content.
- Select an Authentication ID from the pull-down menu or accept the Default credential group.
- If you want to override the default value of 3 seconds for making a network connection, enter the time in seconds in the Timeout field.
- In the Authorization service ID field, enter the Entity ID of the SAML server.
- In the Authorization service URL field, enter the URL of the service where the search appliance will send the SAML authorization query.
- Optionally, click Use batched SAML AuthZ requests.
- Click Save.
Adding a Per-URL ACL Rule
To add a per-URL ACL rule:
- Choose PER_URL_ACL from the pull-down menu.
- Click Add another rule.
The Add Flexible Authorization Rule page appears.
- In the URL Pattern field, type the URL pattern identifying the protected content.
- Click Save.
Editing Flexible Authorization Rules
To edit a rule:
- Click the Edit link next to the rule you want to edit.
- Make changes to the rule using the Edit Flexible Authorization Rule page.
- Click Save.
Changing the Order of Flexible Authorization Rules
To change the order of rules in the authorization routing table:
- Click the Move Up or Move Down link next to the rule that you want to move.
- Click Save Rules Order.
Deleting Flexible Authorization Rules
To delete a rule:
- Click the Delete link next to the rule you want to delete.
A confirmation box appears.
- Click OK.
Enabling Late Binding for Policy ACLs and Per-URL ACLs
In some instances, you might not want to to use early binding for allow decisions, for example, if the policy ACLs or per-URL ACLs in the index don't reflect the latest changes. For situations like this, you can enable late binding for policy ACLs and per-URL ACLs.
If you enable late binding for policy ACLs and per-URL ACLs, the search appliance accepts deny decisions only for these mechanisms. For allow and indeterminite decisions, the search appliance applies each subsequent associated mechanism in the list in order until one of them returns a decision other than indeterminate.
To enable late binding for policy ACLs and per-URL ACLs:
- Click the Enable late binding for Policy and Per-Url-Acls checkbox.
- Click Save.
Setting Authorization Parameters
The following tables explain the parameters that control the time allowed for authorization
requests and the cache that controls the returned information. The default values
are suitable for most environments. It is strongly recommended that you avoid
tuning these parameters. If you need to improve search response time for the end user,
it is a good idea to first consider improvements to web servers.
The following table lists the parameters that are standard to the search appliance.
Parameter |
Description |
Default Value |
Query Processing Time |
The search appliance processes authorization requests in batches. This parameter specifies, in seconds, how long the search appliances waits to fully process multiple batches of authorization requests. For example, if you have slow content servers, it might take the search appliance 5 seconds to process a single batch of requests. A 20-second Query Processing Time
setting would enable the search appliance to process at least four batches of authorization requests.
The parameter represents the maximum amount of time in seconds that the search appliance waits for multiple batches of authorization requests to complete. The value must be a positive number and the value should be larger than the value for the timeout for a batch of authorization requests, to ensure that the authorization requests can be completed.
Setting the parameter to a larger value enables the search appliance to process more batch requests for authorization. However, if a content server is unresponsive, performance will be negatively affected. |
20 |
Timeout for a batch of authorization requests |
The search appliance processes authorization requests in batches. This parameter specifies, in seconds,
how long the search appliance waits to fully process authorization for a single batch of requests. When a
batch of requests time out, the search appliance uses the results that it received and processes
another batch of URLs, if it has sufficient time before it displays results to the user.
You can use this value to limit the time that the search appliance waits for responses from a slow
or unresponsive server.
Because a batch can contain URLs on different servers, the search appliance separately sends the
requests from the same batch to the servers. Those individual requests are governed by a
different timeout value, which follows.
This value must be a positive number. The value for this
batch timeout should be larger than the value for individual requests, to ensure that
individual requests in the batch have sufficient round-trip time. |
5 |
Timeout for individual authorization request |
This parameter specifies, in seconds, how long the search appliance waits for the
response to a single authorization request to a web server.
If you tune this parameter, consider that if you shorten the timeout value, slow servers
may unable to respond to authorization requests in time. User results could be incomplete and
skewed toward content on the fast servers. In contrast, if you lengthen the timeout value,
slow web servers can provide additional results but users will experience longer response times.
This value must be a positive number. It should be smaller than the value for batch timeouts.
If you increase this value, you might need to also increase the batch timeout value.
|
2.5 |
The following table explains the parameters that control how the search appliance handles unresponsive servers.
A server can be unreachable because it is down or because it is overloaded and refusing new connections.
Parameter |
Description |
Default Value |
Enable cache of unreachable hosts |
Select this option to enable the search appliance to maintain information about
servers that do not respond to authorization requests. This information ensures that the
search appliance avoids making repeated failed requests to the same server. |
Not enabled |
Timeouts permitted before host is considered unreachable |
This parameter specifies the number of times the search appliance attempts
to contact an unresponsive server before adding it to the cache of unreachable hosts.
Fluctuations in server traffic might cause a certain normal number of timeouts without
indicating system failure. The value should allow for multiple failed attempts to contact a server.
The value can be any positive integer. |
100 |
Timeout measurement period |
This parameter specifies, in seconds, the timeframe during which
the Timeouts permitted parameter is applied. For example, the default
values permit 100 timeouts during a 300 second (five minute) measurement period.
The value should be large enough to accommodate short-lived server unavailability.
The value can be any number of seconds. |
300 |
Duration of unreachable host cache entry |
This parameter specifies, in seconds, the length of time that each item is maintained in the cache.
The value can be any number of seconds. |
600 |
You can click the Clear Caches button to immediately remove the authorization and unreachable
host information. Use this button periodically to keep the authorization cache fresh.
For More Information
For more information about flexible authorization, see "Managing Search for Controlled-Access Content," which is linked to the Google Search Appliance help center.
|