Serverless-kehitys AWS Lambdalla · Oppitunti

Salaisuuksien hallinta AWS Secrets Managerilla

Tallennatte, haette ja kierrätätte arkaluonteisia tunnistetietoja ja API-avaimia turvallisesti serverless-sovelluksissanne AWS Secrets Managerin avulla

Oppitunti 2/411 vaihetta

Salaisuuksien hallinta AWS Secrets Managerilla on ilmainen Serverless-kehitys AWS Lambdalla-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Serverless-kehitys AWS Lambdalla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.

Secrets Manager: perusteet

Tervetuloa! Palvelimettomissa sovelluksissa arkaluonteisten tietojen, kuten tietokannan salasanojen tai API-avainten, hallinta on erittäin tärkeää. Näiden arvojen kirjoittaminen suoraan koodiin on merkittävä tietoturvariski.

AWS Secrets Manager auttaa tallentamaan, hallitsemaan ja hakemaan näitä salaisuuksia turvallisesti niiden koko elinkaaren ajan.

Miksi arvoja ei pidä kirjoittaa suoraan koodiin?

Salaisuuksien kirjoittaminen suoraan Lambda-funktion koodiin tai määritystiedostoihin on huono käytäntö. Tässä syyt:

  • Tietoturvariski: Jos koodivarastonne vaarantuu, myös salaisuutenne paljastuvat.
  • Ylläpito: Salaisuuden muuttaminen edellyttää koodin uudelleenkäyttöönottoa.
  • Vaatimustenmukaisuus: Monet tietoturvastandardit kieltävät kovakoodatut tunnistetiedot.

Secrets Managerin toiminta

Secrets Manager salaa salaisuutenne levossa ja siirron aikana. Se tarjoaa erillisen API-rajapinnan, jonka avulla salaisuudet voidaan hakea ohjelmallisesti tarvittaessa.

Tämä tarkoittaa, että Lambda-funktio pyytää salaisuuden suorituksen aikana eikä tallenna sitä suoraan koodiinsa tai ympäristömuuttujiinsa.

Salaisuuden luominen

Voitte luoda salaisuuden AWS Management Consolessa, AWS CLI:n kautta tai AWS SDK:n avulla.

Salaisuutta luodessanne määritätte sen tyypin (esimerkiksi tietokannan tunnistetiedot tai API-avain), varsinaisen salaisuuden arvon ja valinnaiset kiertoasetukset.

Salaisuuksien hakeminen Lambdassa

Lambda-funktiossanne käytätte AWS SDK:ta, esimerkiksi Pythonin boto3-kirjastoa, kutsuaksenne Secrets Managerin API-rajapintaa. Erityisesti käytätte GetSecretValue-operaatiota.

Tämä operaatio hakee salaisuuden turvallisesti ja palauttaa sen funktiollenne käyttöä varten.

Python-hakuesimerkki

Tämä Python-katkelma näyttää, miten Lambda-funktio hakisi salaisuuden nimeltä MyDatabaseSecret. Muistakaa, että Lambdan IAM-roolilla on oltava oikeus käyttää salaisuutta!

import boto3
import json
from botocore.exceptions import ClientError

def get_secret(secret_name):
    client = boto3.client('secretsmanager')
    try:
        get_secret_value_response = client.get_secret_value(
            SecretId=secret_name
        )
    except ClientError as e:
        # Handle errors like ResourceNotFoundException
        print(f"Error retrieving secret: {e}")
        raise e
    else:
        if 'SecretString' in get_secret_value_response:
            return get_secret_value_response['SecretString']
        # For binary secrets, use 'SecretBinary'
        return None

# This is a runnable example, not a full Lambda handler.
# In a real Lambda, 'event' and 'context' would be parameters.
if __name__ == "__main__":
    print("--- Simulating Secret Retrieval ---")
    print("Attempting to retrieve 'MyDatabaseSecret'...")
    try:
        # In a real scenario, replace with your secret's actual name
        # secret_json = get_secret('MyDatabaseSecret')
        # if secret_json:
        #     secret_data = json.loads(secret_json)
        #     print(f"Username: {secret_data.get('username')}")
        #     print(f"Password (first 5 chars): {secret_data.get('password')[:5]}...")
        # else:
        #     print("Secret could not be retrieved or was binary.")
        print("Retrieval logic demonstrated. Remember IAM permissions!")
    except Exception as e:
        print(f"An error occurred during simulation: {e}")

Salaisuuksien IAM-oikeudet

Jotta Lambda-funktionne voi hakea salaisuuden, sen suoritusroolilla on oltava tarvittavat IAM-oikeudet.

Sen on erityisesti saatava secretsmanager:GetSecretValue-oikeus kohdesalaisuuteen tai -salaisuuksiin. Parhaana käytäntönä on myöntää käyttöoikeus vain niihin salaisuuksiin, joita funktio todella tarvitsee.

Automaattinen salaisuuksien kierto

Yksi Secrets Managerin tehokkaista ominaisuuksista on salaisuuksien automaattinen kierto. Se parantaa tietoturvaa vaihtamalla tunnistetiedot säännöllisesti ilman manuaalisia toimia.

Voitte määrittää kierron useille palveluille, kuten RDS-tietokannoille. Secrets Manager käyttää Lambda-funktiota varsinaisen kierron suorittamiseen.

Salaisuuksien parhaat käytännöt

Kun käytätte AWS Secrets Manageria:

  • Vähimmät oikeudet: Myöntäkää vain tarvittavat GetSecretValue-oikeudet.
  • Kierrättäkää säännöllisesti: Ottakaa automaattinen kierto käyttöön aina, kun se on mahdollista.
  • Valvokaa käyttöä: Tarkastakaa CloudTrailin avulla, kuka on käyttänyt salaisuuksianne.
  • Salaakaa tarvittaessa lisää: Käyttäkää mukautettuun salaukseen KMS-avaimia, jos se on tarpeen.

Testatkaa tietonne

Mitkä seuraavista ovat AWS Secrets Managerin keskeisiä etuja palvelimettomissa sovelluksissa?

Kertaus: suojatkaa salaisuutenne!

Opitte, miten AWS Secrets Manager on tärkeä työkalu palvelimettomien sovellustenne suojaamiseen.

  • Se keskittää arkaluonteiset tiedot ja salaa ne.
  • Se mahdollistaa Lambda-funktioiden turvallisen haun tarvittaessa.
  • Se tukee automaattista kiertoa tietoturvan parantamiseksi.
  • Asianmukaiset IAM-oikeudet ovat olennaisia käytön hallinnassa.

Secrets Managerin avulla vähennätte merkittävästi tunnistetietojen hallintaan liittyviä tietoturvariskejä.

Aloita maksutta

Opi Serverless-kehitys AWS Lambdalla 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 ”Salaisuuksien hallinta AWS Secrets Managerilla” ilmainen?

Kyllä – oppitunnin ”Salaisuuksien hallinta AWS Secrets Managerilla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Serverless-kehitys AWS Lambdalla-kurssin, päivitä CoddyKit PROhon. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Salaisuuksien hallinta AWS Secrets Managerilla”?

Tallennatte, haette ja kierrätätte arkaluonteisia tunnistetietoja ja API-avaimia turvallisesti serverless-sovelluksissanne AWS Secrets Managerin avulla Harjoittelet Serverless-kehitys AWS Lambdalla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Serverless-kehitys AWS Lambdalla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Serverless-kehitys AWS Lambdalla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Salaisuuksien hallinta AWS Secrets Managerilla”-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ä Serverless-kehitys AWS Lambdalla-oppitunnilla?

Kyllä. Jokainen Serverless-kehitys AWS Lambdalla-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

  1. Edistyneet IAM-käytännöt ja -oikeudet
  2. Salaisuuksien hallinta AWS Secrets Managerilla
  3. Hajautettu jäljitys AWS X-Raylla
  4. Rakenteinen lokitus ja korrelaatiotunnisteet
← Takaisin: Serverless-kehitys AWS Lambdalla