Donnant accès à AWS Lambda service avec peu de politique
Je suis en train de suivre ce tutoriel la configuration d'une fonction lambda à l'arrêt/démarrage des instances avec un tag spécial ajouté à des instances ec2.
La politique affecté à mon rôle d'utilisateur Admin me donne accès à toutes les fonction lambda e.g par
{
"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": "*"
}
]
}
Je suis bloqué à l'étape 6, tandis que le paramètre Lambda function handler and role
lors de la sélection de Base de l'exécution de rôle" avec l'erreur
Utilisateur: arn:aws:iam::xxxx:utilisateur/Aaaa n'est pas autorisé à effectuer:
iam:CreateRole sur la ressource: arn:aws:iam::xxxx:rôle/lambda_basic_exec
Mon rôle politique regardé qqch comme ceci:
{
"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": "*"
}
]
}
Qui semble raisonnable étant donné mon peu de droits.
Que dois-je demander à mon Admin pour mettre à jour la politique assignée à moi, afin que je puisse réussir à planifier des événements pour fonction lambda comme décrit dans le tutoriel ? Ou cela peut être fait d'une autre manière autour de l'utilisation de l'AIM e.g par l'ajout de ce nouveau rôle ? Je veux seulement les droits suffisants.
OriginalL'auteur sakhunzai | 2016-01-22
Vous devez vous connecter pour publier un commentaire.
vous avez un titre de contrainte, comme vous le feriez besoin de la "iam:CreateRole" dans votre police, avec quelque chose comme "iam:attachRolePolicy" et "iam:createPolicy". Donc, avec cela vous serait grosso modo admin de votre compte, vous pouvez créer des rôles avec le tout de la politique et de l'attacher à une instance EC2 ou assumer, directement.
Ce que vous pourriez faire est d'avoir votre admin de créer un ou plusieurs rôles de lambda, e.g un pour S3 accès, l'un pour l'ec2 commandes etc. Quand vous voulez, puis de créer une fonction lambda, choisissez l'une de ces pré-créé rôles au lieu d'en créer un nouveau.
iam:CreateRole, attachRolePolicy and createPolicy
êtes tous j'ai besoin . Ne sera pas que de prolonger mes droits.e.g je pourrais ajouter une stratégie de moi-même, qui permet de faire s'étend de mes droits, etc ?et oui c'est le problème, avec ces droits, il étend les droits, presque comme un admin. e.g comme je l'explique dans ma réponse (ou du moins j'essaie d'expliquer 🙂 ), avec les droits que l'on pourrait créer un rôle avec des droits d'administrateur, d'assumer ce rôle et ainsi d'obtenir des droits d'admin sur le compte. C'est pourquoi je propose que votre admin pré-crée des rôles pour vous, et à l'étape 6 de votre tutoriel vous choisissez l'un de ces rôles, plutôt que de choisir une option qui permet de créer un nouveau rôle. Cela fait-il sens? désolé si mon anglais n'est pas assez clair 🙂
Merci. Pensez-vous de l'ajout d'un nouveau rôle à partir de la console IAM par
Roles > Add Role > Role Name [abc] > AWS Service Roles (Select AWS Lambda )
, ce rôle va être listé ici ?oui, exactement, et il aura le même aspect que dans la capture d'écran de l'étape 6 de "lambda_exec_role" dans "Utilisation de rôle existant"
Il sera grand si vous passez en revue lambda_exec_role politique j'ai mis à jour , merci
OriginalL'auteur Tom