elfakyn
I haven't seen all of this behavior documented in a single place, so here it is.
Some of it has security implications (such as being able to brute force usernames) that is worth knowing about.
A TL;DR of the security stuff:
* Brute-forcing valid principal names is possible, since you can't create a bucket policy with an invalid principal.
* User compromise will break cross-account access, since if AWS becomes aware of a compromise, they will want you to delete the user and recreate it.
* Explicit denies will stop working if the principal is deleted and recreated, since they operate internally on the Principal ID and not the ARN
* Canonical IDs offer no extra security compared to account ARNs, since it's trivial to convert them back and get an account number.
Edit: like Netflix, Hulu, and Snapchat
Curious, would that still maintain a weak point in the area?
[1] https://www.sciencedirect.com/science/article/pii/S074937971...
Besides, most people have enough "important" logins (social media, email, amazon, bank(s), computer, cloud accounts) and some have lots that there's no good reason not to use a password manager. Even with 6 passwords to remember (plus a 7th for all the non-sensitive accounts), it's hard to make them unique enough, and if you end up with a system it's pretty easy to infer the rest of the passwords.
Imagine this scenario: you are an average person. You have 90 accounts each requiring a password [1]. 5 of them you deem sensitive enough to have their own password and 85 of them share a password. One of those 85 is compromised. Now you'll spend all day stressing out whether one of those 85 accounts, in hindsight, is actually something you care about at least to some extent. Desperately trying to remember whether there were any other accounts that you should've secured better. (Anecdotally, this has happened to me before a password manager: I had different logins for important stuff and the same for non-important stuff; it's also happened to most of my friends at some point.)
Or you can use a password manager. Once you do have a password manager, you can go ahead and have unique random logins for everything, there's no extra effort needed. 2FA is another important security measure.
In regards to rotation, I agree, and NIST doesn't even recommend forced rotation anymore[2].
[1] https://blog.dashlane.com/infographic-online-overload-its-wo...
[2] https://pages.nist.gov/800-63-3/sp800-63b.html#memsecretver
"noir" "film" -"pinot noir"
I wonder whether they'll revert back now that google+ is dead.
Counterpoint: if you've gone through enough hardship, your self-esteem can tank so much that you start thinking in black-and-white -- "I blew every single question" etc.
Every once in a while someone's gonna go through something really bad: "perfect storms of woe-is-me" do come by, and our selection bias of upvoting those specifically means that we're disproportionately more likely to see really horrifying stories.
> Same as above. Just build and RTFO.
Deploying without review is not only a development nightmare (if you keep deploying without review, you'll eventually break something or introduce security vulnerabilities, unstable code etc.), but it can also get you in massive trouble with your compliance audits.
Peer review is very important in production code.
Responsible disclosure: public read/write AWS S3 buckets in production (Emtrain)
In security, you generally don't want "unique and innovative", you want tested, verified, robust algorithms that have been gone over with a fine-toothed comb.
I can't imagine this not already being a thing, but I haven't really heard of people using this method.