aws / aws/aws-cdk

(Route53): Allow external ID to be used for CrossAccountZoneDelegationRecord

Open
#19,631 2 comments 3 reactions 0 assignees View on GitHub
@aws-cdk/aws-route53 effort/small feature-request p2
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.