Chapitre 9. Visualisation des journaux d'audit
L'audit d'OpenShift Container Platform fournit un ensemble d'enregistrements chronologiques pertinents pour la sécurité, documentant la séquence des activités qui ont affecté le système par des utilisateurs individuels, des administrateurs ou d'autres composants du système.
9.1. À propos du journal d'audit de l'API
L'audit fonctionne au niveau du serveur API, en enregistrant toutes les demandes arrivant sur le serveur. Chaque journal d'audit contient les informations suivantes :
Field | Description |
---|---|
| Le niveau d'audit auquel l'événement a été généré. |
| Un identifiant d'audit unique, généré pour chaque demande. |
| L'étape du traitement de la demande au cours de laquelle cette instance d'événement a été générée. |
| L'URI de la demande tel qu'il est envoyé par le client à un serveur. |
| Le verbe Kubernetes associé à la demande. Pour les requêtes ne portant pas sur des ressources, il s'agit de la méthode HTTP en minuscules. |
| Les informations sur l'utilisateur authentifié. |
| Facultatif. Les informations relatives à l'utilisateur usurpé, si la demande vise à usurper l'identité d'un autre utilisateur. |
| Facultatif. Les adresses IP source, d'où provient la demande et les éventuels serveurs mandataires intermédiaires. |
| Facultatif. Chaîne de l'agent utilisateur signalée par le client. Notez que l'agent utilisateur est fourni par le client et qu'il ne doit pas être fiable. |
|
Facultatif. La référence de l'objet visé par cette demande. Ceci ne s'applique pas aux demandes de type |
|
Facultatif. L'état de la réponse, renseigné même si l'adresse |
|
Facultatif. L'objet API de la demande, au format JSON. Le site |
|
Facultatif. L'objet API renvoyé dans la réponse, au format JSON. Le site |
| Heure à laquelle la demande a atteint le serveur API. |
| Heure à laquelle la demande a atteint le stade actuel de l'audit. |
|
Facultatif. Une carte de valeurs clés non structurée stockée avec un événement d'audit qui peut être définie par les plugins invoqués dans la chaîne de service de la demande, y compris les plugins d'authentification, d'autorisation et d'admission. Notez que ces annotations concernent l'événement d'audit et ne correspondent pas à l'adresse |
Exemple de sortie pour le serveur API Kubernetes :
{"kind":"Event","apiVersion":"audit.k8s.io/v1","level":"Metadata","auditID":"ad209ce1-fec7-4130-8192-c4cc63f1d8cd","stage":"ResponseComplete","requestURI":"/api/v1/namespaces/openshift-kube-controller-manager/configmaps/cert-recovery-controller-lock?timeout=35s","verb":"update","user":{"username":"system:serviceaccount:openshift-kube-controller-manager:localhost-recovery-client","uid":"dd4997e3-d565-4e37-80f8-7fc122ccd785","groups":["system:serviceaccounts","system:serviceaccounts:openshift-kube-controller-manager","system:authenticated"]},"sourceIPs":["::1"],"userAgent":"cluster-kube-controller-manager-operator/v0.0.0 (linux/amd64) kubernetes/$Format","objectRef":{"resource":"configmaps","namespace":"openshift-kube-controller-manager","name":"cert-recovery-controller-lock","uid":"5c57190b-6993-425d-8101-8337e48c7548","apiVersion":"v1","resourceVersion":"574307"},"responseStatus":{"metadata":{},"code":200},"requestReceivedTimestamp":"2020-04-02T08:27:20.200962Z","stageTimestamp":"2020-04-02T08:27:20.206710Z","annotations":{"authorization.k8s.io/decision":"allow","authorization.k8s.io/reason":"RBAC: allowed by ClusterRoleBinding \"system:openshift:operator:kube-controller-manager-recovery\" of ClusterRole \"cluster-admin\" to ServiceAccount \"localhost-recovery-client/openshift-kube-controller-manager\""}}