త్వరిత రూపురేఖలు
ఈ వ్యాసం కింది అంశాలను కవర్ చేస్తుంది:
- లాంబ్డా అంటే ఏమిటి?
- AWS సీక్రెట్ మేనేజర్ అంటే ఏమిటి?
- AWS లాంబ్డాను ఉపయోగించి AWSలో API రహస్యాలను ఎలా యాక్సెస్ చేయాలి?
- ముగింపు
AWS లాంబ్డా అంటే ఏమిటి?
AWS లాంబ్డా అనేది సర్వర్లను అందించకుండా మరియు నిర్వహించకుండా బహుళ పరిసరాలలో మరియు భాషలలో కోడ్లను అమలు చేయడానికి కంప్యూటింగ్ సేవ. ఇంకా, AWS లాంబ్డా S3 బకెట్, API గేట్వేలు మొదలైన AWS యొక్క బహుళ విభిన్న సేవల ద్వారా ప్రేరేపించబడవచ్చు. ఈ సేవ స్వయంచాలకంగా అప్లికేషన్ను స్కేల్ చేస్తుంది మరియు వినియోగదారు అదనపు డిపెండెన్సీలను ఇన్స్టాల్ చేయాల్సిన అవసరం లేకుండా కోడ్ను సమర్థవంతంగా అమలు చేస్తుంది.
లాంబ్డా సేవ గురించి మరింత తెలుసుకోవడానికి, ఈ కథనాన్ని ఇక్కడ చూడండి: “AWS లాంబ్డాతో ప్రారంభించడం” .
AWS సీక్రెట్ మేనేజర్ అంటే ఏమిటి?
AWS సీక్రెట్ మేనేజర్ వినియోగదారులను సురక్షితంగా మరియు గుప్తీకరించడానికి అనుమతిస్తుంది రహస్య సమాచారం OAuth టోకెన్లు, డేటాబేస్ ఆధారాలు, APIలు మొదలైన అప్లికేషన్ల యొక్క ఈ రహస్య సమాచారం ఇలా సూచించబడుతుంది 'రహస్యం' . ఈ రహస్యాలు అధీకృత సంస్థల ద్వారా మాత్రమే ప్రాప్తి చేయబడతాయి మరియు భద్రతను మెరుగుపరచడానికి తిప్పబడతాయి.
ఈ కథనాన్ని సూచించడం ద్వారా సీక్రెట్ మేనేజర్లో RDS ఆధారాలను నిల్వ చేయడం గురించి మరింత తెలుసుకోండి: 'సీక్రెట్ మేనేజర్ని ఉపయోగించి Amazon RDS ఆధారాలను ఎలా నిల్వ చేయాలి?'
AWS లాంబ్డాను ఉపయోగించి AWSలో API రహస్యాలను ఎలా యాక్సెస్ చేయాలి?
లాంబ్డా బహుళ సేవలకు అంతర్నిర్మిత మద్దతును అందిస్తుంది ఉదా. S3 బకెట్, API గేట్వే మరియు సీక్రెట్ మేనేజర్. కాన్ఫిగర్ చేయబడిన రహస్యాల విలువను పొందడానికి లాంబ్డా ఫంక్షన్లను ఉపయోగించవచ్చు. AWS లాంబ్డా ఫంక్షన్లలో API రహస్యాలను ఉపయోగించడం ద్వారా, వినియోగదారులు AWS యొక్క బహుళ సేవలతో పరస్పర చర్య చేయవచ్చు. లాంబ్డా ఫంక్షన్లను ప్రామాణీకరించడానికి ఇటువంటి API రహస్యాలు కూడా ముఖ్యమైనవి.
AWS లాంబ్డాను ఉపయోగించి AWS సీక్రెట్ మేనేజర్లో API కీలను యాక్సెస్ చేయడానికి, దిగువ పేర్కొన్న దశలను అనుసరించండి:
- దశ 1: API రహస్యాన్ని సృష్టించండి
- దశ 2: IAM విధానాన్ని సృష్టించండి
- దశ 3: IAM పాత్రను సృష్టించండి
- దశ 4: లాంబ్డా పాత్రను సృష్టించండి
దశ 1: API రహస్యాన్ని సృష్టించండి
AWS సీక్రెట్ మేనేజర్లో API కీని యాక్సెస్ చేయడానికి ముందు, మేము మొదట నేర్చుకుంటాము API రహస్యాన్ని సృష్టించండి . ఈ ప్రయోజనం కోసం, యాక్సెస్ 'సీక్రెట్ మేనేజర్' నుండి సేవ AWS మేనేజ్మెంట్ కన్సోల్:
న ప్రధాన కన్సోల్ AWS సీక్రెట్ మేనేజర్పై క్లిక్ చేయండి “కొత్త రహస్యాన్ని భద్రపరచు” బటన్:
లో 'రహస్య రకం' నిరోధించు, ఎంచుకోండి 'మరొక రకమైన రహస్యం' ప్రదర్శించబడే వివిధ ఎంపికల నుండి ఎంపిక:
క్రిందికి స్క్రోల్ చేయండి “కీ/విలువ జతలు” విభాగం మరియు అందించండి a ఏకైక కీ-విలువ జత మీ API రహస్యం కోసం. కు జోడించు మరింత కీ-విలువ జతలు , పై క్లిక్ చేయండి 'వరుసను జోడించు' బటన్:
తదుపరిది “ఎన్క్రిప్షన్ కీ” విభాగం. AWS అందిస్తుంది a డిఫాల్ట్ ఎన్క్రిప్షన్ కీ రహస్యం కోసం. అయితే, వినియోగదారు కీకి అనుకూల పేరును కూడా అందించవచ్చు. డిఫాల్ట్గా ఉంచడం ద్వారా, 'పై క్లిక్ చేయండి తరువాత ”బటన్:
ఈ ఇంటర్ఫేస్లో, వినియోగదారు అందించాలి a ఏకైక పేరు వారి రహస్యం కోసం మరియు a వివరణ ఇది ఐచ్ఛికం ఇక్కడ ఫీల్డ్:
ఉంచడం ద్వారా సెట్టింగ్లు మారవు , 'పై క్లిక్ చేయడం ద్వారా మరింత ముందుకు సాగండి తరువాత ”బటన్:
తదుపరి వస్తుంది సమీక్ష విభాగం. అన్నింటినీ నిర్ధారించడానికి సమాచారం అందించబడింది సరైన , 'పై క్లిక్ చేయండి స్టోర్ ఇంటర్ఫేస్ దిగువన ఉన్న బటన్:
రహస్యం జరిగింది విజయవంతంగా సృష్టించబడింది . 'పై క్లిక్ చేయండి మళ్లీ లోడ్ చేయండి 'రహస్యం పేరును ప్రదర్శించడానికి బటన్ డాష్బోర్డ్ :
దశ 2: IAM విధానాన్ని సృష్టించండి
కు IAM విధానాన్ని రూపొందించండి, యాక్సెస్ IAM సేవ AWS మేనేజ్మెంట్ కన్సోల్ నుండి:
నుండి IAM యొక్క సైడ్బార్ సేవ, 'పై క్లిక్ చేయండి విధానాలు ' ఎంపిక:
న పాలసీ కన్సోల్ , పై క్లిక్ చేయండి 'విధానాన్ని రూపొందించండి' బటన్:
ఈ కథనాన్ని సూచించడం ద్వారా AWS IAM విధానం గురించి మరింత తెలుసుకోండి: “AWS IAM విధాన ఉదాహరణలు”
తదుపరిది 'అనుమతులను పేర్కొనండి' విభాగం. శోధించి, ఎంచుకోండి 'సీక్రెట్ మేనేజర్' సేవ:
క్రిందికి స్క్రోల్ చేయండి 'అనుమతించిన చర్యలు' నిరోధించు. ఇక్కడ, వివిధ యాక్సెస్ స్థాయిల నుండి, 'ని నొక్కండి చదవండి ' ఎంపిక. ఎంచుకోండి 'అన్ని చర్యలు చదవండి' ఎంపిక అన్ని చదవడాన్ని ప్రారంభించండి ఈ పాలసీ కోసం సేవలు:
కిందకి జరుపు కు ' వనరులు ” విభాగంలో మరియు క్లిక్ చేయండి “ARNని జోడించు” ఎంపిక:
తిరిగి నావిగేట్ చేయండి AWS సీక్రెట్ మేనేజర్ డాష్బోర్డ్ మరియు రహస్య పేరుపై క్లిక్ చేయండి. కాపీ చేయండి' RNA 'క్రింద రహస్యం' రహస్య ARN 'ప్రదర్శిత ఇంటర్ఫేస్ నుండి లేబుల్:
న ఇప్పుడు కన్సోల్ చేయండి , కాపీ చేసిన ARNని “లో అతికించండి RNA ”రంగం:
పై క్లిక్ చేసే ముందు 'ARNలను జోడించు' బటన్, క్లిక్ చేయండి 'ఈ ఖాతా' అదే ఖాతాలో రహస్యాలు ఉన్నాయని నిర్ధారించడానికి బటన్. సెట్టింగ్లను కాన్ఫిగర్ చేసిన తర్వాత, దానిపై క్లిక్ చేయండి 'ARNలను జోడించు' బటన్:
తర్వాత ఆకృతీకరించుట అన్నీ సెట్టింగులు విధానం యొక్క, 'పై క్లిక్ చేయండి తరువాత ”బటన్:
లో పాలసీ వివరాల విభాగాలు , పాలసీకి పేరును అందించండి పాలసీ పేరు ”రంగం:
'పై క్లిక్ చేయండి విధానాన్ని రూపొందించండి ”బటన్:
ది విధానం తయారు చేయబడింది విజయవంతంగా :
దశ 3: IAM పాత్రను సృష్టించండి
ఈ విభాగంలో, రహస్యాలను యాక్సెస్ చేయడానికి లాంబ్డా ఫంక్షన్లకు అవసరమైన అనుమతులను కలిగి ఉన్న IAM పాత్రను సృష్టించండి. ఈ ప్రయోజనం కోసం, 'పై క్లిక్ చేయండి పాత్రలు ” IAM రోల్ యొక్క సైడ్బార్ నుండి ఎంపిక చేసి, ఆపై నొక్కండి 'పాత్ర సృష్టించు' ఇంటర్ఫేస్ నుండి బటన్:
పై క్లిక్ చేసిన తర్వాత 'పాత్ర సృష్టించు' బటన్, క్రింది ఇంటర్ఫేస్ మీకు ప్రదర్శించబడుతుంది. ఎంచుకోండి “AWS సేవ” కింది ఎంపికల నుండి ఎంపికను మేము అటాచ్ చేస్తాము IAM పాత్ర లాంబ్డా ఫంక్షన్తో:
లో 'కేస్ ఉపయోగించండి' విభాగం, శోధించండి లాంబ్డా సేవ మరియు దానిని ఎంచుకోండి. నొక్కండి' తరువాత 'ఇంటర్ఫేస్ దిగువన ఉన్న బటన్ను మరింత కొనసాగించడానికి:
న తదుపరి ఇంటర్ఫేస్ , పేరు కోసం శోధించండి పాలసీ పేరు మేము ముందుగా కాన్ఫిగర్ చేసాము. ప్రదర్శించబడిన ఫలితాల నుండి, ఎంచుకోండి పాలసీ పేరు:
క్లిక్ చేయండి ' తరువాత ” బటన్ దిగువన మరింత కొనసాగడానికి ఇంటర్ఫేస్:
అందించండి a ఏకైక ఐడెంటిఫైయర్ మీ కోసం IAM పాత్ర కింది హైలైట్ చేసిన ఫీల్డ్లో:
ఉంచడం డిఫాల్ట్గా మిగిలిన సెట్టింగ్లు , పై క్లిక్ చేయండి 'పాత్ర సృష్టించు' ఇంటర్ఫేస్ దిగువకు స్క్రోల్ చేయడం ద్వారా బటన్:
పాత్ర ఉంది విజయవంతంగా సృష్టించబడింది:
AWSలో IAM పాత్రను సృష్టించడం గురించి మరింత తెలుసుకోవడానికి ఈ కథనాన్ని చూడండి: “AWSలో IAM పాత్రలను ఎలా సృష్టించాలి” .
దశ 4: లాంబ్డా ఫంక్షన్ను సృష్టించండి
లాంబ్డా ఫంక్షన్ను సృష్టించడం తదుపరి దశ. ఈ లాంబ్డా ఫంక్షన్ IAM పాత్రను కలిగి ఉంటుంది మరియు అమలు చేసినప్పుడు రహస్యాల విలువను పొందుతుంది. లాంబ్డా సేవను యాక్సెస్ చేయడానికి, ''ని శోధించండి లాంబ్డా ” యొక్క శోధన పట్టీలో AWS మేనేజ్మెంట్ కన్సోల్ . కన్సోల్ను సందర్శించడానికి ఫలితం నుండి సేవ పేరుపై క్లిక్ చేయండి:
లాంబ్డా సర్వీస్ యొక్క ప్రారంభ ఇంటర్ఫేస్పై, క్లిక్ చేయండి 'ఫంక్షన్ సృష్టించండి' బటన్:
ఇది ప్రదర్శిస్తుంది 'ఫంక్షన్ సృష్టించండి' ఇంటర్ఫేస్. ఎంచుకోండి 'మొదటి నుండి రచయిత' ఎంపిక మరియు పేరును అందించడం ద్వారా ముందుకు సాగండి లాంబ్డా ఫంక్షన్ హైలైట్ చేసిన ఫీల్డ్లో:
లో రన్టైమ్ ఫీల్డ్ , ఎంచుకోండి ' పైథాన్ 3.9 పర్యావరణం:
క్రింద రన్టైమ్ విభాగం , అక్కడ ఒక 'డిఫాల్ట్ ఎగ్జిక్యూషన్ పాత్రను మార్చండి' విభాగం. ఎంచుకోండి 'ఇప్పటికే ఉన్న పాత్రను ఉపయోగించండి' ఎంపికను ఆపై పాత్రను పేర్కొనండి 'ఉన్న పాత్ర' ఫీల్డ్:
అదే ఇంటర్ఫేస్లో, నొక్కండి 'ఫంక్షన్ సృష్టించండి' ఇంటర్ఫేస్ దిగువన బటన్:
లాంబ్డా ఫంక్షన్ని సృష్టించడం గురించి మరింత తెలుసుకోవడానికి, ఈ కథనాన్ని చూడండి: 'పైహ్టన్ రన్టైమ్తో లాంబ్డా ఫంక్షన్ను ఎలా సృష్టించాలి' .
లాంబ్డా ఫంక్షన్ సృష్టించబడింది. లాంబ్డా ఫంక్షన్కు కోడ్ను అందించడం తదుపరి దశ. ఈ కోడ్ అమలు చేయబడినప్పుడు, ఇది విలువలను ప్రదర్శిస్తుంది సీక్రెట్ మేనేజర్:
దిగుమతి jsonదిగుమతి boto3
దిగుమతి బేస్64
బోటోకోర్ నుండి. మినహాయింపులు దిగుమతి ClientError
డెఫ్ లాంబ్డా_హ్యాండ్లర్ ( సంఘటన , సందర్భం ) :
పర్యావరణం = సంఘటన [ 'env' ]
రహస్య_పేరు = 'shmaster19/%s/కీ' % పర్యావరణం
ప్రాంతం_పేరు = 'ap-Southeast-1'
సెషన్ = boto3. సెషన్ . సెషన్ ( )
క్లయింట్ = సెషన్. క్లయింట్ (
సేవ_పేరు = 'రహస్య నిర్వాహకుడు' ,
ప్రాంతం_పేరు = ప్రాంతం_పేరు
)
ప్రయత్నించండి :
రహస్య_విలువ_ప్రతిస్పందన = క్లయింట్. రహస్య_విలువ పొందండి (
రహస్య ఐడి = రహస్య_పేరు
)
ClientError తప్ప తప్ప :
ముద్రణ ( లోపం )
లేకపోతే :
ఉంటే 'సీక్రెట్ స్ట్రింగ్' లో రహస్య_విలువ_ప్రతిస్పందన :
రహస్య = json. లోడ్లు ( రహస్య_విలువ_ప్రతిస్పందన [ 'సీక్రెట్ స్ట్రింగ్' ] )
తిరిగి రహస్య
లేకపోతే :
డీకోడెడ్_బైనరీ_రహస్యం = బేస్64. b64 డీకోడ్ ( రహస్య_విలువ_ప్రతిస్పందన [ 'సీక్రెట్ బైనరీ' ] )
తిరిగి డీకోడెడ్_బైనరీ_రహస్యం
- json దిగుమతి: JSON కార్యకలాపాలను నిర్వహించడానికి ఉపయోగించబడుతుంది.
- boto3 దిగుమతి: AWS మరియు పైథాన్ మధ్య కమ్యూనికేషన్ కోసం SDK.
- దిగుమతి బేస్ 64: Base64గా బైనరీ డేటాపై ఎన్కోడింగ్ మరియు డీకోడింగ్ ఫంక్షన్లను నిర్వహించడానికి ఉపయోగించబడుతుంది.
- దిగుమతి క్లయింట్ లోపం: ఇది వ్రాసిన కోడ్లో మినహాయింపులను నిర్వహించడానికి వినియోగదారులను అనుమతిస్తుంది.
- రహస్య_పేరు: ఈ వేరియబుల్లో, మీ రహస్యం పేరును అందించండి. ఈ రహస్యం కలిగి ఉందని గమనించండి “%s” . వినియోగదారు ఒకే విధమైన ఫార్మాట్లో బహుళ కీలను కలిగి ఉన్నప్పుడు ఇది జరుగుతుంది. ఉదాహరణకు, ఒక వినియోగదారు రెండు రహస్యాలను సృష్టించినట్లయితే ఉదా., “apikey/dev/key” మరియు “apikey/prod/key” . అప్పుడు లో “%s” , వినియోగదారు అందిస్తే ' dev ”, లాంబ్డా ఫంక్షన్ అందిస్తుంది అభివృద్ధి కీ (apikey/dev/key) మరియు వైస్ వెర్సా.
- బోటో. సెషన్.సెషన్(): సేవ క్లయింట్లు మరియు ప్రతిస్పందనలను సృష్టించడానికి వినియోగదారులను అనుమతిస్తుంది.
- ప్రాంతం_పేరు: మీ AWS రహస్యం కాన్ఫిగర్ చేయబడిన ప్రాంతం పేరును అందించండి.
- Secret_value_response: ఈ వేరియబుల్లో, మేము 'ని ఉపయోగిస్తున్నాము client.get_secret_value ” ఫంక్షన్ రహస్య విలువను అందిస్తుంది.
- డీకోడెడ్_బైనరీ_సెర్ట్: రహస్య విలువను పొందిన తర్వాత, అది మరింతగా డీకోడ్ చేయబడుతుంది బేస్ 64 ఫార్మాట్ .
లాంబ్డా ఫంక్షన్లో కోడ్ను అతికించిన తర్వాత, “పై క్లిక్ చేయండి మోహరించేందుకు మార్పులను సేవ్ చేయడానికి మరియు వర్తింపజేయడానికి బటన్:
దశ 5: కోడ్ని పరీక్షిస్తోంది
బ్లాగ్లోని ఈ విభాగంలో, కోడ్ పని చేస్తుందో లేదో మేము ధృవీకరిస్తాము. ఈ ప్రయోజనం కోసం, 'పై క్లిక్ చేయండి పరీక్ష లాంబ్డా ఫంక్షన్కి మార్పులను విజయవంతంగా అమలు చేసిన తర్వాత ” బటన్:
తదుపరి ఇంటర్ఫేస్లో, అందించండి పరీక్ష కోసం పేరు లో ఈవెంట్ 'ఈవెంట్ పేరు' ఫీల్డ్:
క్రిందికి స్క్రోల్ చేయండి ఈవెంట్ JSON విభాగం , పేర్కొనండి ' env ” కీ, మరియు JSON ఆకృతిలో విలువను అందించండి. ది ' విలువ ” కీ పంపబడుతుంది “%s” . మేము పేర్కొన్న రహస్యాలు ' dev 'విలువ,' dev 'విలువ 'కి పంపబడుతుంది env ” వేరియబుల్. నిర్దిష్ట రహస్యం యొక్క ఐడెంటిఫైయర్ కోడ్లో అందించబడినందున లాంబ్డా ఫంక్షన్ కోడ్ అమలు చేయబడినప్పుడు రహస్యాన్ని గుర్తిస్తుంది. వివరాలను పేర్కొన్న తర్వాత, 'పై క్లిక్ చేయండి సేవ్ చేయండి ”బటన్:
ఈవెంట్ విజయవంతంగా సృష్టించబడినప్పుడు, 'పై క్లిక్ చేయండి పరీక్ష ”బటన్:
ఇక్కడ, మనకు ఉంది విజయవంతంగా పొందింది మా పేర్కొన్న రహస్యం విలువ:
ఈ గైడ్ నుండి ఇదంతా.
ముగింపు
Lambdaని ఉపయోగించి సీక్రెట్ మేనేజర్లో API కీలను యాక్సెస్ చేయడానికి, ముందుగా API సీక్రెట్, IAM పాలసీ, రోల్ మరియు లాంబ్డా ఫంక్షన్ని సృష్టించి, ఫంక్షన్ కోడ్ని అమలు చేయండి. కోడ్ని అమలు చేస్తున్నప్పుడు రహస్య ఐడెంటిఫైయర్ను పేర్కొనడం ద్వారా AWS సీక్రెట్ మేనేజర్ యొక్క విలువలను పొందేందుకు లాంబ్డా ఫంక్షన్లను ప్రారంభించవచ్చు. ఈ కథనం AWS లాంబ్డాను ఉపయోగించి AWS సీక్రెట్ మేనేజర్లో API కీలను ఎలా యాక్సెస్ చేయాలో దశల వారీ మార్గదర్శకాలను అందిస్తుంది.