Ich versuche AWS EC2 zu verwenden. Es gibt einen Befehl
$ aws ec2 describe-instances
Das beantwortet:
Beim Aufrufen der Operation „DescribeInstances“ ist ein Clientfehler (UnauthorizedOperation) aufgetreten: Sie sind nicht berechtigt, diese Operation auszuführen.
Aber was sind genaue Mindestrichtlinien?
https://console.aws.amazon.com/iam/home?#policies
was sollte dem Benutzer für diesen (oder einen anderen bestimmten) Befehl erlaubt sein?
Antwort1
Aber was sind genaue Mindestrichtlinien? https://console.aws.amazon.com/iam/home?#policies was sollte dem Benutzer für diesen (oder einen anderen bestimmten) Befehl erlaubt sein?
Es gibt keine einzige „minimale“ Richtlinie wie die, die Sie verlangen, mit Ausnahme der Richtlinie „AdministratorAccess“, die Ihnen die Möglichkeit gibt, alle Befehle auszuführen. Aber so viel Macht zu haben ist gefährlich und sollte nicht ohne Grund eingesetzt werden.
Jede der Richtlinien ist für bestimmte Kombinationen von Befehlen konzipiert, die Sie möglicherweise ausführen möchten. Einige bieten Vollzugriff auf schreibgeschützte Funktionen (wie die „describe*“-Funktionen) und haben keine Berechtigung, etwas zu „ändern“. Andere bieten Vollzugriff auf bestimmte AWS-Dienste (wie z. B. die Zulassung von EC2, aber nicht von RDS).
Wenn Sie wirklich „minimal“ wollen, sind die integrierten Richtlinien nicht das Richtige für Sie. Stattdessen sollten Sie den IAM-Richtliniengenerator verwenden, um eine benutzerdefinierte Richtlinie zu generieren, die speziell auf das zugeschnitten ist, was Sie ausführen müssen.
In Ihrem Fall aws ec2 describe-instances
benötigen Sie zur Ausführung lediglich ec2:DescribeInstances
eine Richtlinie wie
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1432001253000",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances"
],
"Resource": [
"*"
]
}
]
}
Normalerweise besteht eine Eins-zu-eins-Entsprechung zwischen Befehlen und den zu ihrer Ausführung erforderlichen Richtlinien. Bei den meisten AWS-Diensten (wie EC2 und RDS) entspricht die erforderliche Richtlinie dem Namen des CLI-/API-Befehls.
Beispielsweise ec2:DescribeInstances
für aws ec2 describe-instances
.
Leider sind die Befehle für Amazon S3 etwas anders und nicht genau eins zu eins.
Wenn Sie Ihre zulässigen Befehle erweitern möchten aws ec2 describe-snapshots
, fügen Sie sie einfach ec2:DescribeSnapshots
der „Aktionsliste“ in der obigen Richtlinie hinzu.