SEC02-BP06 Utilización de grupos y atributos de usuarios - AWS Well-Architected Framework

SEC02-BP06 Utilización de grupos y atributos de usuarios

Definir los permisos según los grupos y los atributos de usuarios ayuda a reducir la cantidad y la complejidad de las políticas, lo que facilita la aplicación del principio de privilegios mínimos.  Puede emplear los grupos de usuarios para administrar los permisos de muchas personas en un solo lugar según la función que desempeñen en su organización.  Los atributos, como el departamento o la ubicación, pueden proporcionar un nivel adicional en el ámbito de los permisos si hay personas que realizan una función similar pero para diferentes subconjuntos de recursos.

Resultado deseado: ser capaz de aplicar cambios en los permisos según la función a todos los usuarios que intervienen en ella.  La pertenencia a grupos y los atributos determinan los permisos de los usuarios, lo que reduce la necesidad de administrar los permisos para cada usuario individual.  Los grupos y atributos que defina en su proveedor de identidades (IdP) se propagan automáticamente a sus entornos de AWS.

Antipatrones usuales:

  • Administrar los permisos de usuarios individuales y duplicarlos para muchos usuarios.

  • Definir grupos en un nivel demasiado alto y conceder permisos demasiado amplios.

  • Definir grupos en un nivel demasiado detallado, lo que crea duplicación y confusión en torno a la pertenencia a dichos grupos.

  • Usar grupos con permisos duplicados en diversos subconjuntos de recursos cuando se pueden usar atributos en su lugar.

  • No administrar grupos, atributos y pertenencias a grupos con un proveedor de identidades estandarizado integrado con sus entornos de AWS.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: medio

Guía para la implementación

Los permisos de AWS se definen en documentos denominados políticas que están asociados a una entidad principal, como un usuario, un grupo, un cargo o un recurso.  En el caso de su plantilla, esto le permite definir grupos según la función que desempeñen los usuarios en su organización, en lugar de en virtud de los recursos a los que se accede. Por ejemplo, un grupo WebAppDeveloper puede tener una política adjunta para configurar un servicio como Amazon CloudFront dentro de una cuenta de desarrollo. Un grupo AutomationDeveloper puede tener algunos permisos de CloudFront en común con el grupo WebAppDeveloper. Estos permisos pueden plasmarse en una política independiente y asociarse a ambos grupos, en lugar de que los usuarios de ambas funciones pertenezcan a un grupo de CloudFrontAccess.

Además de los grupos, puede usar atributos para ampliar el acceso a los ámbitos. Por ejemplo, puede usar un atributo Project para que los usuarios de su grupo WebAppDeveloper puedan acceder a los recursos específicos de su proyecto.  El uso de esta técnica elimina la necesidad de tener diferentes grupos para los desarrolladores de aplicaciones que trabajen en diferentes proyectos si, por lo demás, sus permisos son los mismos.  La forma de hacer referencia a los atributos en las políticas de permisos se basa en su origen, ya sea que estén definidos como parte de su protocolo de federación (como SAML, OIDC o SCIM), como aserciones SAML personalizadas o que se hayan configurado en IAM Identity Center.

Pasos para la implementación

  1. Establezca dónde definirá los grupos y los atributos.

    1. Siguiendo las instrucciones de SEC02-BP04 Recurrir a un proveedor de identidades centralizado, puede determinar si necesita definir grupos y atributos en su proveedor de identidades, en IAM Identity Center o si debe usar grupos de IAM user en una cuenta específica.

  2. Defina grupos.

    1. Determine sus grupos según la función y el ámbito del acceso requerido.  

    2. Si especifica la definición en IAM Identity Center, cree grupos y asocie el nivel de acceso deseado mediante conjuntos de permisos.

    3. Si especifica la definición con un proveedor de identidades externo, determine si el proveedor admite el protocolo SCIM y plantéese la posibilidad de habilitar el aprovisionamiento automático en IAM Identity Center.  Esta capacidad sincroniza la creación, la pertenencia y la eliminación de grupos entre su proveedor y IAM Identity Center.

  3. Defina los atributos.

    1. Si usa un proveedor de identidades externo, los protocolos SCIM y SAML 2.0 proporcionan ciertos atributos de forma predeterminada.  Es posible definir y pasar atributos adicionales mediante aserciones SAML con el nombre de atributo https://aws.amazon.com/SAML/Attributes/PrincipalTag.

    2. Si especifica la definición en IAM Identity Center, habilite la función de control de acceso basado en atributos (ABAC) y defina los atributos como prefiera.

  4. Los permisos de ámbito se basan en grupos y atributos.

    1. Plantéese la posibilidad de incluir condiciones en sus políticas de permisos que comparen los atributos de su entidad principal con los atributos de los recursos a los que se accede.  Por ejemplo, puede definir una condición para permitir el acceso a un recurso solo si el valor de una clave condicional PrincipalTag coincide con el valor de una clave ResourceTag que tenga el mismo nombre.

Recursos

Prácticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados: