(Route53): Allow external ID to be used for CrossAccountZoneDelegationRecord
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Description
CrossAccountZoneDelegationRecord creates a custom resource that uses assumeRole for CrossAccountZoneDelegation in the parent hosted zone's AWS account. It would be nice if we have the option to provide an external ID to use with the assume role.
### Use Case
This is good for cases where you have a need to allow an AWS account owned by an external account access to your resources. For cases where you happen to know which few particular AWS accounts need to interact with your accounts, this design pattern is low overhead to setup and maintain. It obviates the need to go through FAS or SLR policy approval requests.
### Proposed Solution
Make externald as an optional props in CrossAccountZoneDelegationRecordProps. Pass externald to CrossAccountZoneDelegationCustomResource as an additional parameter. Then inside cross-account-zone-delegation-handler, call sts assumeRole with externalId if externalId is available.
### Other information
_No response_
### Acknowledge
- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
Contributor guide
Research direction
Start by reading CrossAccountZoneDelegationRecordProps and tracing how CrossAccountZoneDelegationCustomResource invokes cross-account-zone-delegation-handler. Verify how the handler currently calls STS assumeRole and how the custom resource passes parameters. Done means an optional external ID reaches assumeRole when provided while existing behavior remains unchanged when it is omitted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100