# Metody autoryzacji

# Keystone v3

Dane potrzebne do połączenia z usługą znajdziesz przechodząc w Panelu do:
OCS > informacje dowolnego kontenera. Potrzebne wartości to:
OS_PROJECT_ID (ID projektu) OS_PROJECT_NAME (nazwa projektu OCS) OS_PASSWORD (hasło do Panelu) OS_USER_ID (login do Panelu)

# swiftclient

Żeby połączyć się do OCS poprzez swiftclient-a należy przygotować plik ocs_v3.sh z następującą treścią:

# ENDPOINTY - należy użyć jednego z nich:
# endpoint dostępowy dla PL-WAW
export OS_AUTH_URL=https://ocs-pl.oktawave.com/auth/v3

# endpoint dostępowy dla PL-KRK
export OS_AUTH_URL=https://pl2-ocs.oktawave.com/auth/v3

# region name: PL1, lub PL2
export OS_REGION_NAME=
export OS_IDENTITY_VERSION=3
export OS_DOMAIN_NAME=OCS
export OS_USER_DOMAIN_NAME=OCS

# login do Panelu Oktawave
export OS_USER_ID=

# hasło do Panelu Oktawave
export OS_PASSWORD=

# ID projektu (do sprawdzenia w NAP > OCS > Statystyki > Kontener)
export OS_PROJECT_ID=
export OS_PROJECT_NAME=

Przykład:

# curl

W celu autoryzacji za pomocą curla należy przygotować plik ocs_v3.json z następującą treścią:

{    "auth": {
       "identity": {
          "methods": [
                "password"
           ], 
   "password": {
        "user": {
           "id": "OS_USER_ID",
                  "password": "OS_PASSWORD"
              }
            }
        },
        "scope": {
            "project": {
                "domain": {
                    "name": "OCS"
                },
                "id": "OS_PROJECT_ID"
            }
        }
    }
}

W miejsca OS_USER_ID, OS_PASSWORD i OS_PROJECT_ID należy podać odpowiednie wartości, takie same jak w przypadku swiftclienta.

Przykład:

Gdy plik zostanie odpowiednio przygotowany, można przejść do wygenerowania tokenu:

curl  -XPOST https://ocs-pl.oktawave.com/auth/v3/auth/tokens -H "Content-Type: application/json" -d @scope.json  -i

W odpowiedzi otrzymasz nagłówek, który będzie zawierał X-Service-Token:

HTTP/2 201
date: Thu, 31 Dec 2020 12:34:56 GMT
x-subject-token: TOKEN
vary: X-Auth-Token
x-openstack-request-id: req-6d2ce614-0e55-4a0b-8a57-b0ac9233f05a
content-length: 2316
content-type: application/json

Kolejne zapytania skonstruujesz z wykorzystaniem tokena. Pomocny powinien okazać się opis REST API (opens new window).

Każdy udany request o autoryzacje (token) dostaje w odpowiedzi parametr `expires_at`, który mówi do kiedy ważny jest token. Na podstawie tego można sterować aplikacją w celu wygenerowania nowego tokena jeśli stary wygasł.

Więcej informacji znajdziesz w dokumentacji OpenStack.

# Cyberduck

Należy pobrać profil połączenia i uruchomić go w programie Cyberduck (opens new window).

📁 Keystone v3. Oktawave Cloud Storage

Profil do połączenia wygląda następująco:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Protocol</key>
        <string>swift</string>
        <key>Vendor</key>
        <string>keystone3</string>
        <key>Description</key>
        <string>OCS v3</string>
        <key>Default Hostname</key>
        <string>ocs-pl.oktawave.com</string>
        <key>Default Port</key>
        <string>443</string>
        <key>Context</key>
        <string>/auth/v3/auth/tokens</string>
        <key>Username Placeholder</key>
        <string>Nazwa-projektu:OCS:E@mail</string>
        <key>Password Placeholder</key>
        <string>Hasło-do-konta</string>
    </dict>
</plist>

Po dodaniu profilu do programu do nawiązania połączenia podaj dwie wartości:

  • połączony ciąg OS_PROJECT_NAME:OCS:OS_USERNAME,
    czyli np. OCS-CTWm3l:OCS:jan.kowalski@oktawave.com;
  • OS_PASSWORD, czyli hasło do konta.

Gdy posiadasz kontenery zarówno w PL1 jak i w PL2 możesz potrzebować informacji o lokalizacji. Informację o lokalizacji kontenera wyświetlisz włączając widok wybierając kolejno View > Column > Storage Class (dla Windowsa) / Region (dla Mac).

# Swauth (deprecated)

# swiftclient

W celu nawiązania połączenia z wykorzystaniem swiftclienta należy przygotować plik ocs_sw.sh z następującą treścią:

#niezmienna, obowiązkowa wartość
export ST_AUTH=https://ocs-pl.oktawave.com/auth/v1.0

# dane użytkownika do logowania Swauth
# do sprawdzenia w NAP > Swauth / OCS > informacje dowlonego kontenera
export ST_USER=
export ST_KEY=

Przykład:

# curl

Żeby poprawnie połączyć się z OCS za pomocą curla z konsoli wystarczy wydać następujące polecenie:

curl -i 'https://ocs-pl.oktawave.com/auth/v1.0' \
 -H "X-Auth-User:NazwaUzytkownika1234:admin" \
 -H "X-Auth-Key:Haslo123"

W miejsca NazwaUzytkownika1234:admin i Haslo123 należy podać odpowiednie wartości, tak samo jak w przypadku swiftclient-a. W odpowiedzi otrzymasz token, którego użyj do tworzenia kolejnych zapytań curl.

Przykład:

# Cyberduck

Należy pobrać profil połączenia i uruchomić go w programie Cyberduck (opens new window).

📁 Swauth Oktawave Cloud Storage

Profil do połączenia wygląda następująco:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Protocol</key>
        <string>swift</string>
		<key>Vendor</key>
        <string>Oktawave</string>
		<key>Description</key>
        <string>OCS Swauth</string>
		<key>Default Hostname</key>
		<string>ocs-pl.oktawave.com</string>
		<key>Default Port</key>
		<string>443</string>
        <key>Context</key>
        <string>/auth/v1.0/</string>
        <key>Username Placeholder</key>
       	<string>Login</string>
       	<key>Password Placeholder</key>
       	<string>Password</string>
    </dict>
</plist>

Po dodaniu profilu do programu do nawiązania połączenia podaj wartości:

  • nazwę użytkownika, czyli np. JanKowalski1234:admin lub Oktawave-1234:tomek
  • hasło do swojego konta.