使用AWS CDK部署时遇GitHub OAuth令牌长度超限错误
解决AWS CodePipeline GitHub源动作令牌长度超出限制问题
问题原因
AWS CodePipeline的GitHub源动作要求OAuth令牌长度不超过100字符,但GitHub当前默认生成的个人访问令牌(PAT)是长格式(长度远超100字符),导致部署时报错:
CREATE_FAILED | AWS::CodePipeline::Pipeline | pythonwebpipeline3CD50BBE
The OAuth token used for the GitHub source action GithubSource exceeds the maximum allowed length of 100 characters. (Service: AWSCodePipeline; Status Code: 400; Error Code: InvalidActionDeclarationException; Request ID: 87a8da36-b4fa-4dec-966a-be29ac35b263; Proxy: null)
解决方案
1. 生成GitHub经典个人访问令牌
- 登录GitHub,进入「Settings」→「Developer settings」→「Personal access tokens」→「Tokens (classic)」
- 点击「Generate new token (classic)」
- 设置令牌过期时间,勾选repo权限(仅需此权限即可拉取代码仓库)
- 点击「Generate token」,复制生成的令牌(注意:此令牌仅显示一次,务必保存)
2. 更新AWS Secrets Manager中的令牌
- 打开AWS Secrets Manager,找到存储令牌的密钥
github-oauth-token-1 - 将密钥值替换为刚生成的GitHub经典令牌,保存更改
3. 重新部署CDK栈
在项目根目录运行部署命令:
cdk deploy
额外注意事项
- 确保CDK代码中
GitHubSourceAction的oauthToken参数引用的Secrets Manager密钥名称正确(此处为github-oauth-token-1) - 遵循最小权限原则,不要为经典令牌赋予超出需求的权限,降低安全风险
内容的提问来源于stack exchange,提问作者Amit Kulkarni
相关产品推荐
相关产品推荐

