Suchen Sie in AWS nach den minimalen Richtlinien, die der Benutzer benötigt

Suchen Sie in AWS nach den minimalen Richtlinien, die der Benutzer benötigt

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-instancesbenötigen Sie zur Ausführung lediglich ec2:DescribeInstanceseine 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:DescribeInstancesfü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:DescribeSnapshotsder „Aktionsliste“ in der obigen Richtlinie hinzu.

verwandte Informationen