Գաղտնիքներ և միջավայրի փոփոխականներ՝ առանց բանալիները չաթում տեղադրելու
Գրեթե յուրաքանչյուր իրական հավելված ունի առնվազն մեկ գաղտնիք՝ վճարային մատակարարի բանալի, էլ․ փոստի ծառայության բանալի, AI API-ի բանալի։ Mythex-ում դրանք հարկավոր չէ տեղադրել հրահանգի մեջ։ Երբ agent-ին բանալի է պետք, նա չաթում ցույց է տալիս գաղտնիքի հայցման քարտ, դուք արժեքը մուտքագրում եք քարտի մեջ, և այն պահվում է որպես նախագծի գաղտնիք, որին ձեր հավելվածը կարող է մուտք ունենալ՝ առանց բանալին զրույցի մեջ հայտնվելու։
Ի՞նչ է սա անում
Mythex-ի յուրաքանչյուր նախագիծ կարող է պահել միջավայրի փոփոխականներ. անվանված արժեքներ, օրինակ՝ STRIPE_SECRET_KEY, որոնք ձեր հավելվածը կարդում է աշխատանքի ընթացքում, այլ ոչ թե գրված է կոդի մեջ։ Գաղտնիքները այն միջավայրի փոփոխականներն են, որոնց արժեքները պետք է մնան գաղտնի։
Նույն արժեքները հասանելի են երկու տեղում․
- Sandbox-ում, որտեղ agent-ը կառուցում և աշխատեցնում է ձեր հավելվածը, մինչ դուք աշխատում եք։
- Ձեր հրապարակված տարբերակներում, որոնց օգտվում են այցելուները։
Ավելացնելու երեք եղանակ կա․
- Գաղտնիքների հայցման քարտը, որը agent-ը ցույց է տալիս չաթում, երբ բանալի է պետք գործը ավարտելու համար։
- Նախագծի կարգավորումներ → Secrets, որտեղ կարող եք ցանկացած պահի ավելացնել կամ խմբագրել արժեքներ։
/secretsչաթում՝ գաղտնիքներ ավելացնելու կամ թարմացնելու համար՝ ըստ հարցման։
Ինչու է սա օգտակար
Agent-ին բանալի տալու ակնհայտ եղանակը նրան հաղորդագրության մեջ տեղադրելն է։ Դա աշխատում է, բայց բանալին դառնում է ձեր չաթի պատմության մաս, պարզ տեքստով, կողք այն ամենին, ինչ գրել եք։
Գաղտնիքների քարտը բանալին պահում է դուրս զրույցի արտագրությունից։ Դուք արժեքը մուտքագրում եք քարտի դաշտերում, ոչ թե հաղորդագրության դաշտում, և այն պահվում է որպես նախագծի գաղտնիք։ Agent-ը շարունակում է աշխատանքը, և բանալին հասանելի է sandbox-ում։
Բանալիները նախագծի կարգավորումներում պահելը, ոչ թե կոդում, ունի նաև այլ առավելություններ․
- Բանալիները չեն հայտնվում source control-ում։ Ձեր կոդը բանալիին վերաբերում է անունով, արժեքը ապրում է նախագծի կարգավորումներում։
- Agent-ը և ձեր աշխատող հավելվածը տեսնում են նույն կոնֆիգուրացիան։ Չկա պատճեն, որը հնանում է։
- Բանալին կարելի է փոխել առանց կոդը վերագրելու։ Փոխեք արժեքը կարգավորումներում․ կոդը դեռ կարդում է այն անունով։
Եթե միջավայրի փոփոխականները նոր են ձեզ համար, մեր ուղեցույցը՝ ինչ են միջավայրի փոփոխականները և գաղտնիքները, սկզբից է բացատրում գաղափարը։
Ինչպես օգտագործել գաղտնիքների քարտը
- Խնդրեք գործառույթը, օրինակ՝ «ուղարկիր բարի գալստյան նամակ, երբ մարդը գրանցվում է»։
- Երբ agent-ին բանալի է պետք, չաթում հայտնվում է գաղտնիքի հայցման քարտ՝ ցուցակված արժեքով, որը նրան պետք է։
- Մուտքագրեք արժեքը քարտի դաշտերում, ոչ թե հաղորդագրության դաշտում։
- Հաստատեք։ Արժեքը պահվում է որպես նախագծի գաղտնիք։
- Agent-ը շարունակում է, բանալին հասանելի է sandbox-ում։
Ինչպես ինքներդ ավելացնել գաղտնիքներ
- Բացեք նախագծի կարգավորումները, ապա Secrets։
- Ավելացրեք բանալիներ, ինչպիսիք են
STRIPE_SECRET_KEY,OPENAI_API_KEYկամ ձեր սեփական ծառայության տվյալները։ - Խնդրեք agent-ին կարդալ դրանք ձեր շրջանակի ստանդարտ եղանակով, օրինակ՝ Node հավելվածում
process.env-ից։ - Վերահրապարակեք, եթե հրապարակված հավելվածին պետք են նոր արժեքները։
Նաև կարող եք զրույցում գրել /secrets՝ դրանք այնտեղ ավելացնելու կամ թարմացնելու համար։
Հրապարակված հավելվածում գաղտնիքը փոխելը
Հրապարակված հավելվածը գաղտնիքները վերցնում է հրապարակման պահին։ Երբ ավելացնում կամ փոխում եք մեկը, նորից հրապարակեք, որպեսզի կենդանի տարբերակը ստանա նոր արժեքը։ Մինչ այդ այցելուները դեռ օգտագործում են հավելվածը հին կոնֆիգուրացիայով։
Անվտանգության խորհուրդներ
- Երբեք մի կատարեք գաղտնիքների commit repository-ում։ Պահեք դրանք նախագծի կարգավորումներում։
- Արտոնյալ գործողությունների համար նախընտրեք միայն սերվերային բանալիներ։ Բանալի, որը կարող է քարտից գանձել գումար կամ ուղարկել նամակ, պետք է լինի սերվերի կողմում աշխատող կոդում, ոչ թե այն բանում, որը այցելուի բրաուզերը ներբեռնում է։
- Եթե բանալին երբևէ հայտնվել է չաթի պատմության մեջ, փոխեք այն։ Ստեղծեք նոր բանալի մատակարարի մոտ, չեղարկեք հինը և թարմացրեք արժեքը նախագծի կարգավորումներում։ Ցանկացած բանալի, որը տեղադրվել է չաթում, համարեք բացահայտված։
Սահմանափակումներ
- Քարտը օգնում է միայն այն դեպքում, երբ այն օգտագործում եք։ Եթե բանալին դուք դեռ տեղադրում եք հաղորդագրության դաշտում, այն հայտնվում է արտագրության մեջ։ Փոխեք այն մատակարարի մոտ և թարմացրեք պահված արժեքը։
- Հրապարակված հավելվածները պետք է վերահրապարակվեն, որպեսզի ստանան նոր կամ փոխված գաղտնիքները։
- Բանալին անվտանգ պահելը չի դարձնում դրա յուրաքանչյուր օգտագործումը անվտանգ։ Նշանակությունը ունի նաև, թե որտեղ է բանալին օգտագործվում․ արտոնյալ բանալիները պահեք ձեր հավելվածի սերվերային կողմում։
Ավելի շատ մանրամասն՝ հրապարակելուց առաջ հավելվածը անվտանգ պահելու մասին, տե՛ս մեր անվտանգության ստուգաթերթը AI-ով կառուցված հավելվածների համար։
Փաստաթղթերում ավելի շատ մանրամասներ կան՝ Միջավայրի փոփոխականներ և գաղտնիքներ և Գաղտնիքները չաթում։