Parte A: Autenticación SAML (Login)
-
Vaya a AWS IAM Identity Center.
-
Vaya a
Aplicaciones > Añadir aplicación > Añadir una aplicación SAML 2.0 personalizada. -
Obtener Metadatos de AWS: En la página de detalles, copie la "URL de metadatos de SAML del IdP" o descargue el metadato en formato xml para alojarlo en el servidor.
-
Configurar Datos del SP (su aplicación):
-
ID de entidad (Audiencia):
identificador-unico-para-saml(Debe ser único y coincidir con elyml). -
URL ACS:
https://dev.anjanadata.org/gateway/saml2/sso/devaws(La clavedevawscoincide con la usada en elyml).
-
-
Asignar usuarios: Vaya a la pestaña "Usuarios y grupos asignados" y dé acceso a quien lo necesite.
Parte B: Configuración de la API (Provisión de Usuarios)
-
Vaya al servicio IAM (no a IAM Identity Center).
-
Cree un nuevo Usuario IAM para su aplicación (ej.
anjana-provisioning-user). -
Genere claves de acceso (
accessKeyysecretKey) para este usuario. -
Asígnele a este usuario los permisos (Policies) de solo lectura necesarios:
-
AWSSSOReadOnlyAccess -
Un nuevo conjunto de Permisos que contendrá lo siguiente:
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"identitystore:DescribeUser",
"identitystore:IsMemberInGroups",
"kms:Decrypt",
"identitystore:DescribeGroupMembership",
"identitystore:ListGroupMemberships",
"identitystore:GetGroupMembershipId",
"identitystore:DescribeGroup",
"identitystore:GetGroupId",
"identitystore:GetUserId",
"sso:ListApplicationAssignments"
],
"Resource": "*"
}
]
}
-
Vaya a IAM Identity Center > Configuración y copie el "ID del almacén de identidades" (
identityStoreId). -
Vaya a la aplicación SAML que creó en la Parte A y copie su "ARN de la aplicación" (
applicationArn).
Datos Finales para el yml
-
accessKey: La clave de acceso del usuario IAM que creó. -
secretKey: El secreto del usuario IAM. -
region: La región donde está su IAM Identity Center (ej.us-east-1). -
identityStoreId: El ID que copió de la configuración. -
applicationArn: El ARN que copió de la aplicación SAML.
Ejemplo de fichero application-default.yml
En este ejemplo se detallan las propiedades especificas de SAML para AWS IAM. Las propiedades comunes para todos los proveedores se encuentran en https://wiki.anjanadata.com/es/integraciones/25.2/saml-2-0-aws-iam
security:
provisioning:
providers:
aws-iam-ic:
# La clave 'devaws' debe ser IDÉNTICA a la clave usada en 'provisioning'
devaws:
# Clave de acceso del usuario adminitrador usado para recuperar los usuarios
access-key: <accessKey>
# Contraseña de la clave de acceso del usuario adminitrador usado para recuperar los usuarios
secret-key: <secretKey>
# Region de AWS IAM donde esta el Identity Center
region: eu-west-1
# ARN de la aplicacion SAM
application-arn: <appARN>
# Identity Store ID
identity-store-id: <identityStoreID>