AWS 계정의 마지막 접근 정보 검토하기
AWS 계정의 마지막 접근 정보 검토하기
IAM 콘솔, AWS CLI, 또는 AWS API를 사용해 IAM의 서비스 마지막 접근 정보를 볼 수 있어요. 데이터, 필요한 권한, 문제 해결, 지원 리전에 대한 중요한 정보는 마지막 접근 정보로 AWS에서 권한 다듬기를 참고하세요. 이번 글에서는 IAM에서 마지막 접근 정보를 검토하는 방법을 살펴볼게요.
출처: 문서
본문
IAM에서 다음 리소스 유형의 정보를 볼 수 있어요. 각 경우에 정보는 주어진 보고 기간의 허용된(allowed) 서비스를 포함해요.
- IAM 사용자 (IAM user) – 사용자가 각 허용 서비스에 접근을 시도한 마지막 시간을 봐요.
- IAM 그룹 (IAM group) – IAM 그룹 구성원이 각 허용 서비스에 접근을 시도한 마지막 시간에 대한 정보를 봐요. 이 보고서는 접근을 시도한 구성원 총 수를 포함해요.
- IAM 역할 (IAM role) – 누군가 역할을 사용해 각 허용 서비스에 접근을 시도한 마지막 시간을 봐요.
- 정책 (Policy) – 사용자나 역할이 각 허용 서비스에 접근을 시도한 마지막 시간에 대한 정보를 봐요. 이 보고서는 접근을 시도한 엔터티 총 수도 포함해요.
참고 – IAM에서 리소스의 접근 정보를 보기 전에 보고 기간, 보고된 엔터티, 평가된 정책 유형을 이해해야 해요. 자세한 내용은 마지막 접근 정보에 대해 알아야 할 사항을 참고하세요.
AWS 계정의 마지막 접근 정보 검토 (To review last accessed information for an AWS account)
콘솔 (Console)
- _AWS Sign-In 사용자 가이드_의 AWS 로그인 방법 항목에 설명된 사용자 유형에 맞는 로그인 절차를 따라요.
- IAM Console Home 페이지의 왼쪽 탐색 창에서 Search IAM 텍스트 상자에 검색어를 입력해요.
- 탐색 창에서 User groups, Users, Roles, 또는 Policies 중 하나를 선택해요.
- 사용자, 사용자 그룹, 역할, 또는 정책 이름을 선택해 Summary 페이지를 열고 Last Accessed 탭을 선택해요. 선택한 리소스에 따라 다음 정보를 봐요.
- 사용자 그룹 (User group) – 사용자 그룹 구성원이 접근할 수 있는 서비스 목록을 봐요. 구성원이 서비스에 마지막으로 접근한 시기, 사용한 사용자 그룹 정책, 요청한 사용자 그룹 구성원도 볼 수 있어요. 정책 이름을 선택하면 관리형 정책인지 인라인 사용자 그룹 정책인지 알 수 있어요. 사용자 그룹 구성원 이름을 선택하면 사용자 그룹의 모든 구성원과 그들이 서비스에 마지막으로 접근한 시기를 볼 수 있어요.
- 사용자 (User) – 사용자가 접근할 수 있는 서비스 목록을 봐요. 서비스에 마지막으로 접근한 시기와 현재 사용자와 연결된 정책도 볼 수 있어요. 정책 이름을 선택하면 관리형 정책, 인라인 사용자 정책, 또는 사용자 그룹용 인라인 정책인지 알 수 있어요.
- 역할 (Role) – 역할이 접근할 수 있는 서비스 목록, 역할이 서비스에 마지막으로 접근한 시기, 사용된 정책을 볼 수 있어요. 정책 이름을 선택하면 관리형 정책인지 인라인 역할 정책인지 알 수 있어요.
- 정책 (Policy) – 정책에 허용 액션이 있는 서비스 목록을 봐요. 정책이 서비스 접근에 마지막으로 사용된 시기와 정책을 사용한 엔터티(사용자 또는 역할)도 볼 수 있어요. Last accessed 날짜에는 다른 정책을 통해 이 정책에 접근이 부여된 시기도 포함돼요. 엔터티 이름을 선택하면 어떤 엔터티에 이 정책이 연결되어 있고 서비스에 언제 마지막으로 접근했는지 알 수 있어요.
- 표의 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가 해당 액션의 추적 정보를 현재 포함하지 않는 경우에 발생할 수 있어요. 추적 정보가 없다는 것만으로 권한 결정을 내리면 안 돼요. 대신 이 정보를 사용해 최소 권한을 부여하는 전체 전략을 알리고 지원하는 걸 권장해요. 접근 수준이 적절한지 정책을 확인하세요.
AWS CLI
AWS CLI로 AWS 계정의 IAM 리소스가 AWS 서비스와 Amazon S3, Amazon EC2, IAM, Lambda 액션에 접근을 마지막으로 시도한 시간에 대한 정보를 검색할 수 있어요. IAM 리소스는 사용자, 사용자 그룹, 역할, 또는 정책일 수 있어요.
- AWS 계정의 IAM 리소스에 대한 보고서를 생성해요. 요청에는 보고서를 원하는 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
- 이전 단계의
job-id매개변수를 사용해 보고서에 대한 세부 정보를 검색해요.
aws iam get-service-last-accessed-details
이 작업은 generate-service-last-accessed-details에서 요청한 리소스 유형과 세분성 수준에 따라 다음 정보를 반환해요.
- 사용자 (User) – 지정된 사용자가 접근할 수 있는 서비스 목록을 반환해요. 각 서비스에 대해 작업은 사용자의 마지막 접근 시도 날짜·시간과 사용자 ARN을 반환해요.
- 사용자 그룹 (User group) – 지정된 사용자 그룹의 구성원이 사용자 그룹에 연결된 정책을 사용해 접근할 수 있는 서비스 목록을 반환해요. 각 서비스에 대해 작업은 어떤 사용자 그룹 구성원이 한 마지막 접근 시도의 날짜·시간을 반환해요. 또한 해당 사용자의 ARN과 서비스 접근을 시도한 사용자 그룹 구성원 총 수도 반환해요. 모든 구성원 목록은 GetServiceLastAccessedDetailsWithEntities 작업으로 검색해요.
- 역할 (Role) – 지정된 역할이 접근할 수 있는 서비스 목록을 반환해요. 각 서비스에 대해 작업은 역할의 마지막 접근 시도 날짜·시간과 역할 ARN을 반환해요.
- 정책 (Policy) – 지정된 정책이 접근을 허용하는 서비스 목록을 반환해요. 각 서비스에 대해 작업은 엔터티(사용자 또는 역할)가 정책을 사용해 서비스에 접근을 마지막으로 시도한 날짜·시간을 반환해요. 또한 해당 엔터티의 ARN과 접근을 시도한 엔터티 총 수도 반환해요.
- 특정 서비스에 접근을 시도할 때 사용자 그룹 또는 정책 권한을 사용한 엔터티에 대해 더 알아보세요. 이 작업은 각 엔터티의 ARN, ID, 이름, 경로, 유형(사용자 또는 역할), 서비스에 마지막으로 접근을 시도한 시기를 포함하는 엔터티 목록을 반환해요. 이 작업은 사용자와 역할에도 사용할 수 있지만 해당 엔터티에 대한 정보만 반환해요.
aws iam get-service-last-accessed-details-with-entities
- 자격 증명(사용자, 사용자 그룹, 역할)이 특정 서비스에 접근을 시도할 때 사용한 자격 증명 기반 정책에 대해 더 알아보세요. 자격 증명과 서비스를 지정하면 이 작업은 자격 증명이 지정된 서비스에 접근하는 데 사용할 수 있는 권한 정책 목록을 반환해요. 이 작업은 정책의 현재 상태를 주며 생성된 보고서에 의존하지 않아요. 리소스 기반 정책, 접근 제어 목록, AWS Organizations 정책, IAM 권한 경계, 세션 정책 같은 다른 정책 유형은 반환하지 않아요. 자세한 내용은 정책 유형 또는 단일 계정 내 요청에 대한 정책 평가를 참고하세요.
aws iam list-policies-granting-service-access
API
AWS API로 IAM 리소스가 AWS 서비스와 Amazon S3, Amazon EC2, IAM, Lambda 액션에 접근을 마지막으로 시도한 시간에 대한 정보를 검색할 수 있어요. IAM 리소스는 사용자, 사용자 그룹, 역할, 또는 정책일 수 있어요. 보고서에서 생성할 세분성 수준을 지정해 서비스만 또는 서비스와 액션 모두에 대한 세부 정보를 볼 수 있어요.
- 보고서를 생성해요. 요청에는 보고서를 원하는 IAM 리소스(사용자, 사용자 그룹, 역할, 정책)의 ARN이 포함되어야 해요.
JobId를 반환하며, 이를GetServiceLastAccessedDetails와GetServiceLastAccessedDetailsWithEntities작업에서 사용해 작업이 완료될 때까지JobStatus를 모니터링할 수 있어요.
GenerateServiceLastAccessedDetails
- 이전 단계의
JobId매개변수를 사용해 보고서에 대한 세부 정보를 검색해요.
GetServiceLastAccessedDetails
이 작업은 GenerateServiceLastAccessedDetails에서 요청한 리소스 유형과 세분성 수준에 따라 다음 정보를 반환해요.
- 사용자 (User) – 지정된 사용자가 접근할 수 있는 서비스 목록을 반환해요. 각 서비스에 대해 작업은 사용자의 마지막 접근 시도 날짜·시간과 사용자 ARN을 반환해요.
- 사용자 그룹 (User group) – 지정된 사용자 그룹의 구성원이 사용자 그룹에 연결된 정책을 사용해 접근할 수 있는 서비스 목록을 반환해요. 각 서비스에 대해 작업은 어떤 사용자 그룹 구성원이 한 마지막 접근 시도의 날짜·시간을 반환해요. 또한 해당 사용자의 ARN과 서비스 접근을 시도한 사용자 그룹 구성원 총 수도 반환해요. 모든 구성원 목록은 GetServiceLastAccessedDetailsWithEntities 작업으로 검색해요.
- 역할 (Role) – 지정된 역할이 접근할 수 있는 서비스 목록을 반환해요. 각 서비스에 대해 작업은 역할의 마지막 접근 시도 날짜·시간과 역할 ARN을 반환해요.
- 정책 (Policy) – 지정된 정책이 접근을 허용하는 서비스 목록을 반환해요. 각 서비스에 대해 작업은 엔터티(사용자 또는 역할)가 정책을 사용해 서비스에 접근을 마지막으로 시도한 날짜·시간을 반환해요. 또한 해당 엔터티의 ARN과 접근을 시도한 엔터티 총 수도 반환해요.
- 특정 서비스에 접근을 시도할 때 사용자 그룹 또는 정책 권한을 사용한 엔터티에 대해 더 알아보세요. 이 작업은 각 엔터티의 ARN, ID, 이름, 경로, 유형(사용자 또는 역할), 서비스에 마지막으로 접근을 시도한 시기를 포함하는 엔터티 목록을 반환해요. 이 작업은 사용자와 역할에도 사용할 수 있지만 해당 엔터티에 대한 정보만 반환해요.
GetServiceLastAccessedDetailsWithEntities
- 자격 증명(사용자, 사용자 그룹, 역할)이 특정 서비스에 접근을 시도할 때 사용한 자격 증명 기반 정책에 대해 더 알아보세요. 자격 증명과 서비스를 지정하면 이 작업은 자격 증명이 지정된 서비스에 접근하는 데 사용할 수 있는 권한 정책 목록을 반환해요. 이 작업은 정책의 현재 상태를 주며 생성된 보고서에 의존하지 않아요. 리소스 기반 정책, 접근 제어 목록, AWS Organizations 정책, IAM 권한 경계, 세션 정책 같은 다른 정책 유형은 반환하지 않아요. 자세한 내용은 정책 유형 또는 단일 계정 내 요청에 대한 정책 평가를 참고하세요.
ListPoliciesGrantingServiceAccess