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

AWS弹性豆茎和秘密管理器

丰智
2023-03-14

有人知道在弹性豆茎中传递一个秘密值作为环境变量是可能的吗?另一个选择显然是在我们的代码库中使用sdk,但我想先探讨环境变量方法

干杯Damien

共有1个答案

查飞星
2023-03-14

正如上面的答案所提到的,如果你想在弹性豆茎中做到这一点,仍然没有内置的解决方案。然而,一个围绕解决方案的工作是使用“平台钩子”。不幸的是,在这一点上,对它的记录很少。

然后,你需要允许弹性豆茎得到这个秘密。您可以通过创建新的IAM策略来完成此操作,例如,使用以下内容:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "Getsecretvalue",
        "Effect": "Allow",
        "Action": [
            "secretsmanager:GetResourcePolicy",
            "secretsmanager:GetSecretValue",
            "secretsmanager:DescribeSecret",
            "secretsmanager:ListSecretVersionIds"
        ],
        "Resource": "your-secret-arn"
    }
]}

您需要将“your-secret-arn”替换为您可以在AWS-secret-manager界面上获得的secret ARN。然后,您需要将创建的策略添加到EB角色(它应该是“aws-elasticbeanstalk-ec2-role”或“aws-elasticbeanstalk-service-role”)。

#!/bin/sh
export your_secret_key=$(aws secretsmanager get-secret-value --secret-id your-secret-name --region us-east-1 | jq -r '.SecretString' | jq -r '. your_secret_key')

touch .env
{
  printf "APP_CONFIG_URL=%s\n" "$APP_CONFIG_URL"
  # printf whatever other variable you want to pass
} > .env
 类似资料:
  • 我是AWS的新手,这个问题似乎很基本。然而,我需要看看我是否能找到解决方案。 我首先创建并启动了一个 EC2 实例,然后创建了一个弹性 Beanstalk 实例,并在该实例上部署了一个示例应用程序。默认情况下,弹性 Beanstalk 会将“默认环境”附加到此实例,我无法将其更改为我的 EC2 实例。如何将我的 EC2 实例(我之前创建的实例)附加到此弹性豆茎实例?我正在使用亚马逊免费套餐来学习。

  • 配置验证异常:AWS Elastic Beanstatk无法与Amazon EC2通信以确定是否为Elastic Load均衡创建自定义安全组。 在创建AWS Elastic Beanstalk应用程序时,我在尝试继续“查看和启动”时遇到了这个错误。我是新手。请帮忙。

  • 是的,弹性豆茎应用程序是负载平衡的,并且确实有一个与之相关联的ELB。 我知道我可以直接应用于ELB我自己。但是我想通过弹性豆茎来应用它,这样env配置就保存到云形成模板上了。

  • 我将在AWS上构建微服务的体系结构,我想请你们澄清我的疑问。 我目前的一般概念 我想使用API网关,它公开在Elastic Beanstalk中运行的MicroDevices API。我想将Elastic Beanstalk放置在VPC中,而不直接从Internet访问其实例。 问题 弹性豆茎在应用程序创建时获得子域。这个子域应该由集成类型为AWS服务的API网关在操作配置中使用-我说得对吗? 什

  • 我知道ECS有EC2和fargate启动类型,它们对底层环境配置提供的控制不同。

  • 我使用WindowsPowerShell创建了一个弹性Beanstalk环境,并遵循以下部署文档将Django应用程序部署到弹性Beanstalk 我完成了以下步骤:使用Django的Python虚拟环境, 创建了django项目, 创建IAM用户我获得了访问密钥ID和机密访问密钥ID 失败此步骤环境并部署您的Django应用程序 当我尝试it询问访问密钥、秘密访问密钥和区域aws应用程序自动生成