자동 생성된 역할에 최소 권한 적용
자동 생성된 역할에 최소 권한 적용
서비스 콘솔에서 리소스를 만들 때 역할 관리자는 리소스가 필요한 IAM 역할을 제공합니다. 자체 코드 실행 같은 일부 작업의 경우 AWS는 사전에 어떤 권한이 필요한지 판단할 수 없습니다. 결과적으로 역할이 리소스에 필요한 것보다 더 많은 권한을 허용할 수 있어요. 리소스가 필요로 하는 권한을 알게 되면 역할의 권한을 그에 맞게 줄일 수 있습니다.
출처: 문서
본문
역할 관리자를 비활성화해도 역할 관리자가 이전에 만든 역할에는 영향을 주지 않습니다. 권한을 줄이지 않고 역할 관리자를 비활성화할 수 있고, 역할 관리자를 비활성화하지 않고 역할의 권한을 줄일 수도 있습니다.
최소 권한을 적용해야 하는 경우
역할에 리소스가 필요한 권한만 부여하는 것은 최소 권한 원칙에 부합하는 보안 모범 사례입니다. 대부분의 역할에서 역할 관리자는 잘 범위가 지정된 권한으로 역할을 만듭니다. 일부 역할(컴퓨팅 리소스나 클라우드 인프라 관리용 역할 등)의 경우 광범위한 권한으로 역할을 만듭니다.
역할 관리자가 만든 역할의 범위를 좁히기 시작할 준비가 되면 PII나 프로덕션 데이터를 처리하는 것처럼 가장 민감한 워크로드와 리소스와 연결된 역할부터 시작할 것을 권장합니다. 자세한 내용은 최소 권한 준비 문서를 참고하세요.
사용하지 않는 접근 분석 방법
역할 관리자를 비활성화하기 전에 AWS에서는 IAM Access Analyzer로 계정에 사용하지 않는 접근 분석기를 만들 것을 권장합니다. 분석기는 역할이 수행하도록 허용된 작업과 실제로 수행한 작업을 비교하고 사용하지 않는 권한을 보고합니다. 분석기는 직접 만든 역할을 포함해 계정의 IAM 역할을 검토합니다.
결과가 나타나는 위치는 분석기가 어떻게 제공되었는지에 따라 다릅니다.
- 역할 관리자가 제공한 분석기: AWS가 계정에 사용하지 않는 접근 분석기를 제공하면(이 섹션의 참고 참고) 결과는 IAM 콘솔의 역할(Roles) 페이지에 나타납니다. 각 역할에 대해 사용하지 않는 권한 수를 보고 권장 사항을 열 수 있습니다. 다음 절차를 사용해 역할(Roles) 페이지에서 역할의 권한을 줄입니다. 역할 관리자를 비활성화한 후 계정 설정(Account settings) 페이지의 역할 보기(View roles) 버튼이 역할(Roles) 페이지를 열고, 각 역할의 결과가 거기에 나타납니다.
- 직접 만든 분석기: 자체 사용하지 않는 접근 분석기를 만들면 결과와 권장 사항이 IAM Access Analyzer 콘솔에 나타납니다. 이 경험은 역할 관리자에 의해 변경되지 않습니다. 사용하지 않는 접근 결과를 검토하고 조치하려면 IAM Access Analyzer 결과 문서를 참고하세요.
참고 새 AWS 경험으로 만든 계정에 AWS가 역할 관리자를 활성화했다면 처음 역할 관리자를 비활성화할 때 분석기를 만들 필요가 없습니다. 고급 기능을 활성화하고 역할 관리자를 비활성화하면 AWS가 추가 비용 없이 90일 동안 사용하지 않는 접근 분석기를 제공합니다. 분석기는 사용하지 않는 역할 권한과 정책 범위 축소 권장 사항에 대한 가시성을 제공하므로, 역할 관리자가 만든 역할을 포함해 계정의 역할을 최소 권한 방향으로 업데이트할 수 있습니다.
사전 조건
Access Analyzer 결과를 검토하려면 access-analyzer:ListFindings 작업을 수행할 권한이 필요합니다. 권장 사항을 적용하려면 역할에 iam:CreatePolicy, iam:AttachRolePolicy, iam:DetachRolePolicy를 수행할 권한이 필요합니다.
콘솔에서 역할 권한 줄이기 (역할 관리자가 제공한 분석기)
이 단계는 AWS가 계정용 사용하지 않는 접근 분석기를 제공한 경우에 적용됩니다. 자체 분석기를 만들었다면 대신 IAM Access Analyzer 콘솔에서 권장 사항을 검토하고 적용하세요. IAM Access Analyzer 결과 문서를 참고하세요.
- AWS Management Console에 로그인하고 IAM 콘솔을 엽니다.
- 탐색 창에서 역할(Roles) 을 선택합니다.
- 역할(Roles) 페이지의 결과(Findings) 열에서 권한을 줄이려는 역할의 사용하지 않는 권한(Unused permissions) 링크를 선택합니다.
- 역할 권한 줄이기(Reduce role permissions) 페이지에서 역할에 대해 보고된 사용하지 않는 권한을 검토합니다.
- 권장 권한을 역할의 현재 권한과 비교하고, 권장 사항이 제거하는 작업을 검토합니다.
- 변경 수행(Make changes) 을 선택합니다.
권장 권한 작동 방식
사용하지 않는 접근 분석기 결과를 기반으로 IAM은 권장 권한이 포함된 하나 이상의 고객 관리형 정책을 만듭니다. IAM은 이전 정책을 분리하기 전에 새 정책을 먼저 연결하므로 변경 과정 내내 역할이 권한을 유지합니다.
예를 들어 AWS Lambda 실행 역할을 생각해 보겠습니다. IAM Access Analyzer가 역할의 어떤 권한이 사용되지 않는지 보고하고, 역할이 수행한 작업(예: Amazon CloudWatch Logs에 로그 쓰기)에 범위가 지정된 정책을 권장합니다. 함수가 수행하는 작업과 권장 사항을 대조해 검토하고, 함수에 필요한 모든 것을 다루는지 확인한 후 적용합니다. 그러면 역할이 함수에 필요한 작업만 허용하게 됩니다.
중요 권장 사항은 최근 30일의 활동을 기반으로 합니다. 분기별 작업처럼 더 긴 시간대 기준으로 리소스가 드물게 사용하는 권한은 사용하지 않는 것으로 나타날 수 있습니다. 적용하기 전에 워크로드가 필요로 하는 것과 권장 사항을 대조해 검토하세요.
역할의 정책이나 신뢰 정책을 변경한 후에는 역할 관리자가 더 이상 그 역할을 관리하지 않습니다. 역할은 원래 역할을 만들 때 사용된 역할 템플릿의 버전 변경을 추적하지 않습니다.
IAM은 역할에 연결할 수 있는 관리형 정책의 수를 제한합니다. 권장 사항을 적용하는 것이 그 한도를 초과하면 콘솔이 알려주고 변경을 적용하지 않습니다. 이 할당량에 대한 정보는 IAM 및 AWS STS 할당량 문서를 참고하세요.