Replies: 2 comments 2 replies
-
I found that issue #2615 has a list of the IAM policies needed to deploy on a given environment. Looks like (the beginning of) an answer! |
Beta Was this translation helpful? Give feedback.
-
Hey @Kylir! Great to hear your success story 🎉:relaxed: You're right the an IAM role is probably the best way to restrict access to certain resources. There are a few different ways you could restrict access to specific environments, all with different tradeoffs. In my opinion, probably the best way I can think of doing that right now is by spitting up your environments into different accounts. In your case, you could have 4 separate AWS accounts:
Once you've created the environments using your IAM role, create a new role in the infra account with the policies listed in #2615. Copilot should have already set up a trust relationship between the infra account and the test/stage accounts' EnvManagerRole, so your new role should work for developers on your team that you don't want to give prod access to. Then, developers with restricted access use that infra account's role to run their Copilot commands, but are only allowed to run commands that affect the test/stage environments. A couple of thoughts:
To summarize options:
Both options require a role with the policies from #2615 to let them use Copilot for an environment, in addition to the extra role specified for Console access (assuming you want to give them that :)) I realize there's a lot here! So please feel free to ask any questions and I'm happy to clarify or go deeper into one of the options. 😊 |
Beta Was this translation helpful? Give feedback.
-
Hello!
We have been using Copilot for 2 years now. More than 8000 users, 3 environments and 11 services in each! A success story! A big thank you for making this possible :)
I have a question: So far I have been the only one configuring Copilot, deploying, accessing the logs, etc. My colleagues have been working through Github pipelines only. As our team is growing, I became the bottleneck. I need some of my colleagues to have access to the AWS resources for our Test and Staging environments. At the same time I want to restrict access to the Production one and all the customer data and secrets there.
What is the best way to manage this situation?
My knowledge of IAM is very limited. I was thinking about creating policies per environment/VPC or per services. But the list of resources is quite lengthy - and when we will add new services I will have to edit policies. That doesn't sound good.
Do you have any recommendations?
Thank you!
Beta Was this translation helpful? Give feedback.
All reactions