관리형 정책과 인라인 정책 중 선택

관리형 정책과 인라인 정책 중 선택 (Choose between managed policies and inline policies)

관리형 정책과 인라인 정책 중 무엇을 쓸지 결정할 때 우리 사용 사례를 고려하세요. 대부분의 경우 관리형 정책을 인라인 정책 대신 사용하길 권장해요.

출처: 문서

본문

참고

관리형 정책과 인라인 정책을 함께 사용해 프린시펄 엔터티의 공통 권한과 고유 권한을 모두 정의할 수 있어요.

관리형 정책은 다음 기능을 제공해요.

  • 재사용성(Reusability) — 단일 관리형 정책을 여러 프린시펄 엔터티(사용자·그룹·역할)에 연결할 수 있어요. AWS 계정에 유용한 권한을 정의하는 정책 라이브러리를 만들고, 필요에 따라 이 정책들을 프린시펄 엔터티에 연결할 수 있어요.
  • 중앙 집중식 변경 관리(Central change management) — 관리형 정책을 변경하면 그 변경이 정책이 연결된 모든 프린시펄 엔터티에 적용돼요. 예를 들어 새 AWS API에 대한 권한을 추가하려면 고객 관리형 정책을 업데이트하거나 AWS 관리형 정책을 연결해 권한을 추가할 수 있어요. AWS 관리형 정책을 사용한다면 AWS가 정책을 업데이트해요. 관리형 정책이 업데이트되면 그 변경이 관리형 정책이 연결된 모든 프린시펄 엔터티에 적용돼요. 반면 인라인 정책을 변경하려면 인라인 정책을 포함하는 각 아이덴티티를 개별적으로 편집해야 해요. 예를 들어 그룹과 역할이 같은 인라인 정책을 모두 포함한다면, 그 정책을 변경하려면 두 프린시펄 엔터티를 개별적으로 편집해야 해요.
  • 버전 관리와 롤백(Versioning and rolling back) — 고객 관리형 정책을 변경하면 변경된 정책이 기존 정책을 덮어쓰지 않아요. 대신 IAM이 관리형 정책의 새 버전을 만들어요. IAM은 고객 관리형 정책의 버전을 최대 5개 저장해요. 필요에 따라 정책 버전으로 정책을 이전 버전으로 되돌릴 수 있어요.
    • 참고
      정책 버전(policy version)은 Version 정책 요소와 다르다는 점에 주의하세요. Version 정책 요소는 정책 안에서 사용되며 정책 언어의 버전을 정의해요. 정책 버전에 대해 더 알아보려면 IAM 정책 버전 관리를, Version 정책 요소에 대해 알아보려면 IAM JSON 정책 요소: Version을 참고하세요.
  • 권한 관리 위임(Delegating permissions management) — AWS 계정의 사용자들이 정책을 연결·분리하게 하면서도, 그 정책에 정의된 권한에 대한 제어는 유지할 수 있어요. 이렇게 하려면 일부 사용자를 전체 관리자로 지정해요 — 즉 정책을 만들고, 업데이트하고, 삭제할 수 있는 관리자예요. 그런 다음 다른 사용자를 제한된 관리자로 지정할 수 있어요. 그 제한된 관리자는 다른 프린시펄 엔터티에 정책을 연결할 수 있지만, 우리가 허용한 정책만 연결할 수 있어요.
    • 권한 관리 위임에 대한 자세한 내용은 정책에 대한 접근 제어를 참고하세요.
  • 더 큰 정책 문자 제한(Larger policy character limits) — 관리형 정책의 최대 문자 크기 제한은 그룹 인라인 정책의 문자 제한보다 커요. 인라인 정책의 문자 크기 제한에 도달하면, 더 많은 IAM 그룹을 만들어 관리형 정책을 그룹에 연결할 수 있어요.
    • 할당량과 제한에 대한 자세한 내용은 IAM과 AWS STS 할당량을 참고하세요.
  • AWS 관리형 정책의 자동 업데이트(Automatic updates for AWS managed policies) — AWS는 AWS 관리형 정책을 유지하고, 예를 들어 새 AWS 서비스에 권한을 추가하는 경우처럼 필요할 때 업데이트해요. 우리는 변경할 필요가 없어요. 업데이트는 AWS 관리형 정책을 연결한 프린시펄 엔터티에 자동으로 적용돼요.

관리형 정책으로 시작하기

**최소 권한(least privilege)**을 부여하는 정책, 즉 작업을 수행하는 데 필요한 권한만 부여하는 것을 권장해요. 최소 권한을 부여하는 가장 안전한 방법은 팀이 필요로 하는 권한만 가진 고객 관리형 정책을 작성하는 거예요. 팀이 필요할 때 더 많은 권한을 요청할 수 있는 프로세스를 만들어야 해요. 팀에 필요한 권한만 제공하는 IAM 고객 관리형 정책을 만드는 데는 시간과 전문성이 필요해요.

IAM 아이덴티티(사용자, 사용자 그룹, 역할)에 권한 추가를 시작하려면 AWS 관리형 정책을 사용할 수 있어요. AWS 관리형 정책은 최소 권한을 부여하지 않아요. 프린시펄이 직무에 필요한 것보다 더 많은 권한을 부여받는 보안 위험을 고려해야 해요.

직무 기능을 포함한 AWS 관리형 정책을 어떤 IAM 아이덴티티에도 연결할 수 있어요. 자세한 내용은 IAM 아이덴티티 권한 추가·제거를 참고하세요.

최소 권한 권한으로 전환하려면 AWS Identity and Access Management와 Access Analyzer를 실행해 AWS 관리형 정책을 가진 프린시펄을 모니터링할 수 있어요. 어떤 권한을 사용하는지 파악한 뒤, 팀에 필요한 권한만 가진 고객 관리형 정책을 작성하거나 생성할 수 있어요. 이는 덜 안전하지만, 팀이 AWS를 어떻게 사용하는지 학습하는 동안 더 많은 유연성을 제공해요. 자세한 내용은 IAM Access Analyzer 정책 생성을 참고하세요.

AWS 관리형 정책은 많은 일반적인 사용 사례에 권한을 제공하도록 설계됐어요. 특정 직무 기능을 위해 설계된 AWS 관리형 정책에 대한 자세한 내용은 직무 기능용 AWS 관리형 정책을 참고하세요.

AWS 관리형 정책 목록은 AWS 관리형 정책 참조 가이드를 참고하세요.

인라인 정책 사용

인라인 정책은 정책과 그 정책이 적용되는 아이덴티티 사이에 엄격한 일대일 관계를 유지하려는 경우 유용해요. 예를 들어 정책의 권한이 의도한 아이덴티티가 아닌 다른 아이덴티티에 실수로 할당되지 않도록 확실히 하고 싶을 때요. 인라인 정책을 사용하면 정책의 권한이 실수로 잘못된 아이덴티티에 연결될 수 없어요. 또한 AWS Management Console로 그 아이덴티티를 삭제하면 아이덴티티에 내장된 정책도 함께 삭제돼요 — 그것들이 프린시펄 엔터티의 일부이기 때문이에요.

더 알아보기 (Learn more)