π ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Zero Trust Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π°ΡΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ
ΠΡ ΡΠ°Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Tuna β ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΉ reverse proxy, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π»ΡΠ±ΠΎΠΉ Π²Π°Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, SSO ΠΈ Π³ΡΠ°Π½ΡΠ»ΡΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ° β Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅.
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ?β
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅: Ρ Π²Π°Ρ Π΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ β Π°Π΄ΠΌΠΈΠ½ΠΊΠ°, staging-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Grafana, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ API. ΠΡ Ρ ΠΎΡΠΈΡΠ΅ Π΄Π°ΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠΌ Π»ΡΠ΄ΡΠΌ, ΠΈΠ· Π½ΡΠΆΠ½ΡΡ ΡΡΡΠ°Π½, Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ SSO. Π Π°Π½ΡΡΠ΅ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ Π²ΠΎΠ·Π½Ρ Ρ nginx, oauth2-proxy, ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ ΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ°.
Π‘ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Tuna ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ: ΠΊΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠ°ΠΊ ΠΎΠ½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π»ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΠΏΡΠΈΡΡΠ» ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π»ΠΈ ΠΏΡΠ°Π²ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΡΡ. ΠΡΡ ΡΡΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ.
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ:
- Π·Π°ΠΊΡΡΡΡ Π»ΡΠ±ΠΎΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅;
- Π³ΡΠ°Π½ΡΠ»ΡΡΠ½ΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
/admin/*ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ· Π ΠΎΡΡΠΈΠΈ, Π°/api/healthΠΎΡΠΊΡΡΡΡ Π±Π΅Π· Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ; - ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ SSO (Google, Yandex, GitHub, GitLab, VK, Π»ΡΠ±ΠΎΠΉ OIDC-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ);
- ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ MFA ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠ΅ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π΄Π»Ρ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ;
- ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ Π±Π΅Π· ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ IP ΡΠ΅ΡΠ΅Π· ΡΡΠ½Π½Π΅Π»Ρ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ;
- Π²ΡΠ΄Π°ΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ Π΄Π»Ρ CI/CD, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ²Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΡΡΠ°ΡΠΈΠΊΠ°β
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Tuna Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡΡ Π΄ΠΎ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°.
| Π Π΅ΠΆΠΈΠΌ | ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ |
|---|---|
| ΠΡΠΎΠΊΡΠΈ | Π‘Π΅ΡΠ²ΠΈΡ ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ ΡΠ΅ΡΠΈ β Π² Kubernetes, ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ VM ΠΈΠ»ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ΅ΡΠΈ, ΡΡΠΎ ΠΈ Π½ΠΎΠ΄Π°. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ upstream Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π²Π΅ΡΠ°ΠΌ |
| Π’ΡΠ½Π½Π΅Π»Ρ | Π‘Π΅ΡΠ²ΠΈΡ Π±Π΅Π· ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ IP β Π·Π° NAT, Π½Π° dev-ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΡΠΊΠ΅Π½Π΄ ΡΠ°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Tuna ΡΠ΅ΡΠ΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ-Π°Π³Π΅Π½Ρ |
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ½Π½Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
tuna app <ΠΈΠΌΡ> --url=http://127.0.0.1:8080
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π΅Ρ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ β ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½.
ΠΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° β ΡΠ΅ΡΠ΄ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡβ
ΠΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ. ΠΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΡΠΈ ΡΠΎ Π²ΠΏΠ°Π», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ΄ΡΠ±Ρ Π·Π°ΠΏΡΠΎΡΠ°: ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ, ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ MFA, Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°Π·Π°ΡΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° β ΡΡΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΏΡΡΠΈ (glob-ΡΠ°Π±Π»ΠΎΠ½ Π²ΡΠΎΠ΄Π΅ /admin/*) ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅:
- Π Π°Π·ΡΠ΅ΡΠΈΡΡ β Π΄ΠΎΡΡΡΠΏ ΠΏΡΠΈ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΡΠ°Π²ΠΈΠ»;
- Π’ΡΠ΅Π±ΠΎΠ²Π°ΡΡ MFA β ΡΠΎ ΠΆΠ΅ ΠΏΠ»ΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΠΊΡΠΎΡ (TOTP ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ Π½Π° email);
- ΠΠ°ΠΏΡΠ΅ΡΠΈΡΡ β Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°;
- ΠΡΠΎΠΏΡΡΡΠΈΡΡ β ΠΏΡΡΡ Π±Π΅Π· Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (health check, webhook-ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ).
ΠΠ½ΡΡΡΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° β ΠΊΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌ OR / AND / NOT ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ²:
| Π’ΠΈΠΏ ΠΏΡΠ°Π²ΠΈΠ»Π° | ΠΡΠΈΠΌΠ΅Ρ |
|---|---|
| ΠΠΎΠΌΠ°Π½Π΄Π° / Email / Email RegExp | .*@company\.com$ |
| IP / CIDR | 10.0.0.0/8 |
| Π‘ΡΡΠ°Π½Π° (GeoIP) | RU, US, DE |
| Π‘ΠΏΠΎΡΠΎΠ± Π²Ρ ΠΎΠ΄Π° | oidc, otp, mfa |
| ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ | google |
| Service Token | ΠΌΠ°ΡΠΈΠ½Π½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ |
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ /admin/* ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π ΠΎΡΡΠΈΠΈ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ Β«ΠΠΎΠΌΠ°Π½Π΄Π°Β» (or) ΠΈ Β«Π‘ΡΡΠ°Π½Π°: RUΒ» (and).
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π· ΡΠΈΡΠΊΠ°β
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π’Π΅ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ β ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΠΈΠΉ.
ΠΡ ΠΎΠ΄ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ SSOβ
Π‘ΠΏΠΎΡΠΎΠ±Ρ Π²Ρ ΠΎΠ΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡΡΡΡ β ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ²ΠΈΠ΄ΠΈΡ ΠΈΡ Π²ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²Ρ ΠΎΠ΄Π°:
- Email OTP β ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π½Π° email, ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΏΠΎΠ΄ΡΡΠ΄ΡΠΈΠΊΠΎΠ²;
- ΠΠΊΠΊΠ°ΡΠ½ΡΡ tuna.am β Π²Ρ ΠΎΠ΄ ΡΠ΅ΡΠ΅Π· Π»ΠΈΡΠ½ΡΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ;
- ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ β Π²Π½Π΅ΡΠ½ΠΈΠ΅ Identity Provider (Google, Yandex, GitHub, GitLab, VK, Π»ΡΠ±ΠΎΠΉ OIDC).
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρβ
ΠΠ°ΠΏΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ° β Π΄Π»Ρ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΡΠ½ΠΎΠ΅ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡ ΠΏΡΠΈΡΠΈΠ½Ρ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΎΠ΄ΠΎΠ±ΡΠΈΡ Π΄ΠΎΡΡΡΠΏ Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΡΡΠΎΠΊ (ΠΎΡ 15 ΠΌΠΈΠ½ΡΡ Π΄ΠΎ Π±Π΅ΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ).
Π‘Π΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ β ΠΌΠ°ΡΠΈΠ½Π½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π»Ρ CI/CD, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΠ°ΡΠ° Client ID + Client Secret, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ . ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΡΠ°ΡΠΈΡ Ρ grace-ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠΌ β ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ ΡΠ΅ΠΊΡΠ΅Ρ Π±Π΅Π· ΠΏΡΠΎΡΡΠΎΡ.
curl -H 'Tuna-Access-Client-Id: sat_...' \
-H 'Tuna-Access-Client-Secret: ...' \
https://your-app.example.com/
Π‘Π΅ΡΡΠΈΠΈ β ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²ΠΈΠ΄ΡΡ ΡΠ²ΠΎΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΠΈ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ β ΡΠ΅ΡΡΠΈΠΈ Π²ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ (IP, ΡΡΡΠ°Π½Π°, User-Agent, ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ). ΠΡΠ±ΡΡ ΡΠ΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎ ΡΠΎΠ·Π²Π°ΡΡ, Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠΠ°ΠΊΡΡΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΠΈΠΈΒ» Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΈΡ ΡΠ°Π·ΠΎΠΌ.
ΠΠΈΠ±ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠΊΡΠΈ β Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΠΎΡΠ²Π΅ΡΠ°, ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΡΠ΅ΠΉ, CORS, Π»ΠΈΠΌΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅Π»Π°, TLS Π΄ΠΎ upstream ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ (mTLS).
ΠΠΎΠ»Π½ΡΠΉ Π°ΡΠ΄ΠΈΡβ
ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π°ΡΠ΄ΠΈΡ-Π»ΠΎΠ³: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Ρ ΠΎΠ΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ°, ΠΎΡΠ·ΡΠ² ΡΠ΅ΡΡΠΈΠΉ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π΅ΡΠ°Π»ΠΈ β ΠΊΡΠΎ, ΠΊΠΎΠ³Π΄Π°, ΠΎΡΠΊΡΠ΄Π° ΠΈ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρβ
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ + ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΠΈ Π·Π°ΠΊΡΠΎΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π·Π° ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ β Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
- ΠΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ°
- ΠΠ°ΠΏΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ°
- Π‘Π΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ
- Π‘Π΅ΡΡΠΈΠΈ
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Leave feedbackβ
If you enjoy using Tuna, or on the contrary you are not happy with something, please leave feedback.
Helpβ
We value our users and carefully review every request. If you have any problems with tuna, please contact us in one of the following ways: