web-dev-qa-db-fra.com

Rôle multicompte pour une fonction AWS Lambda

J'ai deux comptes AWS (A et B). Sur mon compte A, j'ai une fonction lambda qui a besoin d'accéder aux ressources du compte B. Justement, mon lambda sur mon compte A, a besoin de mettre à jour un enregistrement dans une zone Route53 hébergée sur mon compte B.

Contrairement à S3, je ne vois aucune politique d'accès aux ressources dans Route53. Je suis donc un peu perdu. J'ai essayé de jouer avec des rôles de comptes croisés IAM, mais cela ne semble pas fonctionner avec lambda.

Comment puis-je autoriser une fonction lambda sur un compte A à accéder aux ressources de mon compte B?

13
Olivier

Vous pouvez créer un rôle dans le compte B et permettre à votre utilisateur (dans le compte A) de l'assumer.

  • Créez un rôle dans le compte A qui sera utilisé par votre fonction AWS Lambda.
  • Créez un rôle dans le compte B avec un type de rôle rôle pour l'accès multicompte . Attribuez les autorisations souhaitées pour utiliser Route 53 dans le compte B. Ajoutez également des autorisations pour le rôle dans le compte A pour appeler AssumeRole sur ce rôle.
  • La fonction Lambda du compte A peut alors appeler AssumeRole sur le rôle du compte B. Cela renverra un ensemble de informations d'identification temporaires pouvant être utilisées pour accéder à Route 53 dans le compte B.

Voir:

Voici une image du tutoriel:

Cross account access

19
John Rotenstein