无法在参数存储AWS中获取参数



我现在要批准为AWS。

我正在尝试将参数存储在我的EC2实例的参数存储中,并且我会将它们放在编码eploy的后安装步骤中的环境变量中。部署有效,但无论如何我都无法获得参数。

我试图遵循本教程https://aws.amazon.com/it/blogs/mt/use-parameter-store-to-securely-access-secrets-secrets-secrets-secrets-secrets-and-config-data-in-aw-in-aws-aws-codeploy-codeploy/.

我创建了策略" parameterStorePolicy",如下:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "ssm:DescribeParameters"
        ],
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "ssm:GetParameters"
        ],
        "Resource": [
            "arn:aws:ssm:us-east-2:<myId>:parameter/MySecureSQLPassword"
        ]
    },
    {
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "arn:aws:kms:us-east-2:<myId>:alias/aws/ssm"
    }
]}

我将策略附加到也附上" AWScodeDeployrole"的" codedeployservicerole"。

最后,在我的脚本" afterinstall.sh"中,我编写了以下代码:

cd /home/ubuntu/pypi
export PIPPO=$(aws ssm get-parameters --region us-east-2 --names 
MySecureSQLPassword --with-decryption --query Parameters[0].Value)
echo $PIPPO >testPippo.txt

结果是一个void testpippo.txt文件。

谁能说我怎么了?

谢谢

检查您部署到的实例的EC2实例配置文件是否将" ParameterStorePolicy" IAM策略附加到您部署到的EC2实例配置文件上。

确认实例是否具有正确的权限,您可以执行以下任一项操作:

  1. 直接在实例上运行CLI命令,并确认该值已解密:

aws ssm get-parameters - 区域us-east-2 -names mysecuresqlpassword - with-decryption-query参数[0] .Value

  1. 登录到AWS控制台,然后访问https://policysim.aws.amazon.com/home/index.jsp?#roles找到您的EC2实例角色,并模拟该角色对该参数的访问。

您可能可以尝试一件事,就是直接从实例中获取参数,而无需运行codeDeploy(也许只是直接从实例运行后插入脚本)。如果您能够获得,则意味着与编码EPloy运行用户有关的内容,否则在设置参数时应该是问题。

谢谢Binbin

相关内容

  • 没有找到相关文章

最新更新