설명
AWS IAM Identity Center 사용자를 직접 생성하는 것은 지원되는 관리 방식입니다. 다만 외부 IdP나 중앙 디렉터리를 사용자 원천으로 사용하는 조직에서는 수동·Terraform 관리가 동기화 및 퇴사자 처리 절차와 어긋나지 않아야 합니다.
계정 비활성화, 조직 이동과 권한 회수의 책임을 명확히 하세요. 사용자를 생성하는 것만으로 AWS 계정 접근 권한이 부여되는 것은 아니며 권한 세트와 할당도 별도로 관리해야 합니다.
잠재적 영향
- 사용자 관리가 분산되면 퇴사나 조직 변경 시 계정과 권한 회수가 늦어질 수 있습니다.
- 중앙 관리 절차에서 누락된 사용자에게 불필요한 접근이 남을 수 있습니다.
해결 방법
- 선택한 Identity Center 사용자 원천에 맞춰 생성·수정·삭제 절차를 통일하세요. 외부 IdP를 사용한다면 지원되는 프로비저닝 연동을 구성하세요.
- 직접 관리가 필요한 사용자는 승인과 수명주기 책임을 정하고, 사용자·그룹 및 계정 할당을 정기적으로 검토하세요.
예시
실제 Identity Center 인스턴스와 사용자 원천을 준비하세요. 데이터 소스로 전환하는 것만으로 외부 IdP 동기화가 구성되지는 않습니다.
변경 전
hcl
resource "aws_identitystore_user" "example" {
identity_store_id = tolist(data.aws_ssoadmin_instances.example.identity_store_ids)[0]
display_name = "John Doe"
user_name = "johndoe"
name {
given_name = "John"
family_name = "Doe"
}
emails {
value = "john@example.com"
}
}
변경 후
hcl
data "aws_ssoadmin_instances" "example" {}
# 이 사용자는 외부 IdP에서 SCIM으로 미리 프로비저닝됩니다.
# Terraform은 사용자를 생성하지 않고 기존 사용자 정보를 조회합니다.
data "aws_identitystore_user" "example" {
identity_store_id = tolist(data.aws_ssoadmin_instances.example.identity_store_ids)[0]
alternate_identifier {
unique_attribute {
attribute_path = "UserName"
attribute_value = "john.doe@example.com"
}
}
}
설명:
- 변경 전: Terraform이 사용자를 관리합니다. 조직의 선택한 사용자 관리 방식과 일치하는지 확인하세요.
- 변경 후: 이미 프로비저닝된 사용자를 조회합니다. 기존 관리 리소스를 단순 삭제해 실제 사용자가 제거되지 않도록 전환 절차도 검토하세요.