Autorizzazioni IAM richieste per ec2.requestSpotInstances?

Sto cercando di impostare le autorizzazioni per un ruolo IAM che invierà una nuova richiesta di istanza a punti se necessario. Sarà utilizzato da una function Lambda.

Il codice esegue le seguenti chiamate API AWS:

  • ec2.describeSpotInstanceRequests
  • ec2.requestSpotInstances
  • ec2.createTags

E ho creato per questo la seguente policy (dopo aver provato molte altre opzioni …):

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1437749945000", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:RequestSpotInstances", "ec2:RunInstances", "ec2:CreateTags", "iam:List*" ], "Resource": [ "*" ] } ] 

}

Se aggiungo iam:* funziona, ma ovviamente non voglio farlo.

Qualcuno può aiutarmi a indovinare quale permesso ha veramente bisogno? Qualcuno sa di una mappa tra chiamate API AWS e tutte le autorizzazioni necessarie?

  • Creare una Policy IAM che consente tutto tranne IAM tranne PassRole
  • Gestione delle credenziali di sicurezza IAM per più contenitori docker
  • Come posso utilizzare le autorizzazioni di IAM per limitare un utente a lanciare solo istanze con un set specifico di AMI?
  • Utilizzando i ruoli IAM per generare un inventario dinamico per Ansible
  • Come specificare un ruolo di IAM per un'istanza EC2 di Amazon che viene lanciato tramite l'AWS CLI?
  • Definizione dei criteri AWSLambdaExecute
  • Amazon Route 53, limita l'accesso degli utenti IAM al set di record singolo
  • Gestione di più AWS VPCs - diventa un'insalata di frutta di sottoreti / istanze ec2
  • One Solution collect form web for “Autorizzazioni IAM richieste per ec2.requestSpotInstances?”

    Di solito è una corrispondenza uno-a-uno tra le funzioni di API ec2 e le autorizzazioni. Quindi la maggior parte di quello che hai nella tua politica va bene.

    È necessario aggiungere l'authorization iam:PassRole . Questo perché la tua richiesta spot è probabilmente fornendo un ruolo IAM per le nuove istanze EC2 da eseguire.

    L'authorization di iam:PassRole è necessaria perché il ruolo di lambda è potenzialmente in grado di creare un'istanza con autorizzazioni più elevate di quanto lo stesso abbia. Ciò potrebbe condurre a pericolosi scenari di sicurezza. Quindi questa authorization extra è necessaria e di solito è limitata ad un elenco finito di ruoli che può essere assegnato utilizzando la properties; Resource .

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.