2016-11-11 4 views
4

Ich versuche, eine neue Aufgabe für ECS mit einer Compose-Datei erstellen, aber ich bekomme eine AccessDeniedException, auch wenn mein Benutzer die erforderlichen Berechtigungen hat.IAM-Fehler bei der Verwendung von ecs-cli

$ ecs-cli compose --project-name test create 
WARN[0000] Skipping unsupported YAML option for service... option name=build service name=builder 
WARN[0000] Skipping unsupported YAML option for service... option name=restart service name=db 
WARN[0000] Skipping unsupported YAML option for service... option name=restart service name=dbadmin 
WARN[0000] Skipping unsupported YAML option for service... option name=restart service name=app 
ERRO[0001] Error registering task definition    error=AccessDeniedException: User: arn:aws:iam::XXXXXXX:user/foo is not authorized to perform: ecs:RegisterTaskDefinition on resource: * 
    status code: 400, request id: 41e6b69a-a839-11e6-84b0-e9bc2ec3f81b family=ecscompose-test 
ERRO[0001] Create task definition failed     error=AccessDeniedException: User: arn:aws:iam::XXXXXXX:user/foo is not authorized to perform: ecs:RegisterTaskDefinition on resource: * 
    status code: 400, request id: 41e6b69a-a839-11e6-84b0-e9bc2ec3f81b 
FATA[0001] AccessDeniedException: User: arn:aws:iam::XXXXXXX:user/foo is not authorized to perform: ecs:RegisterTaskDefinition on resource: * 
    status code: 400, request id: 41e6b69a-a839-11e6-84b0-e9bc2ec3f81b 

Der Benutzer haben diese Politik angehängt:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "ecs:RegisterTaskDefinition", 
       "ecs:ListTaskDefinitions", 
       "ecs:DescribeTaskDefinition" 
      ], 
      "Resource": [ 
       "*" 
      ] 
     } 
    ] 
} 

Ich habe auch versucht die AmazonEC2ContainerServiceFullAccess Befestigung (die ecs haben: *), aber hat nicht funktioniert.

+0

Haben Sie Vollmacht-Benutzerberechtigungen versucht? Wenn das immer noch nicht funktioniert, ist die Erlaubnis Sache wahrscheinlich ein Ablenkungsmanöver. – mcheshier

+0

Ich versuchte AmazonEC2ContainerServiceFullAccess für diesen Benutzer – agusluc

+0

Richtig, aber es könnte abhängig von einer anderen Erlaubnis sein und den Fehler nicht richtig weiterleiten. Es würde zumindest Erlaubnissprobleme ausschließen. – mcheshier

Antwort

0

Das Problem gefunden, der Benutzer, den ich verwendete, hatte eine Richtlinie, um MFA (MultiFactor Auth) zu verwenden, das vom ecs-cli nicht unterstützt wird.

0

Ich glaube, dieses Posting hat einige Antworten, warum der oben genannte Fehler passiert, dachte nicht eine Lösung.

Trouble deploying docker on AWS with ecs-cli

pro Benutzer Dolan Antenucci

Hinweis die Warnungen "Von dem, was ich verstehe, ecs-cli eine sehr begrenzte Unterstützung der kompletten Docker Compose Datei Syntax" „Warnen [ 0000] Überspringt die nicht unterstützte YAML-Option für den Dienst ... "

+0

versucht mit einer simplied .yml-Datei, die keine WARN warf, und das Ergebnis war das gleiche, AccessDeniedException – agusluc

0

ECS unterstützt keinen großen Teil der Kompositionseinstellungen. Es sollte jedoch nur Warnungen gedruckt und ignoriert werden, was zu unbeabsichtigten Ergebnissen führt, aber keine Berechtigungsprobleme verursachen sollte.

Wenn Sie 400 AccessDeniedExceptions in der Form von "user_arn nicht autorisiert, um Service durchzuführen: Aktion auf service_resource" ist es definitiv ein IAM-Problem. Die von Ihnen aufgelistete IAM-Richtlinie sieht jedoch korrekt aus. Ich denke, dass Sie irgendwie nicht die richtigen Benutzeranmeldeinformationen verwenden oder dass die IAM-Richtlinie nicht korrekt auf den Benutzer angewendet wird.

+0

Ich habe alles doppelt überprüft, die Anmeldeinformationen ich für das ecs-cli-Tool eingerichtet sind für meinen persönlichen Benutzer, und dieser Benutzer haben die oben aufgeführte Richtlinie. Ich habe versucht, ein neues Paar Access-Key/Secret-Key zu erstellen, aber das Problem bleibt bestehen. ich – agusluc

Verwandte Themen