Verwendung des Sicherheits-Token-Dienstes von Multicloud Object Gateway, um die Rolle eines anderen Benutzers zu übernehmen

Multicloud Object Gateway (MCG) unterstützt einen Security Token Service (STS), ähnlich dem von Amazon Web Services angebotenen. Dieser STS des MCG ermächtigt einen Benutzer, die Rolle eines anderen Benutzers zu übernehmen.

Informationen zu dieser Task

Um andere Benutzer zu autorisieren, die Rolle eines bestimmten Benutzers zu übernehmen, müssen Sie dem Benutzer eine Rollenkonfiguration zuweisen. Sie können die Konfiguration von Rollen verwalten, die das MCG-Befehlszeilen-Tool (CLI) verwenden.

Das folgende Beispiel zeigt die Rollenkonfiguration, die es zwei MCG-Benutzern ( assumer@mcg.test und assumer2@mcg.test ) die Rolle eines bestimmten Benutzers übernehmen können:

'{"role_name": "AllowTwoAssumers", "assume_role_policy": {"version": "2012-10-17", "statement": [ {"action": ["sts:AssumeRole"], "effect": "allow", "principal": ["assumer@mcg.test", "assumer2@mcg.test"]}]}}'

Vorgehensweise

  1. Weisen Sie die Rollenkonfiguration mit Hilfe des MCG CLI-Tools zu.
    mcg sts assign-role --email <assumed user's username> --role_config '{"role_name": "AllowTwoAssumers", "assume_role_policy": {"version": "2012-10-17", "statement": [ {"action": ["sts:AssumeRole"], "effect": "allow", "principal": ["assumer@mcg.test", "assumer2@mcg.test"]}]}}'
  2. Sammeln Sie die folgenden Informationen:
    • Die Zugriffsschlüssel-ID und der geheime Zugriffsschlüssel des Assumers (des Benutzers, der die Rolle übernimmt).
    • Der MCG-STS-Endpunkt, der mit dem Befehl abgerufen werden kann:

       oc -n openshift-storage get route
    • Die Zugriffsschlüssel-ID des angenommenen Benutzers.
    • Der Wert von role_name in Ihrer Rollenkonfiguration.
    • Ein von Ihnen gewählter Name für die Rollensitzung.
  3. Weisen Sie die Konfigurationsrolle dem entsprechenden Benutzer zu.
    AWS_ACCESS_KEY_ID=<aws-access-key-id> AWS_SECRET_ACCESS_KEY=<aws-secret-access-key1> aws --endpoint-url <mcg-sts-endpoint> sts assume-role --role-arn arn:aws:sts::<assumed-user-access-key-id>:role/<role-name> --role-session-name <role-session-name>
    Hinweis: Die Angabe von --no-verify-ssl kann je nach Konfiguration des Clusters erforderlich sein.

    Die Ausgabe enthält die ID des Zugriffsschlüssels, den geheimen Zugriffsschlüssel und das Sitzungs-Token, das für die Ausführung von Aktionen verwendet werden kann, während die Rolle des anderen Benutzers übernommen wird.

    Sie können die Anmeldeinformationen verwenden, die nach den Schritten zur Rollenübernahme erstellt wurden, wie im folgenden Beispiel gezeigt:

    AWS_ACCESS_KEY_ID=<aws-access-key-id> AWS_SECRET_ACCESS_KEY=<aws-secret-access-key1> AWS_SESSION_TOKEN=<session token> aws --endpoint-url <mcg-s3-endpoint> s3 ls