8.9 Erstellen einer IAM-Richtlinie und Zuweisen eines IAM-Benutzers

Um Workloads mit PlateSpin Migrate zu AWS zu migrieren, benötigen Sie einen AWS-IAM-Benutzer (Identity and Access Management) im AWS-Konto, der die entsprechende IAM-Rolle und die erforderlichen Berechtigungen für Migrationen zur AWS VPC besitzt. Darüber hinaus benötigen Sie den AWS-Zugriffsschlüssel und den geheimen AWS-Zugriffsschlüssel für diesen Benutzer.

Erstellen Sie anhand einer der folgenden Methoden eine neue IAM-Richtlinie:

8.9.1 Erstellen einer neuen IAM-Richtlinie mithilfe des AWS-Rollenwerkzeugs

Mit dem AWS-Rollenwerkzeug (AWSRoleTool.exe) von PlateSpin Migrate können Sie es einem verwaltungsbefugten Benutzer ermöglichen, eine neue IAM-Richtlinie auf der Grundlage einer Standardrichtlinie (PolicyJSON.txt) zu erstellen, die PlateSpin Migrate definiert, und der Richtlinie einen IAM-Benutzer (entweder einen vorhandenen oder einen neuen Benutzer) zuzuweisen. Sie finden das PlateSpin Migrate-AWS-Rollenwerkzeug (AWSRoleTool.exe) im Verzeichnis Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesTool.

Standardmäßig enthält die Datei PolicyJSON.txt, die PlateSpin Migrate definiert, die Mindestberechtigungen für einen IAM-Benutzer, die zur Migration von Workloads zu AWS mit PlateSpin Migrate erforderlich sind. Informationen zu den Mindestberechtigungen, die für einen IAM-Benutzer in der Standardrichtlinie definiert sind, finden Sie unter Abschnitt 8.9.3, Definieren von Mindestberechtigungen für einen IAM-Benutzer.

Wenn Sie das AWS-Rollenwerkzeug zum Erstellen einer neuen Richtlinie verwenden, wird diese als Reproduktion dieser Standardrichtlinie erstellt und verfügt über sämtliche Berechtigungen, die in der Standardrichtlinie angegeben sind. Sie haben jedoch auch die Möglichkeit, eine neue Richtlinie mit anderen Berechtigungen zu erstellen. Zum Erstellen einer neuen Richtlinie mit geänderten Berechtigungen müssen Sie die Datei PolicyJSON.txt so bearbeiten, dass nur die Berechtigungen aufgelistet sind, die in der neuen Richtlinie enthalten sein sollen. Anschließend können Sie dann die Richtlinie erstellen.

HINWEIS:Wenn Sie die Datei PolicyJSON.txt bearbeitet haben und die von PlateSpin Migrate definierte Standardrichtlinie wiederherstellen möchten, löschen Sie die bearbeitete PolicyJSON.txt-Datei. Die Datei PolicyJSON.txt wird im Verzeichnis Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesTool mit den Standardberechtigungen neu erstellt, wenn das AWS-Rollenwerkzeug ausgeführt wird.

  1. Melden Sie sich auf Ihrem PlateSpin Migrate-Server-Host als Administrator an.

  2. Öffnen Sie eine Eingabeaufforderung und navigieren Sie zum Speicherort des AWS-Rollenwerkzeugs. Führen Sie dann den folgenden Befehl aus:

    AWSRoleTool.exe

    HINWEIS:Wenn die Standardrichtlinie (PolicyJSON.txt) im Verzeichnis Migrate-Install-folder\PlateSpin Migrate Server\bin\AWSRolesTool nicht verfügbar ist, erstellt das Tool die Datei PolicyJSON.txt mit den von PlateSpin Migrate empfohlenen Standardberechtigungen neu.

  3. Geben Sie den AWS-Zugriffsschlüssel und den geheimen AWS-Zugriffsschlüssel eines AWS-Benutzers ein, der zum Erstellen von IAM-Richtlinien und -Benutzern berechtigt ist.

  4. Geben Sie der AWS-Richtlinie einen Namen.

  5. Geben Sie den Namen eines neuen oder vorhandenen Benutzers ein, dem Sie diese Richtlinie zuweisen möchten. Das Werkzeug erstellt die neue Richtlinie als Reproduktion der Datei PolicyJSON.txt, weist die Richtlinie dem angegebenen Benutzer zu und stellt den Zugriffsschlüssel und den geheimen Zugriffsschlüssel für den Benutzer bereit.

  6. Sie können den Berechtigungsnachweis in einer Datei speichern oder in der Eingabeaufforderung anzeigen:

    • Geben Sie y ein, wenn der Berechtigungsnachweis in einer Datei gespeichert werden soll. Der Pfad zur Datei mit dem Berechtigungsnachweis wird angezeigt.

    • Wenn der Berechtigungsnachweis in der Eingabeaufforderung angezeigt werden soll, geben Sie n ein und notieren Sie sich den angezeigten Berechtigungsnachweis.

  7. (Optional) Um die von PlateSpin Migrate definierte Standardrichtlinie wiederherzustellen, löschen Sie die bearbeitete PolicyJSON.txt-Datei und führen Sie das AWS-Rollenwerkzeug aus, um die Datei PolicyJSON.txt mit den Standardberechtigungen neu zu erstellen.

8.9.2 Erstellen einer IAM-Richtlinie über die AWS Management Console

Sie können über die AWS Management Console eine IAM-Richtlinie erstellen oder bearbeiten sowie Benutzerberechtigungen definieren, indem Sie den Benutzer einer Richtlinie zuweisen. Weitere Informationen hierzu finden Sie unter Erstellen von IAM-Richtlinien.

PlateSpin Migrate stellt eine Standardrichtlinie (PolicyJSON.txt) mit Mindestberechtigungen für einen IAM-Benutzer bereit, die zur Migration von Workloads zu AWS mit PlateSpin Migrate erforderlich sind. Informationen zu den Mindestberechtigungen, die für einen IAM-Benutzer in der Standardrichtliniendatei definiert sind, finden Sie unter Abschnitt 8.9.3, Definieren von Mindestberechtigungen für einen IAM-Benutzer.

Sie können über die AWS Management Console eine neue Richtlinie mit den empfohlenen Berechtigungen erstellen, die in dieser Standardrichtlinie enthalten sind.

8.9.3 Definieren von Mindestberechtigungen für einen IAM-Benutzer

PlateSpin Migrate stellt eine PolicyJSON.txt-Datei bereit, die standardmäßig die Mindestberechtigungen für einen IAM-Benutzer zur Migration von Workloads zu AWS mit PlateSpin Migrate enthält. Wenn Sie das AWS-Rollenwerkzeug zum Erstellen einer neuen Richtlinie verwenden, wird diese als Reproduktion dieser Standardrichtlinie erstellt und verfügt über sämtliche Berechtigungen, die in der Standardrichtlinie angegeben sind.

Der Inhalt der Datei PolicyJSON.txt sieht so aus:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ec2:TerminateInstances",
                "ec2:DeleteTags",
                "ec2:StartInstances",
                "ec2:CreateTags",
                "kms:DescribeKey",
                "ec2:RunInstances",
                "ec2:StopInstances"
            ],
            "Resource": [
                "arn:aws:kms:*:*:key/*",
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:ec2:*:*:security-group/*",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*::image/*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "ec2:DeregisterImage",
                "ec2:DeleteSnapshot",
                "ec2:DescribeInstances",
                "ec2:CreateImage",
                "ec2:DescribeSnapshots",
                "ec2:DescribePlacementGroups",
                "ec2:DescribeSecurityGroups",
                "pricing:GetProducts",
                "ec2:DescribeImages",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeVpcs",
                "ec2:DescribeVolumes",
                "kms:ListAliases",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeReservedInstances",
                "ec2:ModifyInstanceAttribute",
                "ec2:DescribeSubnets",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeInstanceStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "ec2:CreateVolume"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:kms:*:*:key/*"
            ]
        },
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "kms:CreateGrant"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:kms:*:*:key/*"
            ]
        },
        {
            "Sid": "VisualEditor4",
            "Effect": "Allow",
            "Action": "ec2:DetachVolume",
            "Resource": [
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*"
            ]
        },
        {
            "Sid": "VisualEditor5",
            "Effect": "Allow",
            "Action": "ec2:DeleteVolume",
            "Resource": "arn:aws:ec2:*:*:volume/*"
        },
        {
            "Sid": "VisualEditor6",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*::snapshot/*",
                "arn:aws:ec2:*:*:launch-template/*",
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:ec2:*:*:security-group/*",
                "arn:aws:ec2:*:*:placement-group/*",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*::image/*"
            ]
        }
    ]
}