IAM政策是复杂的野兽.在制作它们时添加注释会很不错.例如,
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1422979261000",
"Effect": "Allow",
"Action": [
"route53:ListHostedZones",
],
"Comment": "Foo"
# or Bar
"Resource": [
"*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
这些都不奏效.是否存在为这些政策添加评论的方法?
如何允许组中的所有成员在AWS IAM中承担角色?
我尝试使用以下语句,但在AWS IAM Principal Element中指定,组不能是Principal.
我希望实现如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::***:group/developer"
},
"Action": "sts:AssumeRole"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这个想法是该小组的所有成员都group/developer应该能够担任这个角色.目标是我不必单独指定一个组中的每个成员.
有没有办法实现这个目标?
我正在尝试在AWS中创建IAM角色,但在创建时我遇到了错误
"我们在处理您的请求时遇到以下错误:在添加角色权限时出现问题.将在未经许可的情况下创建角色.策略未能通过旧版解析"
{"Version": "2012-10-17", "Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Action": [
"sqs:SendMessage",
"sqs:GetQueueUrl"
],
"Effect": "Allow",
"Resource": "arn:aws:sqs:ap-northeast-1:SOME_ID_HERE:test-messages"
}]}
Run Code Online (Sandbox Code Playgroud) 我的团队有一个在执行 IAM 角色下运行的管道。我们希望通过 CloudFormation 或 CDK 将代码部署到 AWS。
过去,我们会在创建/更新 CloudFormation 堆栈之前使用执行 IAM 角色将一些工件上传到 S3 存储桶。
我们最近切换到 CDK,并试图通过使用 CDK Deploy 获得尽可能多的自动化,但遇到了许多我们需要添加的权限项,而我们之前没有这些项(例如,cloudformation:GetTemplate) .
我们不想只授予 * (我们想遵循最小权限),但我找不到任何明确的记录列表。
CDK Deploy 是否有标准的权限列表?除了标准列表之外,还有什么“值得拥有的”吗?
AWS 支持服务账户的 IAM 角色 (IRSA),允许集群操作员将 AWS IAM 角色映射到 Kubernetes 服务账户。
为此,必须在 EKS 集群中创建一个iamserviceaccount :
eksctl create iamserviceaccount \
--name <AUTOSCALER_NAME> \
--namespace kube-system \
--cluster <CLUSTER_NAME> \
--attach-policy-arn <POLICY_ARN> \
--approve \
--override-existing-serviceaccounts
Run Code Online (Sandbox Code Playgroud)
问题是我不想使用上面的eksctl命令,因为我想使用terraform.
eksctl 命令除了创建服务帐户之外还执行其他操作吗?如果它只创建一个服务帐户,那么YAML它的代表是什么?
amazon-web-services amazon-iam kubernetes terraform amazon-eks
我希望强制所有IAM用户(本地和远程)启用和激活他们的MFA设备.我希望他们都能让MFA完成各自的任务.
我正在尝试以下政策
{
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
}
Run Code Online (Sandbox Code Playgroud)
然而; 无论您如何通过控制台或API访问服务,此政策均适用
由于没有暗示MFA身份验证,所有用户都会自动执行大量自动化操作并实现自动化.
作为第一步,我们希望每个人至少能够通过MFA进行控制台登录; 但同样不应强制它们将MFA用于自动化中使用的API调用.
这可以通过IAM政策实现吗?
谢谢
不知道这是 AWS 的错误还是其他错误。我创建了一个 IAM 用户并为其提供了完整的管理策略。然后,我使用该用户通过 CLI 创建 EKS 集群,但是当我使用root 用户eksctl登录 AWS 控制台时,在尝试访问集群节点时出现以下错误。
您当前的用户或角色无权访问此 EKS 集群上的 Kubernetes 对象\n这可能是由于当前用户或角色没有描述集群资源的 Kubernetes RBAC 权限,或者在集群中没有条目\xe2\x80\x99s身份验证配置映射。
\n我有这些问题
\nAWS本身不建议为root用户创建访问密钥并将其用于可编程访问,所以我现在很困惑。有人帮忙
\n到目前为止我看到的所有问题以及此处文档的链接都在讨论在 AWS IAM 中创建的用户或角色,而不是根用户。
\n我正在尝试将特定IAM用户的访问权限授予特定的Cloudfront分发版.我试过这个政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1428659042000",
"Effect": "Allow",
"Action":["cloudfront:*"],
"Resource": [ "arn:aws:cloudfront:E3J2B3GMZI73G0" ]
}
]
}
Run Code Online (Sandbox Code Playgroud)
AWS-IAM策略检查程序表明arn无效.根据有关Cloudfront的IAM限制的文档,AWS未指出任何限制对特定分发的访问的示例.他们总是指:
"Resource":"*"
Run Code Online (Sandbox Code Playgroud)
关于如何让特定用户访问具体Cloudfront Distribution的想法?
应用存储桶策略时:
{
"Version":"2008-10-17",
"Statement": [
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal": { "AWS": "arn:aws:iam::111122223333:group/admins" },
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::bucket/*.txt"
}
]
}
Run Code Online (Sandbox Code Playgroud)
组"管理员"肯定存在,但我得到错误:"策略中的无效主体 - "AWS":"arn:aws:iam :: 111122223333:group/admins""
为什么不被认可?
IAM角色和IAM用户之间有什么区别?该IAM常见问题有一个条目解释它,但它是模糊的,不是很清楚:
IAM用户具有永久的长期凭据,用于直接与AWS服务交互.IAM角色没有任何凭据,也无法向AWS服务发出直接请求.IAM角色应由授权实体承担,例如IAM用户,应用程序或AWS服务(如EC2).
我认为IAM角色用于联合登录(例如,使用带有SAML令牌的IdP),并且它们没有像常规IAM用户那样可以下载的永久访问密钥("IAM角色没有任何凭证"部分".
当他们说IAM角色无法直接向AWS服务发出请求时,他们的意思是什么?我可以登录AWS控制台(Web控制台)并创建堆栈等,因此不能这样.
amazon-iam ×10
amazon-eks ×2
kubernetes ×2
amazon-s3 ×1
aws-cdk ×1
aws-lambda ×1
eksctl ×1
json ×1
terraform ×1