Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

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

  1. Siirry Poudan selainkäyttöliittymään.
  2. Valitse projekti, jota haluat käyttää. (Näet vain ne projektit, joissa on cPouta aktivoituna my.csc.fi:ssä.)
  3. Siirry kohtaan Identity -> Application Credentials.
  4. Paina Create Application Credential. Valintaikkuna avautuu.

    Create Application Credential cPouta

  5. On hyvä idea valita kuvaava name ja description. Muuten saatat myöhemmin hämmentyä siitä, miksi sovellustunnisteet on luotu. Ensimmäiset tunnisteesi voi olla hyvä nimetä esimerkiksi Testing application credentials $TODAYS_DATE.

  6. 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.
  7. 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ä.

  8. cPoudassa on neljä roolia: member, heat_stack_owner, object_store_user ja creator. 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_owner voi hallita Heat-pinoja eli luoda, muokata ja poistaa infrastruktuuria. Tämä on hyödyllistä käytettäessä sitä IaC-kokoonpanossa.

    • object_store_user voi käyttää Allasta ja Object Storea.

    • creator voi luoda salaisuuksia, kuten salasanoja ja salausavaimia.

    Jos käytät sovellustunnisteita ePoudassa, tilanne on hieman erilainen. Käytettävissä on kaksi roolia: member ja heat_stack_owner.

  9. Access Rules mahdollistaa 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, method ja path. Tämä esimerkki sallii palvelimien listaamisen:

    - service: compute
      method: GET
      path: /v2.1/servers/**
    

    Tämä sallii taltioiden listaamisen:

    - method: GET
      path: /v3/*/volumes/**
      service: volumev3
    

    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.

  10. 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:

    $ openstack application credential list
    

    ja yksittäisen sovellustunnisteen tiedot näin:

    $ openstack application credential show <name>
    

    Säännöt on myös mahdollista nähdä Application Credentials -sivulla napsauttamalla tunnisteen nimeä.

    Jos lisäät --debug mihin 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 osa Poutaa, vaan Allasta. Tämä tarkoittaa, että ne eivät tue Access Rules -sääntöjä. Jos Access Rules on käytössä, niiden avulla ei ole mahdollista käyttää Allasta riippumatta käytetystä kokoonpanosta.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta