Restreignez les autorisations du rôle Resource Access Management (RAM) attribué aux nœuds de calcul en appliquant le principe du moindre privilège afin d'améliorer la sécurité de vos clusters ACK managés.
La modification des politiques RAM peut entraîner des défaillances des applications ou des modules complémentaires si des autorisations requises sont supprimées. Effectuez des tests dans un environnement de préproduction avant d'appliquer les modifications en production.
Prérequis
Avant de commencer, assurez-vous que :
Vous disposez d'un cluster ACK managé (Pro ou Basic) exécutant Kubernetes 1.18 ou une version ultérieure. Créez un cluster ACK managé ou mettez à niveau manuellement un cluster si nécessaire. Vous pouvez également migrer un cluster ACK dédié vers un cluster ACK managé Pro.
Vous avez accordé les rôles de service par défaut requis par le cluster ACK managé. Pour plus d'informations, consultez la section Accorder des autorisations aux rôles de service.
Étape 1 : Évaluer les autorisations actuelles
Déterminez si le rôle RAM des nœuds de calcul dispose d'autorisations excessives qui doivent être restreintes.
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom du cluster cible. Sous l'onglet Basic Information, cliquez sur le lien situé à côté de Worker RAM Role.
-
Dans la console RAM, accédez à l'onglet Permissions de la page Role.
Si aucune politique n'est associée, aucune action supplémentaire n'est requise. Le rôle RAM des nœuds de calcul ne dispose pas d'autorisations supplémentaires.
Si des politiques sont associées (par exemple,
k8sWorkerRolePolicy-db8ad5c7***), le rôle peut disposer d'autorisations supérieures au nécessaire. Évaluez la situation en fonction de vos besoins métier et du principe du moindre privilège, puis passez à l'étape suivante.
Examinez chaque politique associée pour identifier les actions API Alibaba Cloud qu'elle accorde. Cela établit une base de référence avant toute modification.
Étape 2 : Mettre à niveau les modules complémentaires
Historiquement, les modules complémentaires ACK s'appuyaient sur le rôle RAM des nœuds de calcul pour accéder aux ressources cloud. Les modules complémentaires ACK actuels utilisent l'authentification basée sur des jetons (rôles de service managés). Mettez à niveau les modules complémentaires de votre cluster et analysez les journaux d'audit afin de supprimer les autorisations inutiles du rôle RAM des nœuds de calcul et de limiter l'impact d'éventuels incidents de sécurité.
Mettez à niveau les modules complémentaires un par un. Assurez-vous que chaque mise à niveau aboutit avant de lancer la suivante. Lisez les remarques relatives à chaque module complémentaire avant la mise à niveau.
Pour plus d'informations, consultez la rubrique Gérer les modules complémentaires.
Modules complémentaires installés via Add-ons
Sur la page Add-ons, mettez à niveau chaque module complémentaire installé vers au moins la version minimale indiquée ci-dessous. Pour les modules complémentaires déjà à la version minimale ou supérieure, redéployez-les à l'aide de la commande répertoriée dans le tableau, ou redéployez-les via la console.
Surveillance et observabilité
|
Module complémentaire |
Version minimale |
Commande de redéploiement |
Remarques |
|
|
v0.3.9.4-ff225cd-aliyun |
|
Aucune |
|
|
v1.5.5 |
|
Aucune |
|
|
1.1.11 |
|
Aucune |
|
|
1.0.10 |
|
Avant la mise à niveau, accordez des autorisations pour le rôle de gestion des coûts. |
|
|
1.2.16 |
|
Aucune |
Mise en réseau
|
Module complémentaire |
Version minimale |
Commande de redéploiement |
Remarques |
|
|
v1.0.10.333-gfd2b7b8-aliyun |
|
Mettez à niveau Terway selon le mode Terway de votre cluster. Pour plus d'informations, consultez la rubrique Utiliser le plug-in réseau Terway. Après la mise à niveau, vérifiez la configuration Terway. |
|
|
v1.0.10.333-gfd2b7b8-aliyun |
|
Consultez les remarques pour |
|
|
v1.0.10.333-gfd2b7b8-aliyun |
|
Consultez les remarques pour |
|
|
v1.2.1 |
|
Aucune |
|
|
1.1.5 |
|
Avant la mise à niveau, accordez des autorisations pour le rôle Microservices Engine (MSE) managé. |
Stockage
|
Module complémentaire |
Version minimale |
Commande de redéploiement |
Remarques |
|
|
v1.18.8.45-1c5d2cd1-aliyun |
|
Aucune |
|
|
v1.18.8.45-1c5d2cd1-aliyun |
|
Aucune |
|
|
v1.18.8.55-e398ce5-aliyun |
|
Aucune |
|
|
v1.14.8.51-842f0a81-aliyun |
|
Aucune |
|
|
v1.14.8.109-649dc5a-aliyun |
|
Journalisation
|
Module complémentaire |
Version minimale |
Commande de redéploiement |
Remarques |
|
|
v1.0.29.1-0550501-aliyun |
|
Aucune |
|
|
v3.0.2 |
|
Aucune |
Sécurité et gestion des images
|
Module complémentaire |
Version minimale |
Commande de redéploiement |
Remarques |
|
|
v23.02.06.2-74e2172-aliyun |
|
Avant la mise à niveau, accordez des autorisations pour le rôle Container Registry (ACR) managé. Si vous ne disposez pas d'autorisations RAM personnalisées et n'avez pas besoin de tirer des images entre comptes, accédez à Add-ons et définissez tokenMode sur managedRole. Si vous n'avez pas besoin de tirer des images privées sans identifiants, désinstallez ce module complémentaire. |
|
|
3.0.11 |
|
Avant la mise à niveau, accordez des autorisations pour le rôle MSE managé. |
Cluster Autoscaler (installé via un pool de nœuds)
Module complémentaire | Version minimale | Commande de redéploiement | Remarques |
| v1.3.1-bcf13de9-aliyun |
| Pour vérifier la version actuelle, utilisez l'une des méthodes suivantes :
|
Vérifier la configuration Terway
Si votre cluster a installé terway, terway-eni ou terway-eniip, vérifiez que le ConfigMap Terway contient le chemin d'accès correct aux identifiants.
-
Exécutez la commande suivante pour modifier le ConfigMap Terway :
kubectl edit cm eni-config -n kube-system -
Dans la section
eni_conf, recherchez la ligne suivante :"credential_path": "/var/addon/token-config",Si cette ligne est présente, aucune modification n'est nécessaire.
Si cette ligne est absente, ajoutez-la sous la configuration
min_pool_size.
Redéployez la charge de travail Terway en exécutant la commande de redéploiement correspondante du tableau de mise en réseau ci-dessus.
Étape 3 : Collecter les journaux d'audit
Configurez la journalisation d'audit pour suivre les opérations API Alibaba Cloud effectuées par le rôle RAM des nœuds de calcul. Ces données vous indiquent quelles autorisations sont encore utilisées et lesquelles peuvent être supprimées en toute sécurité.
Collectez les journaux d'audit pendant au moins une semaine.
Connectez-vous à la console ActionTrail.
Créez une piste mono-compte pour la région où se trouve le cluster. Lors de la création de la piste, sélectionnez Delivery to Log Service. Pour plus d'informations, consultez la rubrique Créer une piste mono-compte.
Pour obtenir la liste complète des services pris en charge par ActionTrail, consultez la rubrique Services Alibaba Cloud pris en charge.
Étape 4 : Tester les fonctionnalités du cluster
Après avoir mis à niveau les modules complémentaires et redéployé les charges de travail, vérifiez que les fonctionnalités principales du cluster fonctionnent toujours correctement.
|
Catégorie |
Cas de test |
Référence |
|
Calcul |
Effectuez un scale-out et un scale-in des nœuds. |
|
|
Réseau |
Vérifiez que les adresses IP sont attribuées aux pods. |
|
|
Stockage |
Déployez des charges de travail utilisant un stockage externe (le cas échéant). |
|
|
Surveillance |
Confirmez la disponibilité des données de surveillance et d'alerte. |
|
|
Élasticité |
Déclenchez la mise à l'échelle automatique des nœuds (le cas échéant). |
|
|
Sécurité |
Tirez une image privée sans identifiants (le cas échéant). |
Utiliser aliyun-acr-credential-helper pour tirer des images sans utiliser de secret |
En plus des tests ci-dessus, testez la logique métier des applications déployées dans votre cluster.
Étape 5 : Analyser les journaux d'audit
Après avoir collecté les journaux pendant au moins une semaine, interrogez les données pour identifier les opérations API effectuées par le rôle RAM des nœuds de calcul.
Connectez-vous à la console Simple Log Service (SLS).
-
Dans la section Projects, cliquez sur le projet spécifié à l'étape 3.

Sous l'onglet , cliquez sur le Logstore de destination. Le Logstore est nommé
actiontrail_<trail_name>.-
Exécutez la requête suivante pour répertorier les opérations API appelées via le jeton Security Token Service (STS) du rôle RAM des nœuds de calcul. Remplacez
<worker_role_name>par le nom du rôle RAM des nœuds de calcul de votre cluster. Les résultats affichent les services Alibaba Cloud et les opérations API appelés. Utilisez ces données à l'étape 6 pour décider des autorisations à conserver et de celles à supprimer.* and event.userIdentity.userName: <worker_role_name> | select "event.serviceName", "event.eventName", count(*) as total GROUP BY "event.eventName", "event.serviceName"
Étape 6 : Supprimer les autorisations inutilisées
Sur la base de l'analyse des journaux d'audit, supprimez les autorisations dont le rôle RAM des nœuds de calcul n'a pas besoin.
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom du cluster cible. Sous l'onglet Basic Information, cliquez sur le lien situé à côté de Worker RAM Role.
-
Sous l'onglet Permissions de la page Role, cliquez sur la stratégie d'accès cible pour accéder à l'onglet Policy Content. Cliquez sur Modify Policy.
ImportantAvant de modifier le document de stratégie, effectuez une sauvegarde. Cela vous permettra de revenir à la configuration d'autorisation précédente si nécessaire.
Supprimez les autorisations inutiles en vous basant sur l'analyse des journaux d'audit de l'étape 5. Par exemple, supprimez de la stratégie les autorisations
Actionqui n'ont pas été invoquées pendant votre période d'audit. Si la requête n'a renvoyé aucun résultat, vous pouvez détacher la stratégie entière du rôle en toute sécurité.Redéployez les charges de travail à l'aide des commandes répertoriées à l'étape 2.
Répétez les étapes 4, 5 et 6 jusqu'à ce que le rôle RAM des nœuds de calcul ne dispose que des autorisations minimales requises par les modules complémentaires ou les applications.
Références
Pour obtenir une vue d'ensemble du système d'autorisation ACK, consultez la rubrique Bonnes pratiques en matière d'autorisation.