-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
route53-patterns for cross account DNS delegation #275
Comments
Hi, What do you think about levereging cdk pipeline for passing zone information around for delegation? In this case there is no need for custom roles and cross account access, pipeline package can take care of it. |
I'll prefer to have standalone solution that doesn't rely on cdk pipeline. If we have that, we could create stack(s) with all required resources and use Pipeline's Regarding the custom roles, how does pipeline package take care of that? I thought we need to create roles/permissions manually anyway. |
With workflow modeled in the pipeline, there is no need for custom or assumed roles. The pipeline itself would enforce segregation of duties, e.g for the new subdomain, you'd submit a pull request to add a subdomain.
If a subzone created and then it is allowed to change records in apex (even through assume role) - how do you envision enforcing or separating controls?
|
Hi @flochaz and others, An initial implementation of this functionality is pushed in aws/aws-cdk#12680 Thanks, |
Yeah just saw that, awesome ! I think that should cover what I wanted to achieve here . closing |
Description
Context
As mention in aws/aws-cdk#8776, It is quite common to securely manage DNS records in a multi accounts organization to have an APEX domain in a dedicated account and sub domains delegated to different accounts (per regions, per stages, per teams ...).
Objectives
Glossary
In this RFC we will call the parent zone, the zone representing the higher level of the DNS domain (
yourdomain.com
for instance), and child zone the sub zone representing the sub DNS domain scoped to a specific sub account (such asdev.yourdomain.com
for a dev account) and the service zone the sub zone representing the sub DNS domain scoped to a service instance in a specific child zone (app1.dev.yourdomain.com
).TL;DR;
This RFC propose the following flow
API flow proposal 1
DNS account CDK stack
create parent zone as usual
create the subzones
The last call will create:
a route 53 zone
dev.yourdomain.com
a NS record in parentZone pointing to NS servers given by the
dev.yourdomain.com
a role called
<accounId>-<subzoneName>-dns-update
assumable by the listed account principals and with the following permission:Stage/team/region... specific account stack
API proposal 2
Modify each record type (such as https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-route53.AaaaRecord.html) to have 1 new optional attribute: dnsAccountAssumeRole. This will enable cross accounts records creation and enable any kind of use case.
Maybe we can as well propose an additional trust principals to HostedZone https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-route53.IHostedZone.html to automatically create the assumeRole that allow its update.
Progress
The text was updated successfully, but these errors were encountered: