Integraciones
Breadcrumbs

SAML 2.0 - AWS IAM

Parte A: Autenticación SAML (Login)

  1. Vaya a AWS IAM Identity Center.

  2. Vaya a Aplicaciones > Añadir aplicación > Añadir una aplicación SAML 2.0 personalizada.

  3. 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.

  4. Configurar Datos del SP (su aplicación):

    • ID de entidad (Audiencia): identificador-unico-para-saml (Debe ser único y coincidir con el yml).

    • URL ACS: https://dev.anjanadata.org/gateway/saml2/sso/devaws (La clave devaws coincide con la usada en el yml).

  5. 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)

  1. Vaya al servicio IAM (no a IAM Identity Center).

  2. Cree un nuevo Usuario IAM para su aplicación (ej. anjana-provisioning-user).

  3. Genere claves de acceso (accessKey y secretKey) para este usuario.

  4. Asígnele a este usuario los permisos (Policies) de solo lectura necesarios:

    • AWSSSOReadOnlyAccess

    • Un nuevo conjunto de Permisos que contendrá lo siguiente:

JSON
{
  "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": "*"
    }
  ]
}
  1. Vaya a IAM Identity Center > Configuración y copie el "ID del almacén de identidades" (identityStoreId).

  2. 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

YAML
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>