CodeBuild构建中显示参数存储值为’***’而不是实际值

83次阅读
没有评论

问题描述

在使用CodeBuild访问Systems Manager参数存储时遇到了问题。在buildspec.yml中,用户已经配置了参数存储,用于访问Systems Manager中的一些值。尽管在variables对象中的键会被正确地输出,但在parameter-store对象中的键却显示为’***’,用户想要知道为什么会出现这种情况。

解决方案

解释

在CodeBuild构建的日志文件中,显示为’***’的部分实际上是对参数存储输出的脱敏。实际的值已经存储在环境变量$MONGODB_URI中,可以用于传递给需要这个值的任何命令或脚本。CodeBuild只是在日志语句中进行了最佳努力的脱敏处理,以防止输出敏感信息。

如果确实需要在日志中打印出实际值,您可以在buildspec中将$MONGODB_URI赋值给另一个变量,并将该变量输出。

实现步骤

以下是解决问题的实现步骤:

  1. $MONGODB_URI赋值给另一个变量,以便在日志中输出实际值。
  2. buildspec.yml中添加相应的命令来输出新变量的值。

以下是一个示例的buildspec.yml文件:

version: 0.2
env:
  variables:
    MONGO_URI: 'mongodb+srv'
    MONGODB_URI: /mysite/dev/mongodb_uri
phases:
  pre_build:
    commands:
      - echo $MONGO_URI
      - NEW_MONGODB_URI=$MONGODB_URI  # 将$MONGODB_URI赋值给新变量
      - echo $NEW_MONGODB_URI  # 输出新变量的值

在上述示例中,我们首先将$MONGODB_URI赋值给了一个新变量NEW_MONGODB_URI,然后通过echo命令输出了新变量的值,这样在构建过程中就可以在日志中看到实际的参数存储值了。

注意事项

请确保您在赋值新变量时不会泄露敏感信息,并且只在需要的地方使用新变量。此外,如果存在敏感信息,建议采取适当的措施,确保在构建日志中不会暴露这些信息。

总结

在CodeBuild构建中显示为’***’的参数存储值实际上是一种脱敏措施,以防止在构建日志中泄露敏感信息。您可以通过将参数存储值赋值给一个新变量,并在需要时输出该变量的值,来在日志中查看实际值。在处理敏感信息时,请务必采取适当的措施,确保安全性。

正文完