
Genera policy IAM AWS con privilegi minimi basate su ARN di risorse e livelli di accesso, automatizzando la creazione sicura di policy per l'infrastruttura cloud.
Generatore di Policy IAM con privilegio minimo (Least Privilege).

Per guide e documentazione completa, visita il progetto su ReadTheDocs.
Leggi l'articolo sul blog di Salesforce Engineering su Policy Sentry.
Scrivere manualmente policy IAM attente alla sicurezza può essere molto tedioso e inefficiente. Molti sviluppatori di Infrastructure as Code hanno vissuto situazioni come questa:
Un processo del genere non è ideale né per la sicurezza né per gli sviluppatori di Infrastructure as Code. Dobbiamo rendere più facile scrivere policy IAM in modo sicuro e astrarre la complessità della scrittura di policy IAM con privilegio minimo. Ecco perché ho creato questo strumento.
Policy Sentry consente agli utenti di creare policy IAM con privilegio minimo in pochi secondi, invece di doverle scrivere a mano in modo tedioso. Queste policy sono limitate in base ai livelli di accesso e alle risorse. In caso di violazione, questo aiuta a limitare il raggio d'esplosione delle credenziali compromesse, concedendo solo l'accesso necessario ai principali IAM.
Prima di questo strumento, potevano essere necessarie ore per creare una policy IAM con vincoli di ARN delle risorse — ora può richiedere pochi secondi. In questo modo, gli sviluppatori devono solo determinare le risorse a cui devono accedere, e Policy Sentry astrae la complessità delle policy IAM dai loro processi di sviluppo.
La caratteristica principale di Policy Sentry è che può creare policy IAM basate su ARN di risorse e livelli di accesso. La nostra funzionalità CRUD adotta l'approccio opinionato che gli sviluppatori IaC non dovrebbero dover comprendere le complessità di AWS IAM — dovremmo astrarre la complessità per loro. In effetti, gli sviluppatori dovrebbero solo essere in grado di dire...
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"...e la nostra automazione dovrebbe creare policy che corrispondono a quei livelli di accesso.
Come riusciamo a fare questo? Beh, Policy Sentry sfrutta la documentazione AWS su [Azioni, Risorse e Condizioni][1] per cercare le azioni, i livelli di accesso e i tipi di risorsa, e genera policy in base agli ARN e ai livelli di accesso. Considera il frammento di tabella qui sotto:
| Azioni | Livello di Accesso | Tipi di Risorsa |
|---|---|---|
| ssm:GetParameter | Read | parameter |
| ssm:DescribeParameters | List | parameter |
| ssm:PutParameter | Write | parameter |
| secretsmanager:PutResourcePolicy | Permissions management | secret |
| secretsmanager:TagResource | Tagging | secret |
Policy Sentry aggrega tutta quella documentazione in un unico database e utilizza tale database per generare policy in base ad azioni, risorse e livelli di accesso.
brew tap salesforce/policy_sentry https://github.com/salesforce/policy_sentry
brew install policy_sentry
pip3 install --user policy_sentry
Per abilitare il completamento Bash, inserisci questo nel tuo .bashrc:
eval "$(_POLICY_SENTRY_COMPLETE=bash_source policy_sentry)"
Per abilitare il completamento ZSH, inserisci questo nel tuo .zshrc:
eval "$(_POLICY_SENTRY_COMPLETE=zsh_source policy_sentry)"
policy_sentry create-template --output-file crud.yml --template-type crud