
Genera políticas de IAM de AWS con el mínimo privilegio basadas en ARNs de recursos y niveles de acceso, automatizando la creación de políticas seguras para la infraestructura en la nube.
Generador de políticas de mínimo privilegio para IAM.

Para guías y documentación completa, visite el proyecto en ReadTheDocs.
Consulte la publicación del blog de ingeniería de Salesforce sobre Policy Sentry.
Redactar políticas IAM seguras a mano puede ser muy tedioso e ineficiente. Muchos desarrolladores de Infraestructura como Código han experimentado algo así:
Este proceso no es ideal ni para la seguridad ni para los desarrolladores de Infraestructura como Código. Necesitamos facilitar la redacción segura de políticas IAM y abstraer la complejidad de redactar políticas IAM de mínimo privilegio. Por eso creé esta herramienta.
Policy Sentry permite a los usuarios crear políticas IAM de mínimo privilegio en cuestión de segundos, en lugar de redactarlas tediosamente a mano. Estas políticas se delimitan según los niveles de acceso y los recursos. En caso de una violación de seguridad, esto ayuda a limitar el radio de explosión de las credenciales comprometidas, concediendo solo el acceso que las entidades IAM necesitan.
Antes de esta herramienta, podía llevar horas elaborar una política IAM con restricciones de ARN de recursos, pero ahora puede llevar cuestión de segundos. De esta forma, los desarrolladores solo tienen que determinar los recursos a los que necesitan acceder, y Policy Sentry abstrae la complejidad de las políticas IAM de sus procesos de desarrollo.
La característica estrella de Policy Sentry es que puede crear políticas IAM basadas en ARN de recursos y niveles de acceso. Nuestra funcionalidad CRUD adopta el enfoque opinado de que los desarrolladores de IAC no deberían tener que entender las complejidades de AWS IAM; nosotros deberíamos abstraer la complejidad por ellos. De hecho, los desarrolladores solo deberían poder decir...
arn:aws:s3:::example-org-sbx-vmimport"arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret"arn:aws:ssm:us-east-1:123456789012:parameter/test"...y nuestra automatización debería crear políticas que correspondan a esos niveles de acceso.
¿Cómo logramos esto? Bueno, Policy Sentry aprovecha la documentación de AWS sobre [Acciones, Recursos y Claves de Condición][1] para buscar las acciones, niveles de acceso y tipos de recursos, y genera políticas según los ARN y niveles de acceso. Considere el fragmento de tabla a continuación:
| Acciones | Nivel de acceso | Tipos de recurso |
|---|---|---|
| ssm:GetParameter | Lectura | parámetro |
| ssm:DescribeParameters | Lista | parámetro |
| ssm:PutParameter | Escritura | parámetro |
| secretsmanager:PutResourcePolicy | Administración de permisos | secreto |
| secretsmanager:TagResource | Etiquetado | secreto |
Policy Sentry agrega toda esa documentación en una única base de datos y utiliza esa base de datos para generar políticas según acciones, recursos y niveles de acceso.
brew tap salesforce/policy_sentry https://github.com/salesforce/policy_sentry
brew install policy_sentry
pip3 install --user policy_sentry
Para habilitar el completado de Bash, coloque esto en su .bashrc:
eval "$(_POLICY_SENTRY_COMPLETE=bash_source policy_sentry)"
Para habilitar el completado de ZSH, coloque esto en su .zshrc:
eval "$(_POLICY_SENTRY_COMPLETE=zsh_source policy_sentry)"
policy_sentry create-template --output-file crud.yml --template-type crud