#aws #iam #amazon-iam #aspen #unique-id

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

#4 in #iam

Download history 44/week @ 2024-04-01 24/week @ 2024-04-08 18/week @ 2024-04-15 18/week @ 2024-04-22 17/week @ 2024-04-29 8/week @ 2024-05-06 5/week @ 2024-05-13 4/week @ 2024-05-20 22/week @ 2024-05-27 3/week @ 2024-06-03 13/week @ 2024-06-10 2/week @ 2024-06-24 231/week @ 2024-07-08 89/week @ 2024-07-15

322 downloads per month
Used in 7 crates (6 directly)

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.5–5MB
~82K SLoC