gpt4 book ai didi

amazon-web-services - aws ecs fargate 无法获取 secret 管理器

转载 作者:行者123 更新时间:2023-12-04 13:19:30 25 4
gpt4 key购买 nike

我正在使用 AWS ECS 服务来编排我的 docker 容器。

还使用 Secret Manager 存储和检索个人信息。

我申请 SecretsManagerReadWrite我的政策 ecsTaskExecutionRoleecsServiceRole .

使用前 Fargate ,我只是将 ECS 与 EC2 一起使用。

它工作正常。

但在 fargate ,它抛出 NoCredentialsError

我通过使用 boto3 制作的 python 脚本获取到 secret 管理器。
( https://docs.aws.amazon.com/ko_kr/code-samples/latest/catalog/python-secretsmanager-secrets_manager.py.html )

这里有什么解决办法吗?

谢谢。

自定义权限

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"secretsmanager:GetSecretValue",
"ssm:GetParameters"
],
"Resource": "*"
}
]
}

最佳答案

确保您应用的 IAM 策略具有以下权限:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:GetParameters",
"secretsmanager:GetSecretValue",
"kms:Decrypt"
],
"Resource": [
"arn:aws:ssm:<region>:<aws_account_id>:parameter/parameter_name",
"arn:aws:secretsmanager:<region>:<aws_account_id>:secret:secret_name",
"arn:aws:kms:<region>:<aws_account_id>:key/key_id"
]
}
]
}

另外,请确保您使用的是 Fargate 1.3.0 ( https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html )

但我会尝试其他方法来减少代码量。自 2018 年 11 月起,无需编写自己的代码即可从 Secret Manager 中获取 secret 。 ECS/Fargate 可以为您完成。只需授予 ECS 访问您的 secret 的权限并在任务定义中提供 secret ARN。 ECS/Fargate 会将 secret 分配给环境变量。您的代码只需要像往常一样读取环境变量。

例如 :
"containerDefinitions": [
{
"secrets": [
{
"name": "environment_variable_name",
"valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name"
}
]
}
]

文档在这里: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html

关于amazon-web-services - aws ecs fargate 无法获取 secret 管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55568371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com