# 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.