IAM
IAM (Identity and Access Management)
beschäftigt sich mit:
- der Verwaltung von Identitäten und Zugriffsrechten
- dem Einräumen von Zugriffsrechten
Authentifizierung
Eine behauptete Eigenschaft überprüfen.
Protokolle
HTTP
Basic Authentication
Basic Authentication
- API-Schlüssel-Paar:
- API-Key-ID: wird zufällig generiert
- API Key-Secret: wird zufällig generiert
- immer zusammen mit HTTPS verwenden, sonst können die Daten abgefangen werden
- AWS verwendet es
- falls ein API-Schlüssel-Paar kompromittiert wurde, einen neuen erzeugen und verwenden
- Server:
- auf nicht authentifizierten Request reagieren:
- HTTP Status-Code
401
setzen
- Response-Header-Feld setzen:
WWW-Authenticate: Basic realm="User Visible Realm", charset="UTF-8"
- Client:
- Request-Header-Feld
Authorization
setzen
curl --user 'xxx:yyy' URL
Chancen:
- einfach zu implementieren
Risiken:
- der Benutzer kann nicht ausgeloggt werden
- das Caching der Credentials in den Headern ist unterschiedlich lange, z.B. nur 15 min. Danach muss
sich der Benutzer erneut authentifizieren.
Digest Authentication
Digest Authentication
TODO
NTLM HTTP Authentication
TODO
Sonstige
Federated Authentication
Einem anderen Dienst (Server, Provider) vertrauen.
3rd Party-Login
Chancen:
- Der Benutzer kann das Angebot sofort nutzen.
Risiken:
- Der Benutzer kann nicht unterstützt werden, z.B. falls er seine Credentials vergessen hat (Password Reset).
- Der Benutzer kann nicht kontaktiert werden, z.B. via iCloud, da die iCloud-Email-Adressen häufig
nicht lesend genutzt werden.
Autorisierung
Einem Client Rechte einräumen.
Protokolle
Software
Server: Gluu, Kanidm, Keratin AuthN, ORY Hydra, ORY Keto
Authentifizierung: Authelia, FreeIPA, Keycloak, ORY Kratos, SuperTokens, ZITADEL
Alle Angaben ohne Gewähr
• Home
• Kontakt