#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

#3 in #aspen

Download history 21/week @ 2025-09-11 20/week @ 2025-09-18 39/week @ 2025-09-25 153/week @ 2025-10-02 116/week @ 2025-10-09 111/week @ 2025-10-16 45/week @ 2025-10-23 9/week @ 2025-10-30 100/week @ 2025-11-27 118/week @ 2025-12-04 119/week @ 2025-12-11 379/week @ 2025-12-18 2/week @ 2025-12-25

621 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
~83K SLoC