如何在AWS控制台自动查找CDK创建的资源及其ARN?
查找CDK自动创建资源的ARN及定位方法
以下是几种实用的解决方式:
通过CDK CLI与AWS CLI直接查询
- 获取栈的所有资源信息:
aws cloudformation describe-stack-resources --stack-name <你的栈名称> - 过滤特定类型资源(比如IAM角色),直接输出ARN:
aws cloudformation describe-stack-resources --stack-name <你的栈名称> --query "StackResources[?ResourceType=='AWS::IAM::Role'].{ARN: PhysicalResourceId}" - 针对IAM角色/策略,用物理ID直接查询详情:
# 查询IAM角色 aws iam get-role --role-name <物理ID> # 查询IAM托管策略(物理ID为策略名) aws iam get-policy --policy-arn arn:aws:iam::<你的账号ID>:policy/<物理ID>
- 获取栈的所有资源信息:
在CDK代码中添加显式输出
如果是你自己维护的CDK栈,可以把自动生成的资源ARN添加为栈输出,部署后能在CloudFormation控制台直接看到带跳转的链接:// 示例:输出Lambda执行角色的ARN new CfnOutput(this, 'LambdaExecutionRoleArn', { value: lambdaFunction.role!.roleArn, description: 'ARN of the Lambda execution role created by CDK' });部署后在CloudFormation控制台的「输出」标签页就能找到对应的ARN,点击即可直接跳转到IAM控制台。
查看CDK生成的CloudFormation模板
运行cdk synth命令,在cdk.out目录下找到对应栈的模板文件(通常是<栈名>.template.json),搜索资源类型(比如AWS::IAM::Role)或物理ID,就能找到资源的ARN定义(可能通过!GetAtt或直接指定)。
内容的提问来源于stack exchange,提问作者Jatin Mehrotra
相关产品推荐
相关产品推荐

