Skip to main content

Event Information

  • The DeleteInstanceProfile event in AWS for IAM refers to the deletion of an instance profile.
  • An instance profile is a container for an IAM role that you can use to pass role information to an EC2 instance when the instance starts.
  • When the DeleteInstanceProfile event occurs, it means that the instance profile and its associated IAM role have been deleted, and any EC2 instances using that instance profile will no longer have access to the permissions granted by the role.

Examples

  • Unauthorized deletion of an instance profile can lead to potential security breaches as it may grant unintended access to resources and services.
  • Deleting an instance profile without proper documentation or communication can result in the loss of important permissions and configurations, impacting the security posture of the affected resources.
  • In a multi-account environment, deleting an instance profile without considering its dependencies can disrupt the functioning of other resources and services, potentially compromising security.

Remediation

Using Console

None

Using CLI

  1. Ensure IAM users have strong passwords:
    • Use the update-login-profile command to set a strong password for an IAM user:
  2. Enable multi-factor authentication (MFA) for IAM users:
    • Use the enable-mfa-device command to enable MFA for an IAM user:
  3. Remove unnecessary IAM access keys:
    • Use the delete-access-key command to delete an IAM access key:

Using Python

  1. Ensure IAM users have strong passwords:
    • Use the boto3 library in Python to retrieve a list of IAM users.
    • For each user, check if their password is strong by validating it against a set of password complexity rules.
    • If a user’s password is weak, use the update_login_profile method to force a password reset for that user.
  1. Enable multi-factor authentication (MFA) for IAM users:
    • Use the boto3 library in Python to retrieve a list of IAM users.
    • For each user, check if MFA is enabled by calling the list_mfa_devices method.
    • If MFA is not enabled, use the enable_mfa method to enable it for the user.
  1. Remove unused IAM access keys:
    • Use the boto3 library in Python to retrieve a list of IAM users.
    • For each user, check if they have any access keys by calling the list_access_keys method.
    • If the user has unused access keys, use the delete_access_key method to remove them.