IAM 사용자 관리 - AWS Identity and Access Management

IAM 사용자 관리

참고

가장 좋은 방법은 인간 사용자가 ID 제공업체와의 페더레이션을 사용하여 임시 보안 인증으로 AWS에 액세스하도록 하는 것입니다. 이 방법을 따르는 경우 사용자가 IAM 사용자 및 그룹을 관리하지 않습니다. 대신 사용자와 그룹은 AWS 외부에서 관리되며 페더레이션형 ID로 AWS 리소스에 액세스할 수 있습니다. AWS 페더레이션형 ID는 엔터프라이즈 사용자 디렉터리, 웹 ID 제공업체, Directory Service, Identity Center 디렉터리의 사용자 또는 ID 소스를 통해 제공된 보안 인증을 사용하여 AWS 서비스에 액세스하는 모든 사용자입니다. 페더레이션형 ID는 ID 제공업체에서 정의한 그룹을 사용합니다. AWS IAM Identity Center를 사용하는 경우 IAM Identity Center에서 사용자 및 그룹 생성에 대한 자세한 내용은 AWS IAM Identity Center User Guide( 사용 설명서)의 Manage identities in IAM Identity Center(IAM Identity Center에서 ID 관리)를 참조하세요.

Amazon Web Services는 AWS 계정에 속한 IAM 사용자를 관리할 수 있는 다양한 도구를 제공합니다. 계정 또는 사용자 그룹에 속한 IAM 사용자를 나열하거나 사용자가 속한 모든 사용자 그룹을 나열할 수 있습니다. IAM 사용자의 이름을 변경하거나 경로를 변경할 수 있습니다. IAM 사용자 대신 페더레이션형 ID를 사용하도록 전환하는 경우 AWS 계정에서 IAM 사용자를 삭제하거나 사용자를 비활성화할 수 있습니다.

IAM 사용자의 관리형 정책을 추가, 변경 또는 제거하는 방법에 대한 자세한 내용은 IAM 사용자의 권한 변경 섹션을 참조하세요. IAM 사용자의 인라인 정책을 관리하는 방법에 대한 자세한 내용은 IAM 자격 증명 권한 추가 및 제거, IAM 정책 편집, IAM 정책 삭제 섹션을 참조하세요. 가장 좋은 방법은 인라인 정책 대신 관리형 정책을 사용하는 것입니다. AWS 관리형 정책은 많은 일반 사용 사례에 대한 권한을 부여합니다. AWS 관리형 정책은 모든 AWS 고객이 사용할 수 있기 때문에 특정 사용 사례에 대해 최소 권한을 부여하지 않을 수 있습니다. 따라서 사용 사례에 고유한 고객 관리형 정책을 정의하여 권한을 줄이는 것이 좋습니다. 자세한 내용은 AWS 관리형 정책 섹션을 참조하세요. 특정 작업 기능을 위해 설계된 AWS 관리형 정책에 대한 자세한 내용은 직무에 관한 AWS 관리형 정책 섹션을 참조하세요.

IAM 정책 검증에 대한 자세한 내용은 IAM 정책 검증 섹션을 참조하세요.

작은 정보

IAM Access Analyzer는 IAM 역할이 사용하는 서비스와 작업을 분석한 다음 사용할 수 있는 세분화된 정책을 생성할 수 있습니다. 생성된 각 정책을 테스트한 후 프로덕션 환경에 해당 정책을 배포할 수 있습니다. 이렇게 하면 워크로드에 필요한 권한만 부여할 수 있습니다. 정책 생성에 대한 자세한 내용은 IAM Access Analyzer 정책 생성을 참조하세요.

IAM 사용자 암호 관리에 대한 자세한 내용은 IAM 사용자 암호 관리 섹션을 참조하세요.

사용자 액세스 보기

사용자를 삭제하기 전에 최근 서비스 수준 활동을 검토해야 합니다. 이 기능은 사용 중인 보안 주체(사람 또는 애플리케이션)의 액세스 권한을 제거하지 않으려는 경우 중요합니다. 마지막으로 액세스한 정보 보기에 대한 자세한 내용은 마지막으로 액세스한 정보를 사용하여 AWS에서의 권한 재정의 섹션을 참조하세요.

IAM 사용자 나열

AWS 계정 또는 특정 IAM 사용자 그룹에 속한 IAM 사용자, 그리고 사용자가 속한 모든 사용자 그룹을 표시할 수 있습니다. 사용자 표시에 필요한 권한에 대한 자세한 내용은 IAM 리소스에 액세스하는 데 필요한 권한 섹션을 참조하세요.

계정에 속한 모든 사용자를 표시하려면

특정 사용자 그룹에 속한 사용자를 표시하려면

사용자가 속한 모든 사용자 그룹을 표시하려면

IAM 사용자 이름 바꾸기

사용자의 이름 또는 경로를 변경하려면 AWS CLI, Tools for Windows PowerShell 또는 AWS API를 사용해야 합니다. 콘솔에서는 사용자의 이름을 변경할 수 있는 옵션이 없습니다. 사용자의 이름을 변경하기 위해 필요한 권한에 대한 자세한 내용은 IAM 리소스에 액세스하는 데 필요한 권한 섹션을 참조하세요.

사용자의 이름 또는 경로를 변경하면 다음과 같이 진행됩니다.

  • 사용자에 연결된 정책은 이름이 변경되어도 계속 유지됩니다.

  • 사용자는 전과 동일한 사용자 그룹에 새 이름으로 표시됩니다.

  • 사용자의 고유 ID는 전과 같습니다. 고유 ID에 대한 자세한 내용은 고유 식별자 섹션을 참조하세요.

  • 사용자를 보안 주체로 참조(해당 사용자에게 액세스가 부여됨)하는 리소스 또는 역할 정책은 새 이름 또는 경로를 사용하도록 자동 업데이트됩니다. 예를 들어 Amazon SQS의 대기열 기반 정책 또는 Amazon S3의 리소스 기반 정책은 자동 업데이트되어 새 이름과 경로를 사용합니다.

사용자를 리소스로 참조하는 정책은 새 이름 또는 경로를 사용하도록 IAM에서 자동 업데이트하지 않으므로 수동으로 업데이트해야 합니다. 예를 들어 사용자 Richard에게 자신의 보안 자격 증명을 관리하는 정책이 연결되어 있을 경우 관리자가 Richard에서 Rich로 이름을 변경하면 다음과 같이 리소스가 변경되도록 관리자가 정책도 업데이트해야 합니다.

arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/Richard

다음으로 업데이트:

arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/Rich

마찬가지로 경로를 변경할 경우에도 관리자가 사용자에 대한 새 경로를 반영하도록 정책을 업데이트해야 합니다.

사용자의 이름을 바꾸려면

IAM 사용자 삭제

사용자가 회사를 그만두면 AWS 계정에서 해당 IAM 사용자를 삭제할 수 있습니다. 사용자가 잠시 회사를 떠난 경우 IAM 사용자 비활성화에 설명된 대로 계정에서 사용자를 삭제하는 대신 사용자의 액세스를 비활성화할 수 있습니다.

IAM 사용자 삭제(콘솔)

AWS Management Console을 사용하여 IAM 사용자를 삭제하면 IAM에서 자동으로 다음 정보를 삭제합니다.

  • 해당 사용자

  • 모든 사용자 그룹 멤버십(사용자가 멤버였던 모든 IAM 사용자 그룹에서 사용자가 제거됨)

  • 사용자와 연결된 모든 암호

  • 사용자에게 속한 모든 액세스 키

  • 사용자에게 포함된 모든 인라인 정책(사용자 그룹 권한을 통해 사용자에게 적용되는 정책은 영향을 받지 않음)

    참고

    사용자를 삭제할 때 IAM은 사용자에 연결된 관리형 정책을 제거하지만 관리형 정책을 삭제하지는 않습니다.

  • 연결된 모든 MFA 디바이스

IAM 사용자를 삭제하려면(콘솔)
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 사용자(Users)를 선택한 후 삭제할 사용자 이름 옆에 있는 확인란을 선택합니다.

  3. 페이지 상단에서 삭제(Delete)를 선택합니다.

  4. 확인 대화 상자에서 텍스트 입력 필드에 사용자 이름을 입력하여 사용자 삭제를 확인합니다. 삭제(Delete)를 선택합니다.

IAM 사용자 삭제(AWS CLI)

AWS Management Console과 달리 AWS CLI로 사용자를 삭제할 때는 사용자에게 연결된 항목들을 수동으로 삭제해야 합니다. 다음 절차는 그 과정을 보여줍니다.

계정에서 사용자를 삭제하려면(AWS CLI)
  1. 해당 사용자의 암호가 있으면 삭제합니다.

    aws iam delete-login-profile

  2. 해당 사용자의 액세스 키가 있으면 삭제합니다.

    aws iam list-access-keys(사용자의 액세스 키 나열) 및 aws iam delete-access-key

  3. 사용자 서명 인증서를 삭제합니다. 보안 자격 증명을 삭제하면 영원히 지워져 검색할 수 없습니다.

    aws iam list-signing-certificates(사용자의 서명 인증서 나열) 및 aws iam delete-signing-certificate

  4. 해당 사용자의 SSH 퍼블릭 키가 있으면 삭제합니다.

    aws iam list-ssh-public-keys(사용자의 SSH 퍼블릭 키 나열) 및 aws iam delete-ssh-public-key

  5. 사용자의 Git 자격 증명을 삭제합니다.

    aws iam list-service-specific-credentials(사용자의 Git 자격 증명 나열) 및 aws iam delete-service-specific-credential

  6. 해당 사용자의 Multi-Factor Authentication(MFA) 디바이스가 있으면 비활성화합니다.

    aws iam list-mfa-devices(사용자의 MFA 디바이스 나열), aws iam deactivate-mfa-device(디바이스 비활성화) 및 aws iam delete-virtual-mfa-device(가상 MFA 디바이스를 영구 삭제)

  7. 사용자의 인라인 정책을 삭제합니다.

    aws iam list-user-policies(사용자에 대한 인라인 정책 나열) 및 aws iam delete-user-policy(정책 삭제)

  8. 사용자에 연결된 관리형 정책을 모두 분리합니다.

    aws iam list-attached-user-policies(사용자에게 연결된 관리형 정책 나열) 및 aws iam detach-user-policy(정책 분리)

  9. 모든 사용자 그룹에서 사용자를 제거합니다.

    aws iam list-groups-for-user(사용자가 속한 사용자 그룹 나열) 및 aws iam remove-user-from-group

  10. 사용자를 삭제합니다.

    aws iam delete-user

IAM 사용자 비활성화

IAM 사용자가 잠시 회사를 떠나 있는 동안 IAM 사용자를 비활성화해야 할 수 있습니다. IAM 사용자 자격 증명을 그대로 두고 AWS 액세스를 계속 차단할 수 있습니다.

사용자를 비활성화하려면 AWS에 대한 사용자 액세스를 거부하는 정책을 생성하고 연결합니다. 나중에 사용자의 액세스 권한을 복원할 수 있습니다.

다음은 액세스를 거부하기 위해 사용자에게 연결할 수 있는 거부 정책의 두 가지 예입니다.

다음 정책에는 시간 제한이 포함되지 않습니다. 사용자의 액세스 권한을 복원하려면 정책을 제거해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*" } ] }

다음 정책에는 2024년 12월 24일 오후 11:59(UTC)에 시작하여 2025년 2월 28일 오후 11:59(UTC)에 종료하는 조건이 포함되어 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "DateGreaterThan": {"aws:CurrentTime": "2024-12-24T23:59:59Z"}, "DateLessThan": {"aws:CurrentTime": "2025-02-28T23:59:59Z"} } } ] }