Nic*_*ckB 5 pipeline oauth github amazon-web-services aws-cdk
我正在使用 CDK 在 AWS 中设置代码管道。管道阶段需要从 github 下载源代码,因此使用 oauth 令牌来验证请求。在管道阶段设置值时,我希望能够从 AWS Parameter Store 访问令牌,而不是从 AWS Secret Manager 访问令牌。
有很多使用 Secret Manager 来执行此操作的示例。但是,CDK 项目中没有使用参数存储或以纯文本形式对令牌进行硬编码的示例。
我们使用 CDK 1.3.0 的 typescript。
我尝试将令牌存储在参数存储中。当存储为安全字符串时,您需要在检索值时另外指定版本。但是,我无法将其转换为在管道阶段SecretValue
设置属性所需的值。oauthToken
从参数存储中获取值..
// get the secureString
const secureString = ssm.StringParameter.fromSecureStringParameterAttributes(construct,'MySecretParameter', {
parameterName: 'my-secure-parameter-name',
version: 1,
});
Run Code Online (Sandbox Code Playgroud)
我需要将 转换secretString
为 aCDK.SecretValue
然后用它来设置oauthToken
. 我不知道该怎么做。
const sourceAction = new codepipelineactions.GitHubSourceAction({
actionName: 'Source',
owner: owner,
repo: repository,
oauthToken: githubOAuthAccessToken,
output: sourceOutput,
branch: branch,
trigger: codepipelineactions.GitHubTrigger.WEBHOOK,
});
Run Code Online (Sandbox Code Playgroud)
CDK 文档表示建议将令牌存储在 Secret Manager 中。“建议使用Secret Manager SecretString来获取token ”
它并没有说不能从其他来源检索和使用代币。如果情况能够得到澄清,并且如果有人在 Secrets Manager 之外存储令牌并且仍然能够使用它们在管道的源阶段设置令牌,我将不胜感激。
您可以使用cdk.SecretValue.ssmSecure
或cdk.SecretValue.plainText
:
oauthToken: cdk.SecretValue.ssmSecure('param-name', 'version');
// OR
oauthToken: cdk.SecretValue.plainText('oauth-token-here');
Run Code Online (Sandbox Code Playgroud)
来自文档plainText
:
不要将此方法用于您关心的任何秘密。使用此方法的唯一合理用例是在测试时。
归档时间: |
|
查看次数: |
2093 次 |
最近记录: |