Bei manchen Diensten funktioniert das Login via Application Credentials nicht. Als Alternative zu Application Credentials kann man sich auch mittels Benutzername/Passwort bei OpenStack anmelden. Im Hintergrund wird dafür das SAML2 ECP-Protokoll benutzt. Dabei meldet sich der Client via Basic-Auth beim angegebenen IDP an und überträgt die SAML-Assertion an Keystone. Für diese Login-Methode müssen folgende Environmentvariablen gesetzt werden:

export OS_AUTH_URL=https://keystone.public.os.wwu.de/v3
export OS_IDENTITY_API_VERSION=3
export OS_INTERFACE=public
export OS_AUTH_TYPE=v3samlpassword
export OS_IDENTITY_PROVIDER=dfnaai
export OS_PROTOCOL=saml2
export OS_IDENTITY_PROVIDER_URL=https://zividp.uni-muenster.de/idp/profile/SAML2/SOAP/ECP
export OS_USERNAME=
export OS_PASSWORD=
export OS_PROJECT_NAME=
export OS_PROJECT_DOMAIN_NAME=Default

Da diese Art der Authentifizierung recht langsam ist, kann man sich anschließend ein Token erstellen und dieses für alle weiteren Kommandos verwenden:

export OS_TOKEN=$(openstack token issue -c id -f value)
export OS_AUTH_TYPE=v3token

Am Ende dieser Seite befindet sich zusätzlich ein Authentifizierungs-Script, mit dem man sich auf oben beschriebene Art und Weise ein Token erzeugen lassen kann. Als Voraussetzung muss das Openstack-CLI installiert sein (aufgrund eines Fehlers muss eine festgesetzte Version verwendet werden). Weiterhin muss auch das "lxml" Paket installiert sein.

pip install python-openstackclient==5.2.1 lxml

Das genannte Script muss man in die Session "sourcen", da es Environment-Variablen setzt:

source ./openstackauth.sh


openstackauth.sh

  • Keine Stichwörter