-
Sovellustunnukset
Sovellustunnisteet
Sovellustunnisteiden avulla voit käyttää Poutaa OpenStackin komentorivityökaluilla tai suoraan API:n kautta. Niiden avulla voit luoda tietylle projektille roolikohtaisen ja määräaikaisen TOKENIN, joka voidaan peruuttaa milloin tahansa. Välitön etu on se, että sinun ei enää tarvitse käyttää tai kirjoittaa CSC-salasanaasi käyttäessäsi Poudan API:a.
-
Ne antavat pääsyn vain tiettyyn projektiin.
-
Roolikohtainen tarkoittaa, että tunnisteet voidaan luoda rajatuilla käyttöoikeuksilla. Voit luoda tunnisteet, joilla saa vain lukea projektisi dataa, mutta ei muokata sitä. Voit myös luoda tunnisteet, joilla voi muokata vain tiettyä resurssia. On myös mahdollista luoda tunnisteet, joilla voi tehdä kaiken sen, mitä sinäkin voit tehdä.
-
Määräaikainen tarkoittaa, että tunnisteiden voimassaoloaika voi olla paljon lyhyempi kuin ne luoneen käyttäjätilin salasanan. Tämä on hyödyllistä, jotta tunnisteen vuotamisen vaikutuksia voidaan rajoittaa.
-
Muita etuja ovat se, että tunnisteet voidaan peruuttaa milloin tahansa Poudan selainkäyttöliittymästä ja että et voi vaihtaa tai saada salasanaa, jos sinulla on vain sen luonut sovellustunniste.
Sovellustunnisteet on liitetty henkilökohtaiseen käyttäjätiliin
On tärkeää muistaa, että sovellustunnisteet ovat henkilökohtaisia. Tämä tarkoittaa, että sovellustunnisteet kuuluvat käyttäjätilille ja kaikki tunnisteilla tehdyt toiminnot tehdään sen käyttäjän puolesta, joka loi tunnisteet. Tämä tarkoittaa myös sitä, että jos käyttäjä poistetaan projektista, käyttäjän tunnisteet lakkaavat toimimasta.
Yleisesti ottaen sovellustunnisteet tarjoavat tehokkuutta ja joustavuutta turvallisempaan vuorovaikutukseen Poudan API:n kanssa.
Sovellustunnisteen luominen
- Siirry Poudan selainkäyttöliittymään.
- Valitse projekti, jota haluat käyttää. (Näet vain ne projektit, joissa on cPouta aktivoituna my.csc.fi:ssä.)
- Siirry kohtaan
Identity->Application Credentials. -
Paina
Create Application Credential. Valintaikkuna avautuu.
-
On hyvä idea valita kuvaava
namejadescription. Muuten saatat myöhemmin hämmentyä siitä, miksi sovellustunnisteet on luotu. Ensimmäiset tunnisteesi voi olla hyvä nimetä esimerkiksiTesting application credentials $TODAYS_DATE. Secret-kentässä tulisi olla pitkä satunnainen merkkijono, joka tulee pitää salassa. Jos jätät tämän tyhjäksi, palvelu luo salaisuuden puolestasi. Tämä on todennäköisesti suositeltava tapa.-
On hyvä idea asettaa
expiration date, erityisesti jos testaat tunnisteita vain tämän päivän ajan.Roolirajoitukset sovellustunnisteille ovat tilapäisesti poissa käytöstä
Sovellustunnisteiden roolirajoitusten käyttö on tilapäisesti poissa käytöstä.
-
cPoudassa on neljä roolia:member,heat_stack_owner,object_store_userjacreator. Yleensä kannattaa käyttäämember-roolia:-
member-rooli on tavallinen käyttäjärooli. Sillä voi tehdä muutoksia järjestelmään. Kun kirjaudut selainkäyttöliittymään,member-rooli on käytössä. -
heat_stack_ownervoi hallita Heat-pinoja eli luoda, muokata ja poistaa infrastruktuuria. Tämä on hyödyllistä käytettäessä sitä IaC-kokoonpanossa. -
object_store_uservoi käyttää Allasta ja Object Storea. -
creatorvoi luoda salaisuuksia, kuten salasanoja ja salausavaimia.
Jos käytät sovellustunnisteita ePoudassa, tilanne on hieman erilainen. Käytettävissä on kaksi roolia:memberjaheat_stack_owner. -
-
Access Rulesmahdollistaa käyttöoikeuksien hienosäädön. Voit lisätä yhden tai useamman säännön joko JSON- tai YAML-muodossa. Jokaisessa säännössä on määriteltäväservice,methodjapath. Tämä esimerkki sallii palvelimien listaamisen:Tämä sallii taltioiden listaamisen:
Katso lisää esimerkkejä ja ohjeita Access rules -ylävirran dokumentaatiosta. Access Rules tarjoaa hyvin tarkkaa rajattavuutta, ja juuri tarvitsemiesi sääntöjen laatiminen voi olla monimutkaista.
-
Valintaruutu
Unrestricted (dangerous)sallii sovellustunnisteidesi luoda uusia sovellustunnisteita. Älä koskaan anna sovellukselle tai automaatiolle tunnisteita, joilla on tämä oikeus.
Sovellustunnisteiden käyttäminen
Kun olet luonut sovellustunnisteet, voit joko ladata tunnisteet palveluun tiedostona, jonka voit sourceta, YAML-tiedostona, jota CLI voi käyttää suoraan, tai vaihtoehtoisesti lisätä salaisuuden salaisuuksien hallintajärjestelmääsi. Tämä on ensimmäinen ja viimeinen kerta, kun voit saada tämän salaisuuden käyttöösi. Jos kadotat sen, sinun täytyy peruuttaa tunniste ja luoda uusi.
Jos latasit openrc file -tiedoston, saat tiedoston, joka sisältää jotakin tämän kaltaista:
#!/usr/bin/env bash
export OS_AUTH_TYPE=v3applicationcredential
export OS_AUTH_URL=https://pouta.csc.fi:5001/v3
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME="regionOne" # Depends if you are using cPouta or ePouta
export OS_INTERFACE=public
export OS_APPLICATION_CREDENTIAL_ID=xxxxxxxxxxxxxxxxxxxxxx
export OS_APPLICATION_CREDENTIAL_SECRET=xxxxxxxxxxxxxxxxxxx
Jos sourcetat tämän tiedoston, voit käyttää sitä yhdessä OpenStackin komentorivityökalujen kanssa.
Voit myös ladata cloud.yaml-tiedoston, joka näyttää tältä:
# This is a clouds.yaml file, which can be used by OpenStack tools as a source
# of configuration on how to connect to a cloud. If this is your only cloud,
# just put this file in ~/.config/openstack/clouds.yaml and tools like
# python-openstackclient will just work with no further config. (You will need
# to add your password to the auth section)
# If you have more than one cloud account, add the cloud entry to the clouds
# section of your existing file and you can refer to them by name with
# OS_CLOUD=openstack or --os-cloud=openstack
clouds:
openstack:
auth:
auth_url: https://pouta.csc.fi:5001/v3
application_credential_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
application_credential_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
regions:
- regionOne # Depends if you are using cPouta or ePouta
interface: "public"
identity_api_version: 3
auth_type: "v3applicationcredential"
Katso itse tiedoston kommenteista, miten sitä käytetään.
Varmista tunnisteiden toiminta
On hyvä idea testata, että sovellustunnisteet voivat tehdä sen, mitä niiden odotat voivan tehdä. On myös hyvä idea varmistaa, että ne EIVÄT voi tehdä sitä, mitä niiden ei pitäisi voida tehdä.
Vianmääritysvinkkejä
-
Voit tarkastella sovellustunnisteita suorittamalla:
ja yksittäisen sovellustunnisteen tiedot näin:
Säännöt on myös mahdollista nähdä Application Credentials -sivulla napsauttamalla tunnisteen nimeä.
Jos lisäät
--debugmihin tahansa komentoon, näet paljon yksityiskohtaisemman tulosteen, mukaan lukien API-kutsut. -
Ennen kuin sourcetat sovellustunnistetiedoston, varmista, ettei sinulla ole muita OpenStack-muuttujia asetettuna (
env | grep OS). Muuten saat tämän virheen:$ openstack server list Error authenticating with application credential: Application credentials cannot request a scope. (HTTP 401) (Request-ID: req-23dac9b0-5fd5-4f67-a23f-129b4ca55444)Yritä uudelleen (sekä source-komento että varsinainen komento) puhtaassa terminaalissa.
-
Access Rules -sääntöjen hienosäätöä varten voit nähdä kaikki API-päätepisteet selainkäyttöliittymän API access -sivulla. Samat tiedot saat myös komennolla
openstack catalog list. -
Object Store-API ei ole osaPoutaa, vaanAllasta. Tämä tarkoittaa, että ne eivät tueAccess Rules-sääntöjä. JosAccess Ruleson käytössä, niiden avulla ei ole mahdollista käyttää Allasta riippumatta käytetystä kokoonpanosta.