Аутентификация и IAM
PAT, сервисные аккаунты, SSO/OIDC, WebAuthn для админов.
Способы аутентификации
| Метод | Где использовать |
|---|---|
Personal Access Token (h3pat_...) | CLI, локальная разработка |
| Service Account + Key | CI/CD, серверные процессы |
| OIDC federation | GitHub Actions, GitLab CI без статичных ключей |
| SSO (SAML / OIDC) | Корпоративный логин в консоль |
| WebAuthn / passkey | Обязателен для роли Owner |
OIDC federation для GitLab CI
deploy:
image: ghcr.io/h3llo/h3-cli:latest
id_tokens:
H3_ID_TOKEN: { aud: h3.gitlab }
script:
- h3 auth oidc-login --token "$H3_ID_TOKEN" --sa ci-deploy@prod
- h3 instances apply infra.tfНикаких долгоживущих ключей в переменных CI.
Роли
- Owner — billing + IAM. WebAuthn обязателен.
- Admin — всё кроме billing.
- Editor — CRUD на ресурсы в проекте.
- Viewer — read-only.
- Custom — кастомный набор разрешений (см. API: разрешения).