TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Secure Access to 100 AWS Accounts

214 pointsby r4umabout 7 years ago

12 comments

zimbatmabout 7 years ago
It&#x27;s good to see an article talking about this. A lot of organizations could benefit from using more than one account to enforce security (IAM is hard!) and separation of concerns.<p>It doesn&#x27;t really explain it but to do this, the root account has to be enrolled for AWS Organization[1]. This is what is being used to handle all the accounts and consolidate the billing. It also allows to create rules span all the accounts. Recently terraform gained support for the Organization API[2] so it&#x27;s possible to control the account list in a declarative manner.<p>The biggest issue is that now that there are a lot of accounts, the developers need a way to switch between them. Using the IAM assume-role mechanism is a good way to avoid needing a lot of AWS keys per developer.<p>I don&#x27;t know if I agree with using Okta as it adds another party that now has access to AWS. I don&#x27;t see the difference between having a AWS secret or and Okta secret in the keychain security-wise. Okta might provide audit logging facilities but so does AWS.<p>In either case you will need to generate a `~&#x2F;.aws&#x2F;config` per developer. There is also a Chrome plugin[3] that can read this file format and populate the AWS Console switch role. I don&#x27;t know if the extension publisher is reputable yet as it gives a lot of access to the extension.<p>[1]: <a href="https:&#x2F;&#x2F;aws.amazon.com&#x2F;organizations&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aws.amazon.com&#x2F;organizations&#x2F;</a><p>[2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;terraform-providers&#x2F;terraform-provider-aws&#x2F;pull&#x2F;903" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;terraform-providers&#x2F;terraform-provider-aw...</a><p>[3]: <a href="https:&#x2F;&#x2F;chrome.google.com&#x2F;webstore&#x2F;detail&#x2F;aws-extend-switch-roles&#x2F;jpmkfafbacpgapdghgdpembnojdlgkdl" rel="nofollow">https:&#x2F;&#x2F;chrome.google.com&#x2F;webstore&#x2F;detail&#x2F;aws-extend-switch-...</a>
评论 #16564413 未加载
评论 #16564384 未加载
评论 #16564291 未加载
7ewisabout 7 years ago
We created something similar in house.<p>Users authenticate to an internal website with ADFS (including MFA) and are then presented with a list of roles where they can either click through to the website assuming a role in that account for an hour, or click an option to access temporary credentials.<p>The AWS roles are deployed from our CI&#x2F;CD pipeline to all of our AWS accounts, so we don&#x27;t have to have user accounts anywhere and can still deploy features from our Pipeline without logging in.<p>We are also in the process of setting up automated account provisioning from our HR system, Workday. Based on the users team and job title, they&#x27;ll be added into an Active Directory group which would then give them access to the resources required for their role.<p>Once complete, this will save the support team a lot of time!
评论 #16565675 未加载
评论 #16565129 未加载
ejcxabout 7 years ago
Thanks for posting this here. I&#x27;m the author of this blog post. Feel free to ask me any questions you might have.
评论 #16564528 未加载
评论 #16565223 未加载
评论 #16565984 未加载
评论 #16563884 未加载
stiveridiblaabout 7 years ago
Excellent article thanks for sharing. It&#x27;s awesome to see someone documenting their experiences with multi-account strategy. You said you manage account with Terraform, are there any other resource types that you don&#x27;t give the dev teams access to such as networking? Also, how are you deploying Terraform at scale across all of your accounts?
ah-about 7 years ago
How are you dealing with software that expect to get aws tokens? Especially with sts AssumeRoles only lasting up to one hour?<p>For example, if you want to run the Athena JDBC driver locally or read something from S3 in a longish (&gt;1h) running Python script.
评论 #16564073 未加载
评论 #16564958 未加载
posnetabout 7 years ago
Atlassian open sourced a tool to help with CLI access when using many AWS accounts through federated roles.<p><a href="https:&#x2F;&#x2F;developer.atlassian.com&#x2F;blog&#x2F;2017&#x2F;12&#x2F;introducing-cloudtoken&#x2F;" rel="nofollow">https:&#x2F;&#x2F;developer.atlassian.com&#x2F;blog&#x2F;2017&#x2F;12&#x2F;introducing-clo...</a>
cyberferretabout 7 years ago
I am interested in the thought processes behind setting up separate AWS accounts &quot;for GDPR compliance&quot; as opposed to having one AWS account and running multi regions (via VPC etc.) under that account?<p>Is it because teams in different locations (US, EU etc.) can run semi-independently? How do you manage shared resources (e.g. S3 or RDS SQL servers) that need to be accessed from multiple regions, yet still maintain GDPR compliance?
评论 #16565316 未加载
jbergknoffabout 7 years ago
What are best practices for sharing build artifacts (e.g. images in ECR, files in S3) among AWS accounts? Cross-account IAM policies, explicit promotion process to move artifacts between accounts, or something else?
评论 #16564098 未加载
bsaraogiabout 7 years ago
How would this compare to an LDAP, an LDAP with org wide access control can pretty much enable all of this(keeping in mind GDPR &amp; other security concerns) from just 1 AWS account ?
_gfrcabout 7 years ago
Out of curiosity, how do people handle communication between services that are in different accounts? VPC peering to connect all accounts? Public Internet and OAuth? Another method?
评论 #16564022 未加载
评论 #16564075 未加载
foodbabyabout 7 years ago
Temporary security credentials from AssumeRole are valid for up to 3600 secs (1 hour). Given that, how do folks handle long running jobs&#x2F;sessions?
appdragabout 7 years ago
Hey segment, are you aware that you can have several env (dev, stag, prod, ...) on the same AWS account? :p You can secure each environement with different credentials (IAM) so no need to create several AWS accounts!
评论 #16563859 未加载
评论 #16563847 未加载
评论 #16563888 未加载
评论 #16563814 未加载
评论 #16564025 未加载
评论 #16563916 未加载
评论 #16563960 未加载
评论 #16563817 未加载