Solución:
Ahora que Google dejó de admitir OpenID, puede utilizar el complemento de inicio de sesión de Google, que funciona bien con Google Apps.
Puede lograr el inicio de sesión único con Google Apps mediante el complemento OpenID. Es muy fácil de configurar, básicamente instalas el complemento, seleccionas “Google Apps SSO (con OpenID)” e ingresas tu dominio. Tenga en cuenta que los usuarios voluntad debe tener una cuenta de Google Apps para iniciar sesión después de eso.
Sugerencia: podría considerar usarlo en combinación con el complemento de estrategia de roles
En Jenkins por defecto la autenticación de usuario no está habilitada pero podemos establecer la autenticación de usuario desde el Seguridad global sección. Tenemos que crear usuarios para los miembros del equipo y mantiene a todos los usuarios en su propia base de datos. Pero también podemos configurar Jenkins con Google OAuth. Entonces, si está aprovechando los servicios de Google y ya tiene usuarios. Los usuarios pueden iniciar sesión en Jenkins y realizar su tarea.
Para implementar Google OAuth, recomendaremos jenkinsci/google-login-plugin
(https://github.com/jenkinsci/google-login-plugin) esta es una Complemento de Jenkins que te permite inicie sesión en Jenkins con su cuenta de Google. También le permite restringir el acceso a las cuentas de un determinado dominio de Google Apps.
Supongo que ya hemos instalado el servidor Jenkins y tenemos el derecho de administrador para realizar cambios en él. Toda la configuración se divide en tres sencillos pasos.
1. Obtenga las credenciales de Google OAuth
Para utilizar este complemento, debe obtener las credenciales de OAuth 2.0 del Google Developers Console
(https://console.developers.google.com). No es necesario que pertenezcan a una cuenta especial, ni siquiera a una asociada con el dominio al que desea restringir los inicios de sesión.
Instrucciones para crear el ID de cliente y el secreto:
-
Inicie sesión en Google Developers Console
-
Cree un nuevo proyecto, en la ventana emergente especifique el nombre de su proyecto, puede ser cualquier nombre que tenga más significado para usted, por ejemplo:
Jenkins OAuth
. En este proyecto, generaremos credenciales de autenticación para habilitar la API de OAuth. -
En la barra lateral izquierda, bajo API y servicios (Administrador de API) -> Credenciales, Crear credenciales, ID de cliente OAuth (generará credenciales de API y estas credenciales deben configurarse en Jenkins en el último paso).
-
Como vamos a integrar esto en Jenkins y es un servicio web, el tipo de aplicación debe ser “Aplicación web”
-
Registrar la URI de Jenkins desde donde permitimos acceder a las API de Google. Tenemos que proporcionar los detalles del servidor Jenkins. Puedes reemplazar tu
JENKINS_ROOT_URL =http:jenkins.mydomain.com
con su propio URI de Jenkins. Esta será la página de inicio de su servidor Jenkins. Una vez que ingrese a esta página, será redirigido a Google para la autenticación. -
Se requieren los URI de redireccionamiento autorizados para redirigirlo después de iniciar sesión correctamente. Es la combinación de su página de destino de Jenkins y una cadena de sufijo para validar que es un usuario que inició sesión. Como queremos llevar al usuario al panel de Jenkins, tiene el mismo URI que mencionamos en el paso anterior y no olvide incluir
securityRealm/finishLogin
al final. Entonces, las URL de redireccionamiento autorizadas deberían resultar así
${JENKINS_ROOT_URL}/securityRealm/finishLogin
.p.ej:
http://jenkins.mydoamin.com/securityRealm/finishLogin
-
Copiar y guardar ID de cliente y secreto de cliente, estas credenciales se utilizarán para habilitar las API de Google en Jenkins (Configuración de Security Realm).
2. Instale el complemento de inicio de sesión de Google
En Jenkins no hay ningún mecanismo para configurar OAuth pero hay muchos complementos disponibles y estamos usando Complemento de inicio de sesión de Google. Podemos instalar fácilmente este complemento desde Manage Jenkins
-> Manage Plugins
-> Available
y busque “Inicio de sesión de Google”. Seleccione el complemento. No es necesario reiniciar para instalar este complemento. Este complemento permite registrar Google OAuth y realiza la autenticación.
3. Configurar Jenkins
En este paso, configuraremos las credenciales de seguridad de Google en el complemento instalado. Navegar a Manage Jenkins
-> Configure Global Security
y seleccione Login with Google
debajo Reino de la seguridad pegue las credenciales (ID de cliente y secreto) generadas en el primer paso. En el último campo, no olvide ingresar su nombre de dominio, ya que le permite restringir el acceso a un nombre de dominio determinado.
Inmediatamente después de guardar los cambios, Jenkins permitirá el acceso a todos los usuarios de su dominio. Ahora, intente iniciar sesión en su Jenkins, lo redirigirá a la página de autenticación de Google. Si todo está configurado correctamente, iniciará sesión, pero en caso de que aún tenga algún problema, regrese y verifique cada paso. El usuario que ha iniciado sesión puede hacer cualquier cosa y si desea restringir a los usuarios, puede implementar Complemento de estrategia de roles (https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Plugin) seguridad.