我试图按照本教程设置一个lambda函数来关闭/启动实例,并在ec2实例中添加一个特殊的标记。
管理员用户分配给我的角色的策略让我可以访问所有lambda函数,例如
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:*",
"cognito-identity:ListIdentityPools",
"cognito-sync:GetCognitoEvents",
"cognito-sync:SetCognitoEvents",
"dynamodb:*",
"events:*",
"iam:ListAttachedRolePolicies",
"iam:ListRolePolicies",
"iam:ListRoles",
"iam:PassRole",
"kinesis:DescribeStream",
"kinesis:ListStreams",
"kinesis:PutRecord",
"lambda:*",
"logs:*",
"s3:*",
"sns:ListSubscriptions",
"sns:ListSubscriptionsByTopic",
"sns:ListTopics",
"sns:Subscribe",
"sns:Unsubscribe"
],
"Resource": "*"
}
]
}
在选择“基本执行角色”时设置Lambda函数处理程序和角色时,我被卡在步骤6中,出现错误
用户:arn:aws:iam::xxxx:User/Yyyy无权在资源上执行:iam:CreateRole:arn:aws:iam::xxxx:role/lambda\u basic\u exec
我的角色政策是这样的:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"ec2:Describe*",
"ec2:Start*",
"ec2:RunInstances",
"ec2:Stop*",
],
"Resource": "*"
}
]
}
考虑到我有限的权利,这似乎是合理的。
我应该要求我的管理员更新分配给我的策略,以便我可以成功地为lambda函数设置计划事件,如教程中所述?或者这可以通过使用IAM的其他方式来完成,例如通过添加新角色?我只想要足够的权利。
您有一个安全约束,因为您需要在策略中使用“iam:CreateRole”,以及类似“iam:attachRolePolicy”和“iam:createPolicy”的内容。因此,您基本上是帐户的管理员,因为您可以使用任何策略创建角色,并将其附加到EC2实例或直接承担它。
您可以让管理员为lambda创建一个或多个角色,例如一个用于S3访问,一个用于ec2命令等。当您想要创建lambda函数时,请选择其中一个预先创建的角色,而不是创建新角色。
由于这个问题已经过去了一段时间,AWS也发生了很大变化,我想提一下AWS在2018年推出的一个新功能: IAM实体的权限边界[1]。
它们用于“将权限管理委托给受信任的员工”[2]和其他IAM实体(如角色)。也就是说,您不需要授予特定角色类似管理员的权限来创建其他角色,正如接受的答案所述。您可以授予角色iam: CreateRole权限,条件是需要对每个新创建的角色设置权限边界:{"StringEquals":{"iam: PermissionsBoundary":"arn: aws: iam::111122223333:策略/XCompanyBoundary"}}
。
由权限边界指定的策略定义了有效分配给角色的最大权限。[1]张志强
为了创建具有权限边界的角色,您可以使用cli命令的可选参数--permissions boundaryaws iam create role
。[3]
[1] https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
[2]https://aws.amazon.com/blogs/security/delegate-permission-management-to-developers-using-iam-permissions-boundaries/
[3]https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html
我使用CarrierWaveDirect将高分辨率图像上传到s3。然后,我使用该图像处理通过Cloudfront URL公开的多个版本。 上传的高分辨率文件需要对匿名用户保持私有,但web应用程序需要访问私有文件才能对其他版本进行处理。 我目前正在通过将所有上传的文件设置为CarrierWave初始值设定项中的private config.fog_public=假 我有一个允许完全管理员访问的we
我正计划使用JWT。JWT将包含权限列表,单个微服务将使用“位置”和“权限”的组合来确定。 不幸的是,我无法在Keycloak中配置客户端来分配策略和权限,也无法在Internet上找到任何示例。
我正在尝试为AWS IAM用户设置访问特定AWS SQS队列的用户策略。 当我尝试使用以下策略时,我得到错误AccessDenied。 但是,当我尝试使用相同的策略时,仅将arn的queue_name部分替换为*,它可以工作: 当试图限制对特定队列的访问时,会出现什么问题?
使用IAM策略模拟器时,似乎必须提供对完整密钥arn的访问(),而不是别名() 有没有更好的办法来管理这个? 我知道我可以使用密钥策略管理对CMKs的访问,并且不允许从IAM进行访问,但是您不能在KMS密钥策略中使用组作为
议程:在Linux和Windows之间有一个共同的项目文件夹 在我的ubuntu机器14.04中,我已将文档根目录从:更改为 我得到错误为: 被禁止的 您没有访问/此服务器的权限。 Apache/2.4。本地主机端口80上的7(Ubuntu)服务器 所以我添加了一些脚本到: 但是可以工作,但不适用于Windows NTFS分区驱动器。 即使在提到: 错误消息“禁止您没有访问/此服务器的权限” 我的
我已将以下策略附加到IAM用户: 现在,有了附加了上述策略的IAM用户的访问凭据,我试图运行以下命令: 其中,文件policy.json的内容为: 我得到了一个 调用PutBucket策略操作时发生错误(AccessDended):拒绝访问 现在我想知道为什么? 用户的策略语句允许对资源执行: 这就是我试图用我的上述政策所做的。那么,为什么访问被拒绝?