当前位置: 首页 > 知识库问答 >
问题:

如何使用AWS CLI设置加密的Lambda环境变量?

蒋浩
2023-03-14

我在本地有AWS Lambda环境变量,它们希望用特定的KMS密钥加密并分配给Lambda函数。

我以为

aws lambda update-function-configuration --function-name functionName --cli-input-json file://config.json
{
  "Environment": {
    "Variables": {
      "var01": "Variable one",
      "var02": "Variable two"
    }
  },
  "KMSKeyArn": "arn:aws:kms:us-west-1:09238573743:key/...."
}

共有1个答案

汪文光
2023-03-14

与AWS控制台不同的是,AWS CLI只进行一次调用,而AWS控制台的构建是为了进行多个调用,这些调用可以跨越各种服务。这就是为什么$aws lambda update-function-configuration不会加密变量的原因。

因此,为了完成这一点,我们只需要两个命令:

$aws kms Encrypt--key-id****--明文“variable one”

$aws lambda更新-function-configuration--function-name functionname-kms-key-arn****--环境变量={var01=xxxxxxxx}

--编辑:

我们可以在aws lambda update-function-configuration命令的参数中设置的密钥用于静止加密。(如控制台中)

对于环境变量解密,不需要告诉lambda它必须使用哪一个密钥,因为这个信息在密码文本上。但我们必须确保lambda可以访问密钥,方法是在AWS IAM中将lambda的角色设置为密钥的用户。

 类似资料:
  • 有没有人可以为至少有一个使用KMS密钥加密的环境变量的Lambda发布一个基本的CloudFormation JSON对象,以及创建该密钥的JSON?

  • 我试图在Node.js4.3中运行的AWS Lambda函数中使用加密的环境变量,但是在尝试解密变量时代码挂起。我没有收到任何错误信息,它只是超时。以下是我尝试过的: 我在与Lambda相同的区域中创建了加密密钥,并确保Lambda运行的角色能够访问该密钥。(我甚至尝试过让角色完全控制按键。) 创建Lambda时,我启用加密帮助程序,选择加密密钥,并加密环境变量: 当我从未告诉应用程序使用什么解密

  • 在创建Lambda函数时,通过GUI控制台加密环境变量并不难。我只是输入密钥值对,然后打开加密帮助程序,输入我的KMS密钥的ARN。这允许我加密值,所以它在被发送到存储之前被加密,如上图所示。 我要完成的是同样的事情,但假设您不是在GUI控制台中部署Lamba函数,而是通过CloudFormation模板,该模板将部署在CLI中。 下面是我在CloudFormation模板中指定相关参数的方法:

  • 问题内容: 嗨,我试图找出如何使用Ansible设置环境变量。 简单的shell命令是这样的: 作为shell命令尝试,并在使用环境模块尝试时遇到错误,没有任何反应。 我在想什么 问题答案: 有多种方法可以做到这一点,而且从您的问题出发,也不清楚您需要什么。 1.如果仅需要按任务定义环境变量,请执行以下操作: 请注意,该功能仅对第一个任务可用,不会在您的系统上永久设置它。 希望不久后还将在 播放级

  • 我对lua脚本的功能很陌生。我试过用, 操作系统。执行(“导出MY_VAR=10”) 伊奥。popen(“导出MY_VAR=10”) 从 lua 脚本。 我尝试在执行lua脚本后使用 echo $MY_VAR 从 shell 中读取MY_VAR变量,但我没有看到MY_VAR设置为 10。 如何使用lua脚本设置环境变量?

  • AWS CloudFormation模板,包括一个带有敏感环境变量的Lambda函数。我想设置一个KMS密钥并用它加密它们 添加基本的cloudformation来加密密钥,即使使用AWS/Lambda默认加密也可以