例如我是AWS控制台的管理员,并且有一个用户X,我需要与他共享一些由我创建的测试lambda函数,以便他可以测试测试lambda函数而不是搞乱生产lambda函数和我也不希望X看到访问我的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",
"lambda:*",
"logs:*",
"kms:ListAliases"
],
"Resource": "*"
}
]
}
但s3存储桶没有发生同样的事情,我已经向测试用户添加了另一个策略,仅用于访问测试s3存储桶,这很有效,下面是策略说明。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::test"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::test/*"
]
}
]
}
答案 0 :(得分:2)
我犯了一个愚蠢的错误,有些人也可能会遇到它,所以我想提一下,我在我的aws控制台中选择了一个不同的区域,在testuser帐户中,所以它没有显示,当我选择回来时在我创建了lmabda函数的区域,它开始显示所有lambda函数。