[ 
https://issues.apache.org/jira/browse/AMBARI-23253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ishan Bhatt resolved AMBARI-23253.
----------------------------------
    Resolution: Fixed

> Allow Ambari Server to Setup SSO for the entire stack using the CLI
> -------------------------------------------------------------------
>
>                 Key: AMBARI-23253
>                 URL: https://issues.apache.org/jira/browse/AMBARI-23253
>             Project: Ambari
>          Issue Type: Epic
>          Components: ambari-server
>    Affects Versions: 2.7.0
>            Reporter: Robert Levas
>            Assignee: Robert Levas
>            Priority: Major
>              Labels: SSO, sso
>             Fix For: 2.7.0
>
>
> Today enabling SSO requires visiting each component that supports SSO and 
> adding configuration entries to each. This task is to enable a single entry 
> point via the Ambari CLI to configure SSO for each service that supports it.
> Changes to the ambari-server setup-sso CLI are needed allow configuration of 
> all SSO-capable services using that single CLI. This facility can be used to 
> enable, disable, and reconfigure SSO integration.
> *Proposed implementation:*
> Services are to declare they support SSO integration by indicating in the 
> service's \{{metainfo.xml}} file as follows: 
> {code}
> <sso>
>  <supported>true</supported>
>  <enabledConfiguration>config-type/sso.enabled.property</enabledConfiguration>
> </sso>
> {code}
> The stack/service advisor will be used to retrieve the recommended 
> configurations needed by a service to set up SSO integration. A special stack 
> advisor action will be added to ensure only SSO-related recommendations are 
> returned upon request. The new action name is 
> "{{recommend-configurations-for-sso}}". Ambari (or common) SSO information 
> will be provided to the stack advisor via the input data under the label 
> "sso-configuration". This information may be used by the stack advisor when 
> creating recommendations.
> Ambari will store details on which services should be enabled for SSO so it 
> _knows_ how to behave when SSO integration is enabled and new services are 
> added. This data will be stored within Ambari's configuration data under the 
> category of {{sso-configuration}}. The list of services to have SSO 
> integration turned on will be stored in the property named 
> {{ambari.sso.enabled_services}}. The value will be a comma-delimited list of 
> service names, or "{{*}}" to indicate all services that support SSO 
> integration.
> The Ambari REST API entry point for installed services 
> ({{/api/v1/clusters/:CLUSTER_NAME/services/:SERVICE_NAME}}) is to be enhance 
> by adding the following properties:
> * *\{{sso_integration_supported}}* - Indicates whether the service supports 
> SSO integration or not
> * *\{{sso_integration_enabled}}* - Indicates whether the service is 
> configured for SSO integration or not
> * *\{{sso_integration_desired}}* - Indicates whether the service is chosen 
> for SSO integration or not
> The Ambari REST API entry point for stack services 
> ({{/api/v1/stacks/:STACK_NAME/versions/:VERSION/services/:SERVICE_NAME}}) is 
> to be enhance by adding the following properties:
> * *\{{sso_integration_supported}}* - Indicates whether the service supports 
> SSO integration or not
> When producing a list of installed services that support SSO integration in 
> the CLI, the Ambari REST API is to be used to query for the relevant service 
> names. Once the user selects the set of services to enable SSO for (or all), 
> the Ambari REST API is to be used to set the value of the Ambari 
> configuration \{{sso-configuration/ambari.sso.enabled_services}}. Upon 
> setting this, logic is triggered in the backend to query the stack advisor 
> for SSO-related configuration recommendations which will be automatically 
> applied. This will potentially yield new configuration versions and require 
> services to be manually restarted.
> When adding new services, the 
> \{{sso-configuration/ambari.sso.enabled_services}} value is to be checked to 
> see if the new service is on the list of services to have SSO integration 
> enabled. If so, and the service has a SSO descriptor, its configuration will 
> be updated as needed before the service is started.
> In a Blueprint scenario, it is expected that the user first sets up Ambari 
> for SSO integration using the {{ambari-server setup-sso}} CLI. The Blueprint 
> is expected to set the relevant properties needed to enable SSO integration 
> per service. However, if SSO details were set up, the stack advisor may 
> recommend relevant changes which may be applied depending on the Blueprint 
> settings.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to