markdown 使用GetParameter从SSM获取秘密使用Python和Boto3的示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 使用GetParameter从SSM获取秘密使用Python和Boto3的示例相关的知识,希望对你有一定的参考价值。

# Bash Environment Example with SSM to get Parameter Values using GetParameter:

IAM Policy:

```json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1517398919242",
            "Action": [
                "kms:Decrypt"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:kms:eu-west-1:accountid:key/123456-7890-12345-67890"
        },
        {
            "Sid": "Stmt1517399021096",
            "Action": [
                "ssm:GetParameter"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:eu-west-1:accountid:parameter/test/ruan/mysql/db01/mysql_*"
            ]
        }
    ]
}
```

Setting Environment Variables:

```bash
$ export MYSQL_HOSTNAME="/test/ruan/mysql/db01/mysql_hostname"
$ export MYSQL_USERNAME="/test/ruan/mysql/db01/mysql_user"
```

Python Script:

```python
import os
import boto3

session = boto3.Session(region_name='eu-west-1')
ssm = session.client('ssm')

MYSQL_HOSTNAME = os.environ.get('MYSQL_HOSTNAME')
MYSQL_USERNAME = os.environ.get('MYSQL_USERNAME')

hostname = ssm.get_parameter(Name=MYSQL_HOSTNAME, WithDecryption=True)
username = ssm.get_parameter(Name=MYSQL_USERNAME, WithDecryption=True)

print("Hostname: {}".format(hostname['Parameter']['Value']))
print("Username: {}".format(username['Parameter']['Value']))
```

Running The Script:

```bash
$ python app.py
Hostname: db01.eu-west-1.mycompany.com
Username: super_dba
```

以上是关于markdown 使用GetParameter从SSM获取秘密使用Python和Boto3的示例的主要内容,如果未能解决你的问题,请参考以下文章

request.getParameter理解

使用filter和装饰者解决get和post提交乱码问题(增强getParameter, getParameterValues, getParameterMap )

如何从请求中获取 SAMLResponse

从html返回null的java httpservlet getparameter

getAttribute和getParameter

jsp多条件查询,谁有完整的小项目,发给我一个,纠结中、或者帮忙看下哪儿出错了