#aws #iam #aspen

scratchstack-aws-principal

Principal types for AWS/AWS-like services

17 releases

0.4.9 Jul 8, 2024
0.4.8 Jan 10, 2023
0.4.7 Oct 22, 2022
0.3.4 Jul 13, 2024
0.2.2 Apr 25, 2021

#1 in #aspen

Download history 97/week @ 2025-11-26 92/week @ 2025-12-03 76/week @ 2025-12-10 380/week @ 2025-12-17 73/week @ 2025-12-24 3/week @ 2025-12-31 100/week @ 2026-01-07 13/week @ 2026-01-14 287/week @ 2026-01-21 46/week @ 2026-01-28 40/week @ 2026-02-04 468/week @ 2026-02-11 891/week @ 2026-02-18

1,510 downloads per month
Used in 4 crates

MIT license

185KB
3.5K SLoC

Actor principals for AWS and AWS-like services.

Principals come in two "flavors": actor principals and policy principals. Policy principals are used in Aspen documents and have a source ("AWS", "CanonicalUser", "Federated", or "Service") and an associated value which may contain wildcards. These are implemented in the scratchstack-aspen crate.

On the service implementation side, actor principals (represented by [Principal] here) are exact, without wildcards. Beyond the core details, there are additional details attached to a principal actor that can be referenced in policy variables. For example, IAM users have a universally unique ID. If the /Sales/Bob user is deleted and re-created, these two users will have the same ARN but different unique IDs that can be referenced via the aws:userid condition key. These details are carried in [SessionData] structures apart from the [Principal] itself.

Dependencies

~3–5MB
~82K SLoC