Secretit arkaluonteisille tiedoille
Tallentakaa ja hallinnoikaa arkaluonteisia tietoja, kuten salasanoja ja API-avaimia, turvallisesti Secretien avulla.
Secretit arkaluonteisille tiedoille on ilmainen Kubernetesin perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Kubernetesin perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kubernetesin perusteet-kurssilla on yhteensä 4 oppituntia.
Arkaluonteisten tietojen suojaaminen
Sovelluksia rakentaessanne käsittelette usein arkaluonteisia tietoja, kuten tietokantojen salasanoja, API-avaimia tai yksityisiä varmenteita.
Näiden tietojen tallentaminen suoraan sovelluskoodiin tai määritystiedostoihin on suuri tietoturvariski! Se voi johtaa tietomurtoihin ja altistaa järjestelmänne.
Kubernetes Secrets -objektien esittely
Kubernetes Secrets ovat objekteja, jotka on suunniteltu arkaluonteisten tietojen turvalliseen tallentamiseen klusterissa.
Niiden avulla voitte pitää arkaluonteiset tiedot erillään Pod-määrityksistä ja sovelluskoodista, mikä tekee käyttöönotosta turvallisempaa ja helpommin hallittavaa.
- Erillään: Pitäkää arkaluonteiset tiedot poissa konttikuvista ja Pod YAML -tiedostoista.
- Käytettävissä: Podit voivat käyttää niitä ympäristömuuttujina tai liitettyinä tiedostoina.
Secrets ja ConfigMaps
Saatatte muistaa ConfigMaps-objektit aiemmasta oppitunnista. Niitä käytetään ei-arkaluonteisiin määritystietoihin.
Secrets-objektit ovat samankaltaisia, mutta ne on tarkoitettu nimenomaan arkaluonteisille tiedoille. Molemmat tallentavat avain–arvo-pareja, mutta Secrets käsittelevät tietojen arkaluonteista luonnetta.
- ConfigMaps: Yleisiä, ei-arkaluonteisia määrityksiä varten (esimerkiksi lokitasot ja API-päätepisteet).
- Secrets: Arkaluonteisia tietoja varten (esimerkiksi salasanat, tunnukset ja yksityiset avaimet).
Muistakaa, että Secrets-objektit koodataan base64-muotoon, mutta niitä ei oletusarvoisesti salata!
Secretin luominen literaaliarvosta
Yksinkertaisin tapa luoda Secret on käyttää literaaliarvoa komennolla kubectl create secret generic.
Tämä on hyödyllistä, kun käsiteltävänä on yksi lyhyt arkaluonteinen tieto, kuten yksinkertainen salasana.
kubectl create secret generic my-db-secret \
--from-literal=username=admin \
--from-literal=password=SuperSecretP@ssw0rd!Secretin luominen tiedostoista
Kun käsiteltävänä on suurempia tai monirivisiä arkaluonteisia tietoja, kuten yksityinen avain tai kokonainen määritystiedosto, Secret on parempi luoda tiedostoista.
Luokaa ensin tiedostot paikallisesti ja viitatkaa niihin sen jälkeen. Kubernetes lukee tiedostojen sisällön ja tallentaa sen.
# Create local files first
echo "my-api-key-12345" > api-key.txt
echo "my-token-abcde" > auth-token.txt
# Create the Secret
kubectl create secret generic app-credentials \
--from-file=api-key.txt \
--from-file=auth-token.txtSecrets-objektien käyttö ympäristömuuttujina
Podit voivat käyttää Secret-tietoja lisäämällä ne suoraan ympäristömuuttujiinsa. Tämä on tavallista yksinkertaisten avain–arvo-parien yhteydessä.
Voitte viitata yksittäisiin Secret-avaimiin tai kaikkiin avaimiin envFrom-määrityksellä.
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod-env
spec:
containers:
- name: my-app
image: nginx:latest
env:
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: my-db-secret
key: username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: my-db-secret
key: passwordSecrets-objektien käyttö liitettyinä tiedostoina
Kun kyseessä ovat arkaluonteiset tiedostot, kuten varmenteet ja yksityiset avaimet, tai kun sovellus odottaa määrityksiä tietyistä tiedostopoluista, voitte liittää Secrets-objektit tiedostoiksi Podin sisälle.
Jokaisesta Secretin avaimesta tulee liitettyyn hakemistoon tiedosto, jonka sisältönä on avaimen arvo.
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod-vol
spec:
containers:
- name: my-app
image: nginx:latest
volumeMounts:
- name: app-secret-volume
mountPath: "/etc/secrets"
readOnly: true
volumes:
- name: app-secret-volume
secret:
secretName: app-credentialsSecrets-objektien suojaaminen
Vaikka Secrets suojaavat tietoja uteliailta katseilta, ne eivät ratkaise kaikkia tietoturvaongelmia. Muistakaa seuraavat asiat:
- Base64-koodaus: Secrets koodataan base64-muotoon, mutta niitä ei salata. Kuka tahansa, jolla on pääsy Secretiin, voi purkaa koodauksen.
- RBAC: Rajoittakaa Role-Based Access Controlin (RBAC) avulla sitä, kuka voi lukea, luoda tai muokata Secretsejä.
- Levossa olevien tietojen salaus: Todellisen suojauksen varmistamiseksi ottakaa käyttöön levossa olevien tietojen salaus etcd-tiedoille (Kubernetesin taustalla oleva tallennusjärjestelmä). Pilvipalveluntarjoajat tarjoavat usein tämän ominaisuuden.
Secrets-objektien päivittäminen
Jos arkaluonteiset tietonne muuttuvat, Secret on päivitettävä. Uusien arvojen antaminen komennolle kubectl create secret päivittää Secretin, tai voitte käyttää komentoa kubectl apply -f päivitetyn YAML-tiedoston kanssa.
Secretia käyttävät käynnissä olevat Podit eivät kuitenkaan ota muutoksia automaattisesti käyttöön. Muutosten käyttöön ottaminen edellyttää yleensä Secretia käyttävien Podien uudelleenkäynnistämistä tai uuden käyttöönoton tekemistä.
Pikatesti: Secrets
Kuvitelkaa, että teillä on yksityinen API-avain, jota sovelluksenne tarvitsee käyttääkseen tiettyä palvelua. Mikä menetelmä on turvallisin ja tarkoituksenmukaisin tapa tallentaa tämä avain ja tarjota se Kubernetes Podille?
Kertaus: Secrets arkaluonteisille tiedoille
Hienoa työtä! Olette oppineet käsittelemään arkaluonteisia tietoja Kubernetesissa!
- Secrets tallentavat arkaluonteisia tietoja, kuten salasanoja ja API-avaimia.
- Ne koodataan base64-muotoon, ja niitä voidaan käyttää ympäristömuuttujina tai liitettyinä tiedostoina.
- Käyttäkää aina RBACia ja harkitkaa levossa olevien tietojen salausta mahdollisimman hyvän suojauksen saavuttamiseksi.
- Muistakaa, että Podit on käynnistettävä uudelleen, jotta ne ottavat Secret-päivitykset käyttöön.
Opi Kubernetesin perusteet tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Secretit arkaluonteisille tiedoille” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Kubernetesin perusteet-oppimispolun 3 oppituntia, myös oppitunnin “Secretit arkaluonteisille tiedoille”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Kubernetesin perusteet-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Secretit arkaluonteisille tiedoille”?
Tallentakaa ja hallinnoikaa arkaluonteisia tietoja, kuten salasanoja ja API-avaimia, turvallisesti Secretien avulla. Harjoittelet Kubernetesin perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Kubernetesin perusteet-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Kubernetesin perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Secretit arkaluonteisille tiedoille”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Kubernetesin perusteet-oppitunnilla?
Kyllä. Jokainen Kubernetesin perusteet-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- ConfigMapit määrityksiä varten
- Secretit arkaluonteisille tiedoille
- Pysyvät taltiot ja varaukset
- StorageClassit ja dynaaminen provisiointi