IAM 마지막 액세스 정보 보기

IAM 마지막 액세스 정보 보기

AWS Management Console, AWS CLI, AWS API를 사용해 IAM 마지막 액세스 정보를 볼 수 있어요. 마지막 액세스 정보가 표시되는 서비스와 작업 목록을 참고하세요. 마지막 액세스 정보에 대한 자세한 내용은 마지막 액세스 정보를 사용한 AWS 권한 정제를 참고하세요.

출처: 문서

본문

IAM에서 다음 리소스 유형에 대한 정보를 볼 수 있어요. 각 경우 정보는 주어진 보고 기간 동안 허용된 서비스를 포함해요.

  • 사용자 (User) — 사용자가 각 허용 서비스에 액세스하려 한 마지막 시기를 봅니다.
  • 사용자 그룹 (User group) — 사용자 그룹 멤버가 각 허용 서비스에 액세스하려 한 마지막 시기에 대한 정보를 봅니다. 이 보고서에는 액세스를 시도한 멤버의 총 수도 포함됩니다.
  • 역할 (Role) — 누군가 역할을 사용해 각 허용 서비스에 액세스하려 한 마지막 시기를 봅니다.
  • 정책 (Policy) — 사용자나 역할이 각 허용 서비스에 액세스하려 한 마지막 시기에 대한 정보를 봅니다. 이 보고서에는 액세스를 시도한 엔티티의 총 수도 포함됩니다.

참고

IAM에서 리소스의 액세스 정보를 보기 전에 보고 기간, 보고된 엔티티, 평가된 정책 유형을 이해하고 있어야 해요. 자세한 내용은 마지막 액세스 정보에 대해 알아야 할 사항을 참고하세요.

IAM 정보 보기 (콘솔)

IAM 콘솔의 Last Accessed 탭에서 IAM 마지막 액세스 정보를 볼 수 있어요.

IAM 정보 보기 (콘솔)

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 엽니다.
  2. 탐색 창에서 User groups, Users, Roles, 또는 Policies 중 하나를 선택합니다.
  3. 아무 사용자, 사용자 그룹, 역할, 정책 이름을 선택해 요약(Summary) 페이지를 열고 Last Accessed 탭을 선택합니다. 선택한 리소스에 따라 다음 정보를 봅니다.
    • 사용자 그룹 — 사용자 그룹 멤버가 액세스할 수 있는 서비스 목록을 봅니다. 멤버가 마지막으로 서비스에 액세스한 시기, 사용한 사용자 그룹 정책, 요청을 만든 사용자 그룹 멤버도 볼 수 있습니다. 정책 이름을 선택하면 관리형 정책인지 인라인 사용자 그룹 정책인지 알 수 있습니다. 사용자 그룹 멤버 이름을 선택하면 그룹의 모든 멤버와 그들이 마지막으로 서비스에 액세스한 시기를 볼 수 있습니다.
    • 사용자 — 사용자가 액세스할 수 있는 서비스 목록을 봅니다. 마지막으로 서비스에 액세스한 시기와 현재 사용자와 연결된 정책도 볼 수 있습니다. 정책 이름을 선택하면 관리형 정책, 인라인 사용자 정책, 사용자 그룹용 인라인 정책 중 무엇인지 알 수 있습니다.
    • 역할 — 역할이 액세스할 수 있는 서비스 목록, 역할이 마지막으로 서비스에 액세스한 시기, 사용된 정책을 봅니다. 정책 이름을 선택하면 관리형 정책인지 인라인 역할 정책인지 알 수 있습니다.
    • 정책 — 정책에서 허용된 작업이 있는 서비스 목록을 봅니다. 정책이 마지막으로 서비스 액세스에 사용된 시기와 정책을 사용한 엔티티(사용자나 역할)도 볼 수 있습니다. Last accessed 날짜에는 다른 정책을 통해 이 정책에 액세스가 부여된 시기도 포함됩니다. 엔티티 이름을 선택하면 이 정책이 연결된 엔티티와 그들이 마지막으로 서비스에 액세스한 시기를 알 수 있습니다.
  4. 표의 Service 열에서 작업 마지막 액세스 정보를 포함하는 서비스 중 하나의 이름을 선택하면 IAM 엔티티가 액세스를 시도한 관리 작업 목록을 볼 수 있습니다. AWS 리전과 누군가 마지막으로 작업 수행을 시도한 시각의 타임스탬프를 볼 수 있습니다.

Last accessed 열은 작업 마지막 액세스 정보를 포함하는 서비스와 그 서비스의 관리 작업에 표시됩니다. 이 열에서 반환되는 가능한 결과는 다음과 같아요. 결과는 서비스나 작업이 허용되었는지, 액세스되었는지, AWS가 마지막 액세스 정보로 추적하는지에 따라 달라져요.

  • number of days ago (며칠 전) — 추적 기간 안에서 서비스나 작업이 사용된 이후 경과한 일수입니다. 서비스의 추적 기간은 최근 400일입니다. Amazon S3 작업의 추적 기간은 2020년 4월 12일에, Amazon EC2, IAM, Lambda 작업은 2021년 4월 7일에, 다른 모든 서비스는 2023년 5월 23일에 시작했어요. 각 AWS 리전의 추적 시작 날짜는 AWS가 마지막 액세스 정보를 추적하는 위치를 참고하세요.
  • Not accessed in the tracking period (추적 기간 내 액세스 안 함) — 추적된 서비스나 작업이 추적 기간 동안 엔티티에 의해 사용되지 않았습니다.

목록에 나타나지 않는 작업에 대한 권한을 가질 수도 있어요. AWS가 현재 그 작업의 추적 정보를 포함하지 않기 때문일 수 있어요. 추적 정보가 없다는 것만으로 권한 결정을 내리면 안 돼요. 대신 이 정보를 사용해 최소 권한 부여라는 전반적인 전략을 뒷받침하고, 정책을 확인해 액세스 수준이 적절한지 확인하길 권장해요.

IAM 정보 보기 (AWS CLI)

AWS CLI로 IAM 리소스가 AWS 서비스와 Amazon S3, Amazon EC2, IAM, Lambda 작업에 액세스하려 한 마지막 시기에 대한 정보를 가져올 수 있어요. IAM 리소스는 사용자, 사용자 그룹, 역할, 정책일 수 있어요.

IAM 정보 보기 (AWS CLI)

  1. 보고서를 생성합니다. 요청에는 보고서를 원하는 IAM 리소스(사용자, 사용자 그룹, 역할, 정책)의 ARN이 포함되어야 합니다. 서비스만 볼지 서비스와 작업 둘 다 볼지 보고서에 생성할 세분화 수준을 지정할 수 있습니다. 요청은 job-id를 반환하며, 이를 get-service-last-accessed-details와 get-service-last-accessed-details-with-entities 작업에서 job-status를 모니터링해 작업 완료를 확인할 수 있습니다.
    • aws iam generate-service-last-accessed-details
  2. 이전 단계의 job-id 파라미터로 보고서 세부 정보를 가져옵니다.
    • aws iam get-service-last-accessed-details
    • 이 작업은 generate-service-last-accessed-details 작업에서 요청한 리소스 유형과 세분화 수준에 따라 다음 정보를 반환합니다.
      • 사용자 — 지정된 사용자가 액세스할 수 있는 서비스 목록. 각 서비스에 대해 마지막 시도의 날짜·시간과 사용자의 ARN을 반환합니다.
      • 사용자 그룹 — 지정된 사용자 그룹의 멤버가 그룹에 연결된 정책을 사용해 액세스할 수 있는 서비스 목록. 각 서비스에 대해 아무 사용자 그룹 멤버가 마지막으로 시도한 날짜·시간을 반환합니다. 그 사용자의 ARN과 서비스 액세스를 시도한 사용자 그룹 멤버의 총 수도 반환합니다. 전체 멤버 목록을 가져오려면 GetServiceLastAccessedDetailsWithEntities 작업을 사용합니다.
      • 역할 — 지정된 역할이 액세스할 수 있는 서비스 목록. 각 서비스에 대해 역할의 마지막 시도 날짜·시간과 역할의 ARN을 반환합니다.
      • 정책 — 지정된 정책이 액세스를 허용하는 서비스 목록. 각 서비스에 대해 엔티티(사용자나 역할)가 정책을 사용해 서비스 액세스를 마지막으로 시도한 날짜·시간을 반환합니다. 그 엔티티의 ARN과 액세스를 시도한 엔티티의 총 수도 반환합니다.
  3. 특정 서비스에 액세스하려 할 때 사용자 그룹이나 정책 권한을 사용한 엔티티에 대해 자세히 알아봅니다. 이 작업은 각 엔티티의 ARN, ID, 이름, 경로, 유형(사용자나 역할), 마지막 액세스 시도를 담은 엔티티 목록을 반환합니다. 사용자와 역할에도 사용할 수 있지만 그 엔티티에 대한 정보만 반환합니다.
    • aws iam get-service-last-accessed-details-with-entities
  4. 아이덴티티(사용자, 사용자 그룹, 역할)가 특정 서비스에 액세스하려 할 때 사용한 아이덴티티 기반 정책에 대해 자세히 알아봅니다. 아이덴티티와 서비스를 지정하면 이 작업은 아이덴티티가 지정된 서비스에 액세스할 수 있게 하는 권한 정책 목록을 반환합니다. 이 작업은 정책의 현재 상태를 제공하며 생성된 보고서에 의존하지 않습니다. 리소스 기반 정책, 액세스 제어 목록, AWS Organizations 정책, IAM 권한 경계, 세션 정책 같은 다른 정책 유형은 반환하지 않습니다.
    • aws iam list-policies-granting-service-access

IAM 정보 보기 (AWS API)

AWS API로 IAM 리소스가 AWS 서비스와 Amazon S3, Amazon EC2, IAM, Lambda 작업에 액세스하려 한 마지막 시기에 대한 정보를 가져올 수 있어요. 서비스만 볼지 서비스와 작업 둘 다 볼지 보고서에 생성할 세분화 수준을 지정할 수 있어요.

IAM 정보 보기 (AWS API)

  1. 보고서 생성. 요청에는 보고서를 원하는 IAM 리소스(사용자, 사용자 그룹, 역할, 정책)의 ARN이 포함되어야 합니다. JobId를 반환하며, 이를 GetServiceLastAccessedDetails와 GetServiceLastAccessedDetailsWithEntities 작업에서 JobStatus를 모니터링해 작업 완료를 확인할 수 있습니다.
    • GenerateServiceLastAccessedDetails
  2. 이전 단계의 JobId 파라미터로 보고서 세부 정보를 가져옵니다.
    • GetServiceLastAccessedDetails
    • GenerateServiceLastAccessedDetails에서 요청한 리소스 유형과 세분화 수준에 따라 다음 정보를 반환합니다.
      • 사용자 — 지정된 사용자가 액세스할 수 있는 서비스 목록과 각 서비스의 마지막 시도 날짜·시간 및 사용자 ARN.
      • 사용자 그룹 — 그룹에 연결된 정책을 사용해 멤버가 액세스할 수 있는 서비스 목록과 아무 멤버의 마지막 시도 날짜·시간, 그 사용자 ARN, 시도한 멤버 총수. 전체 멤버 목록은 GetServiceLastAccessedDetailsWithEntities로 가져옵니다.
      • 역할 — 역할이 액세스할 수 있는 서비스 목록과 각 서비스의 마지막 시도 날짜·시간 및 역할 ARN.
      • 정책 — 정책이 액세스를 허용하는 서비스 목록과 엔티티가 정책을 사용한 마지막 시도 날짜·시간, 그 엔티티 ARN, 시도한 엔티티 총수.
  3. 특정 서비스에 액세스하려 할 때 사용자 그룹이나 정책 권한을 사용한 엔티티에 대해 자세히 알아봅니다. 각 엔티티의 ARN, ID, 이름, 경로, 유형(사용자나 역할), 마지막 액세스 시도를 담은 목록을 반환합니다.
    • GetServiceLastAccessedDetailsWithEntities
  4. 아이덴티티가 특정 서비스에 액세스하려 할 때 사용한 아이덴티티 기반 정책에 대해 자세히 알아봅니다. 현재 상태의 정책 목록을 반환하며 생성된 보고서에 의존하지 않고, 다른 정책 유형은 반환하지 않습니다.
    • ListPoliciesGrantingServiceAccess

더 알아보기 (Learn more)