the console login is enabled via terraform and it works fine. The problem is i cannot able to login with the credentials which created through terraform. Iam able to login with the credential if i create password from console, but not created from terraform
# Define IAM Account Password Policy
resource "aws_iam_account_password_policy" "password_policy" {
minimum_password_length = 8
require_lowercase_characters = true
require_numbers = true
require_uppercase_characters = true
require_symbols = true
allow_users_to_change_password = true
}
# Create IAM Users for Admins (user1, user2)
resource "aws_iam_user" "admin_users" {
for_each = toset(var.admin_users)
name = each.value
}
# Generate Random Password for Admin Users
resource "random_password" "admin_users_password" {
for_each = toset(var.admin_users)
length = 12
special = true
upper = true
lower = true
numeric = true
override_special = "!@#$%^&*()-_=+[]{}|;:,.<>?"
}
# Create Login Profile for Admin Users
resource "aws_iam_user_login_profile" "admin_users_login_profile" {
for_each = toset(var.admin_users)
user = aws_iam_user.admin_users[each.value].name
password_reset_required = true
depends_on = [random_password.admin_users_password]
}
# Create IAM Users for Restricted Users
resource "aws_iam_user" "restricted_users" {
for_each = toset(var.restricted_users)
name = each.value
}
# Generate Random Password for Restricted Users
resource "random_password" "restricted_users_password" {
for_each = toset(var.restricted_users)
length = 12
special = true
upper = true
lower = true
numeric = true
override_special = "!@#$%^&*()-_=+[]{}|;:,.<>?"
}
# Create Login Profile for Restricted Users
resource "aws_iam_user_login_profile" "restricted_users_login_profile" {
for_each = toset(var.restricted_users)
user = aws_iam_user.restricted_users[each.value].name
password_reset_required = true
}
# Add Admin Users to the Administrators Group
resource "aws_iam_user_group_membership" "admin_group_membership" {
for_each = toset(var.admin_users)
user = aws_iam_user.admin_users[each.value].name
groups = [aws_iam_group.administrators.name]
}
# Add Restricted Users to the Restricted Users Group
resource "aws_iam_user_group_membership" "restricted_user_group_membership" {
for_each = toset(var.restricted_users)
user = aws_iam_user.restricted_users[each.value].name
groups = [aws_iam_group.restricted_users.name]
}