Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWSSupport-ContainIAMPrincipal
Description
En cas d'incident de sécurité ou de suspicion de compromission d'un utilisateur Gestion des identités et des accès AWS (IAM) User/Role ou d' AWS Identity Center (IDC), il est crucial d'isoler rapidement l'identité concernée tout en préservant sa configuration à des fins d'investigation. Le AWSSupport-ContainIAMPrincipal runbook propose une approche structurée et réversible pour contenir les identités IAM ou IDC compromises, en bloquant efficacement leur accès aux AWS ressources et en empêchant la propagation potentielle de la compromission.
Ce processus automatisé permet une investigation sans modification permanente de la configuration de l'identité, ce qui permet de rétablir l'accès normal lorsque cela est jugé approprié. Le processus de confinement permet de conserver l'utilisateur ou le rôle au sein d'IAM ou l'utilisateur au sein d'IDC, tout en l'isolant efficacement de toutes les activités du réseau. Cette isolation empêche la ressource d'identité contenue de communiquer avec les ressources de votre Amazon Virtual Private Cloud ou d'accéder à des ressources Internet. Le confinement est conçu pour être réversible, ce qui permet de rétablir un accès normal lorsque cela est jugé approprié.
Fonctionnement
Le AWSSupport-ContainIAMPrincipal runbook met en œuvre un processus de confinement complet pour les utilisateurs, les rôles et les utilisateurs d'Identity Center IAM. Lorsqu'il est exécuté en Contain mode, il valide d'abord tous les paramètres d'entrée et effectue des contrôles de sécurité sur le compartiment Amazon S3 spécifié. Il rassemble ensuite des informations détaillées sur le principal IAM cible et applique les mesures de confinement appropriées en fonction du type de principal. Pour les utilisateurs IAM, il désactive les clés d'accès, supprime l'accès à la console et associe une politique de refus. Pour les rôles IAM, il associe une politique de refus qui révoque les autorisations pour les sessions créées avant le confinement. Pour les utilisateurs d'Identity Center, il supprime les ensembles d'autorisations, les appartenances à des groupes et applique une politique de refus. Tout au long du processus, le runbook sauvegarde la configuration d'origine dans un compartiment Amazon S3 en vue d'une restauration éventuelle. Lorsqu'il est exécuté en Restore mode, il tente de ramener le principal à son état d'avant le confinement à l'aide de la configuration sauvegardée. Le runbook inclut une DryRun option permettant de prévisualiser les modifications sans les appliquer, et fournit des rapports complets sur les opérations réussies et les scénarios d'échec.
Important
-
Utilisation de privilèges élevés : ce document SSM effectue diverses opérations nécessitant des privilèges élevés, telles que la modification des politiques d'identité IAM et IDC et l'application de configurations de quarantaine. Ces actions peuvent potentiellement entraîner une augmentation des privilèges ou avoir un impact sur d'autres charges de travail qui dépendent des identités ciblées. Vous devez vérifier les autorisations accordées au rôle spécifié par le
AutomationAssumeRoleparamètre et vous assurer qu'elles sont adaptées au cas d'utilisation prévu. Vous pouvez consulter la AWS documentation suivante pour plus d'informations sur les autorisations IAM : -
Risques d'indisponibilité de la charge de travail : ce document de Systems Manager effectue des actions d'isolation susceptibles d'entraîner une indisponibilité ou une interruption de vos charges de travail. Lorsqu'elle est exécutée lors d'un événement de sécurité, elle restreint l'accès à la ressource affectée en révoquant les autorisations d' AWS API des identités IAM et IDC spécifiées, les empêchant ainsi d'effectuer des appels ou des actions d' AWS API. Cela pourrait avoir un impact sur les applications ou les services qui dépendent de ces identités.
-
Création de ressources supplémentaires : le document d'automatisation peut créer de manière conditionnelle des ressources supplémentaires, telles qu'un compartiment Amazon Simple Storage Service (Amazon S3) et des objets Amazon S3 qui y sont stockés, en fonction des paramètres d'exécution. Ces ressources entraîneront des frais supplémentaires en fonction de votre AWS utilisation.
-
Risques de restauration : si le paramètre Action est défini sur
Restore, ce document SSM tente de restaurer la configuration d'identité IAM ou IDC à son état d'origine. Cependant, le processus de restauration risque d'échouer, laissant l'identité IAM ou IDC dans un état incohérent. Le document fournit des instructions pour la restauration manuelle en cas de telles défaillances, mais vous devez être prêt à gérer les problèmes potentiels au cours du processus de restauration.
Il est recommandé de passer en revue le runbook de manière approfondie, de comprendre ses impacts potentiels et de le tester dans un environnement hors production avant de l'exécuter dans votre environnement de production.
Exécutez cette automatisation (console)
Type de document
Automatisation
Propriétaire
Amazon
Plateformes
/
Autorisations IAM requises
Le AutomationAssumeRole paramètre nécessite les autorisations suivantes pour utiliser correctement le runbook :
-
s3 : GetBucketLocation
-
s3 : GetBucket
-
s3 : ListBucket
-
s3 : GetBucketPublicAccessBlocks
-
s3 : GetAccountPublicAccessBlocks
-
s3 : GetBucketPolicyStatus
-
s3 : GetBucketAcl
-
s3 : GetObject
-
s3 : CreateBucket
-
s3 : PutObject
-
iam : GetUser
-
iam : GetUserPolicy
-
iam : GetRole
-
iam : ListUserPolicies
-
iam : ListAttachedUserPolicies
-
iam : ListAccessKeys
-
iam : ListMfaDevices
-
iam : ListVirtualMFADevices
-
iam : GetLoginProfile
-
iam : GetPolicy
-
iam : GetRolePolicy
-
iam : ListPolicies
-
iam : ListAttachedRolePolicies
-
iam : ListRolePolicies
-
iam : UpdateAccessKey
-
iam : CreateAccessKey
-
iam : DeleteLoginProfile
-
iam : DeleteAccessKey
-
iam : PutUserPolicy
-
iam : DeleteUserPolicy
-
iam:DeactivateMFADevice
-
iam : AttachRolePolicy
-
iam : AttachUserPolicy
-
iam : DeleteRolePolicy
-
Appareil IAM : Tag MFA
-
iam : PutRolePolicy
-
iam : TagPolicy
-
iam : TagRole
-
iam : TagUser
-
iam : UntagUser
-
iam : UntagRole
-
organisations : ListAccounts
-
alors : ListPermissionSetsProvisionedToAccount
-
alors : GetInlinePolicyForPermissionSet
-
alors : ListInstances
-
répertoire SSO : SearchUsers
-
alors : ListPermissionSets
-
alors : ListAccountAssignments
-
répertoire SSO : DescribeUser
-
boutique d'identité : ListUsers
-
boutique d'identité : ListGroups
-
boutique d'identité : IsMemberInGroups
-
boutique d'identité : ListGroupMemberships
-
responsable des secrets : CreateSecret
-
responsable des secrets : DeleteSecret
-
alors : DeleteAccountAssignment
-
alors : PutInlinePolicyToPermissionSet
-
alors : CreateAccountAssignment
-
alors : DeleteInlinePolicyFromPermissionSet
-
alors : TagResource
-
alors : UntagResource
-
boutique d'identité : DeleteGroupMembership
-
boutique d'identité : CreateGroupMembership
Voici un exemple de politique IAM qui accorde les autorisations nécessaires pour : AutomationAssumeRole
Instructions
Pour configurer l'automatisation, procédez comme suit :
-
Accédez AWSSupport-ContainIAMPrincipal
à la console AWS Systems Manager. -
Sélectionnez Execute automation (Exécuter l'automatisation).
-
Pour les paramètres d'entrée, entrez les informations suivantes :
-
AutomationAssumeRole (Facultatif) :
-
Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle de gestion des AWS identités et des accès (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui démarre ce runbook.
-
Type :
AWS::IAM::Role::Arn
-
-
PrincipalType (Obligatoire) :
-
Description : (Obligatoire) Type de principal AWS IAM : utilisateur IAM, rôle IAM ou utilisateur du centre d'identité.
-
Type : Chaîne
-
Valeurs autorisées :
IAM user|IAM role|Identity Center user
-
-
PrincipalName (Obligatoire) :
-
Description : (Obligatoire) Le nom du responsable IAM. Pour les utilisateurs d'Identity Center, indiquez le nom d'utilisateur.
-
Type : Chaîne
-
Schéma autorisé :
^[a-zA-Z0-9\\.\\-_\\\\!*'()/+=,@]{1,1024}$
-
-
Action (obligatoire) :
-
Description : (Obligatoire) Sélectionnez cette option
Containpour isoler le principal IAM cible ouRestorepour essayer de restaurer la configuration d'origine du principal IAM à partir d'une sauvegarde précédente. -
Type : Chaîne
-
Valeurs autorisées :
Contain|Restore
-
-
DryRun (Facultatif) :
-
Description : (Facultatif) Lorsque cette option est définie sur
true, l'automatisation n'apportera aucune modification au principal IAM cible, mais indiquera ce qu'elle aurait tenté de modifier, en détaillant chaque étape. Valeur par défaut :true. -
Type : Boolean
-
Valeurs autorisées :
true|false
-
-
ActivateDisabledKeys(Conditionnel) :
-
Description : (Conditionnel) Si le paramètre d'entrée Action est défini sur
Restoreet que l' PrincipalType est sur Utilisateur IAM, cette option détermine si cette automatisation doit essayer d'activer les clés d'accès associées si elles sont désactivées. Veuillez noter que l'intégrité d'une clé d'accès compromise ne peut pas être vérifiée. AWS déconseille vivement de réactiver une clé compromise. Il est plutôt conseillé de générer de nouvelles clés. Valeur par défaut :false. -
Type : Boolean
-
Valeurs autorisées :
true|false
-
-
BackupS3BucketName (Conditionnel) :
-
Description : (Conditionnel) Le compartiment Amazon S3 pour sauvegarder la configuration principale IAM lorsque l'Action est définie sur
Containou pour restaurer la configuration à partir de laquelle l'Action l'estRestore. Notez que si l'action spécifiée estContainet que le runbook n'est pas en mesure d'accéder au compartiment ou qu'aucune valeur n'est fournie, un nouveau compartiment portant le nomawssupport-containiamprincipal-<random-string>est créé dans votre compte. Si cette valeur DryRun est définie,truece paramètre est obligatoire. -
Type :
AWS::S3::Bucket::Name
-
-
BackupS3KeyName (Conditionnel) :
-
Description : (Conditionnel) Si Action est définie sur
Restore, cela indique la clé Amazon Amazon S3 que l'automatisation utilisera pour tenter de restaurer la configuration principale IAM. La clé Amazon Amazon S3 suit généralement le format suivant :{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json. La clé peut être obtenue à partir de la sortie d'une exécution d'automatisation de confinement précédente. -
Type : Chaîne
-
Schéma autorisé :
^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$
-
-
BackupS3BucketAccess(Conditionnel) :
-
Description : (Conditionnel) L'ARN des utilisateurs ou des rôles IAM qui seront autorisés à accéder au compartiment Amazon S3 de sauvegarde après avoir exécuté les actions de confinement. Ce paramètre est obligatoire lorsque Action est défini sur
Contain. L'utilisateur ou AutomationAssumeRole, à défaut, l'utilisateur dans le contexte duquel l'automatisation est exécutée est automatiquement ajouté à la liste. -
Type : StringList
-
Schéma autorisé :
^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$
-
-
TagIdentifier (Facultatif) :
-
Description : (Facultatif) Marquez le principal IAM avec une balise de votre choix en utilisant le format suivant :
Key=<EXAMPLE_KEY>,Value=<EXAMPLE_VALUE>. Cette option vous permet de suivre les principaux IAM qui ont été ciblés par ce runbook. Remarque : les clés et les valeurs des balises distinguent les majuscules et minuscules. -
Type : Chaîne
-
Schéma autorisé :
^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$
-
-
-
Sélectionnez Exécuter.
-
L'automatisation démarre.
-
Le document exécute les étapes suivantes :
-
ValidateRequiredInputs
Valide les paramètres d'entrée d'automatisation requis en fonction des paramètres
Actionspécifiés. -
CheckBackupS3BucketName
Vérifie si le compartiment Amazon S3 cible accorde potentiellement
readun accèswritepublic à ses objets. En cas de flux de travail de confinement, un nouveau compartiment Amazon Amazon S3 est créé s'il n'existe pas.BackupS3BucketName -
BranchOnAction
Branche l'automatisation en fonction de la valeur spécifiée
Action. -
BranchOnPrincipalTypeAndDryRun
Branche l'automatisation en fonction du type de principal IAM (utilisateur IAM, rôle IAM ou utilisateur Identity Center) et de son exécution en mode.
DryRun -
BranchOnPrincipalTypeForContain
Branche l'automatisation en fonction de l'
Containaction et du type principal IAM (utilisateur IAM, rôle IAM ou utilisateur du centre d'identité) spécifié dans l'entrée. -
Utilisateur de Getia
Obtient l'heure de création et le nom d'utilisateur de l'utilisateur IAM cible.
-
GetIAMUserDetails
Obtient et stocke la configuration de l'utilisateur IAM cible, y compris les politiques en ligne, les politiques gérées, les clés d'accès, les périphériques MFA et le profil de connexion.
-
UpdateS3KeyForUser
Met à jour la variable d'automatisation « S3Key » à partir de la sortie de l'étape.
GetIAMUserDetails -
Obtenir un rôle
Obtient l'heure de création, le nom du rôle et le chemin du rôle IAM cible.
-
GetIAMRoleDetails
Obtient et stocke la configuration du rôle IAM cible, y compris les politiques en ligne et les politiques gérées associées au rôle.
-
UpdateS3KeyForRole
Met à jour la variable d'automatisation « S3Key » à partir de la sortie de l'étape.
GetIAMRoleDetails -
GetIdentityStoreId
Obtient l'ID de l'instance AWS IAM Identity Center associée au AWS compte.
-
Utilisateur GetIDC
Obtient l'ID utilisateur de l'utilisateur cible de l'Identity Center à l'aide de l'Identity Store ID.
-
GatherIDCUserDetails
Obtient et stocke la configuration de l'utilisateur cible d'Identity Center, y compris les attributions de comptes, les ensembles d'autorisations associés et les politiques en ligne.
-
UpdateS3KeyForIDCUser
Met à jour la variable d'automatisation « S3Key » à partir de la sortie de l'étape.
GatherIDCUserDetails -
BranchOnIdentityContain
Branche l'automatisation en fonction de la valeur
DryRunet du type principal IAM de l'Containaction. -
BranchOnDisableAccessKeys
Branche l'automatisation selon que l'utilisateur IAM possède ou non des clés d'accès qui doivent être désactivées.
-
DisableAccessKeys
Désactive les clés d'accès utilisateur IAM actives.
-
BranchOnDisableConsoleAccess
Branches selon que l'accès à la console de AWS gestion est activé ou non pour l'utilisateur IAM.
-
DisableConsoleAccess
Supprime l'accès par mot de passe de l'utilisateur IAM à la console de gestion. AWS
-
AttachInlineDenyPolicyToUser
Attache une politique de refus à l'utilisateur IAM afin de révoquer les autorisations pour les anciens jetons de session.
-
AttachInlineDenyPolicyToRole
Attache une politique de refus au rôle IAM afin de révoquer les autorisations pour les anciens jetons de session.
-
RemovePermissionSets
Supprime les ensembles d'autorisations associés à l'utilisateur d'Identity Center.
-
RemoveIDCUserFromIDCGroups
Supprime l'utilisateur Identity Center des groupes Identity Center.
-
AttachInlineDenyPolicyToPermissionSet
Attache une politique de refus aux ensembles d'autorisations associés à l'utilisateur Identity Center.
-
BranchOnReactivateKeys
Branche l'automatisation en fonction du
ActivateDisabledKeysparamètre pendant le processus de restauration. -
DetachInlineDenyPolicy
Supprime la politique de refus associée au rôle IAM pendant le processus de confinement.
-
DetachInlineDenyPolicyFromPermissionSet
Supprime la politique de refus attachée aux ensembles d'autorisations pendant le processus de confinement.
-
ReportContain
Génère des informations détaillées sur les actions de confinement qui seraient effectuées lorsque cette
DryRunoption est réglée surTrue. -
ReportRestore
Génère des informations détaillées sur les actions de restauration qui seraient effectuées lorsque cette
DryRunvaleur est définie surTrue. -
ReportContainFailure
Fournit des instructions complètes pour restaurer manuellement la configuration d'origine du principal IAM lors d'un scénario de défaillance du flux de travail de confinement.
-
ReportRestoreFailure
Fournit des instructions détaillées pour terminer manuellement la restauration de la configuration d'origine du principal IAM lors d'un scénario d'échec du flux de restauration.
-
-
Une fois l'exécution terminée, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution :
-
ContainIAMPrincipal.Output
Fournit des informations détaillées sur les actions de confinement effectuées lorsque Action est défini sur Contain et DryRun est défini sur False. Comprend des informations sur l'emplacement de sauvegarde, les politiques de refus appliquées et les configurations modifiées.
-
RestoreIAMPrincipal.Output
Fournit des informations détaillées sur les actions de restauration effectuées lorsque Action est défini sur Restaurer et DryRun est défini sur False. Inclut des informations sur les configurations restaurées et les éventuels problèmes rencontrés lors de la restauration.
-
ReportContain.Output
Produit des informations détaillées sur les actions de confinement qui seraient effectuées lorsque Action est défini sur Contain et DryRun est défini sur True. Comprend une comparaison des configurations actuelles et post-confinement.
-
ReportRestore.Output
Produit des informations détaillées sur les actions de restauration qui seraient effectuées lorsque Action est défini sur Restore et DryRun est défini sur True. Affiche la configuration actuelle et la configuration d'origine qui serait restaurée.
-
ReportContainFailure.Output
Fournit des instructions complètes pour restaurer manuellement la configuration d'origine du principal IAM lors d'un scénario de défaillance du flux de travail de confinement.
-
ReportRestoreFailure.Output
Fournit des instructions détaillées pour terminer manuellement la restauration de la configuration d'origine du principal IAM lors d'un scénario d'échec du flux de restauration.
-
Sorties
Une fois l'exécution terminée, consultez la section Sorties pour obtenir les résultats détaillés :
-
ContainIAMPrincipal.Output
Fournit des informations détaillées sur les actions de confinement effectuées lorsque Action est défini sur Contain et DryRun est défini sur False. Comprend des informations sur l'emplacement de sauvegarde, les politiques de refus appliquées et les configurations modifiées.
-
RestoreIAMPrincipal.Output
Fournit des informations détaillées sur les actions de restauration effectuées lorsque Action est défini sur Restaurer et DryRun est défini sur False. Inclut des informations sur les configurations restaurées et les éventuels problèmes rencontrés lors de la restauration.
-
ReportContain.Output
Produit des informations détaillées sur les actions de confinement qui seraient effectuées lorsque Action est défini sur Contain et DryRun est défini sur True. Comprend une comparaison des configurations actuelles et post-confinement.
-
ReportRestore.Output
Produit des informations détaillées sur les actions de restauration qui seraient effectuées lorsque Action est défini sur Restore et DryRun est défini sur True. Affiche la configuration actuelle et la configuration d'origine qui serait restaurée.
-
ReportContainFailure.Output
Fournit des instructions complètes pour restaurer manuellement la configuration d'origine du principal IAM lors d'un scénario de défaillance du flux de travail de confinement.
-
ReportRestoreFailure.Output
Fournit des instructions détaillées pour terminer manuellement la restauration de la configuration d'origine du principal IAM lors d'un scénario d'échec du flux de restauration.
Références
Systems Manager Automation