본문 바로가기

자격증/AWS Certified Security - Specialty

[AWS SCS] ABAC

728x90
반응형

ABAC(속성 기반 접근 제어)란?

ABAC(Attribute-Based Access Control)는 AWS에서 사용되는 접근 제어 방식 중 하나로, 속성 기반으로 권한을 관리하는 방식입니다. 이 방식은 많은 사용자와 리소스를 관리하는 데 매우 유용하며, AWS 리소스에 대한 접근을 효율적으로 관리할 수 있는 방법을 제공합니다. 특히, 빠르게 성장하는 환경에서 리소스를 추가하고 태그를 설정함으로써 기존 IAM 정책을 수정할 필요 없이 접근을 관리할 수 있는 장점이 있습니다.

ABAC의 기본 개념

ABAC는 사용자 속성에 기반해 리소스에 대한 접근 권한을 설정하는 방식입니다. 사용자는 특정 부서, 직무, 팀 등과 같은 속성을 가질 수 있으며, 리소스에도 이러한 속성에 맞는 태그를 붙일 수 있습니다. 이를 통해, 특정 태그를 가진 사용자만 특정 리소스에 접근할 수 있도록 설정할 수 있습니다.

ABAC의 작동 원리:

  1. 사용자 태그리소스 태그를 기반으로 IAM 정책을 작성합니다.
  2. IAM 정책에서 조건을 설정하여, 태그가 일치하는 경우에만 접근을 허용합니다.
  3. 이렇게 하면 리소스를 새로 추가하고 태그를 설정하는 것만으로 권한을 자동으로 부여할 수 있어, IAM 정책을 따로 수정할 필요가 없습니다.

ABAC 사용 예시

1. EC2 인스턴스와 태그를 이용한 접근 제어

예를 들어, EC2 인스턴스에 owner와 Access Project라는 태그를 추가하고, 이 인스턴스를 사용할 수 있는 사용자에게도 동일한 Access Project 태그를 추가할 수 있습니다. 이 경우, 사용자가 EC2 인스턴스에 접근하려면 해당 태그가 일치해야 하므로, 태그를 기반으로 세밀한 접근 제어가 가능합니다.

2. 사용자 A, B, C의 리소스 접근 제어

리소스에 빨간색, 초록색, 파란색 태그를 붙이고, 사용자 A, B, C에게 각각 빨간색, 초록색, 파란색 태그를 부여합니다. 이렇게 하면, 각 사용자는 자신에게 맞는 리소스만 접근할 수 있게 되어, 권한 관리가 쉬워집니다.

ABAC vs RBAC

ABAC와 RBAC(역할 기반 접근 제어)는 접근 제어 방식에서 큰 차이가 있습니다.

RBAC(역할 기반 접근 제어):

  • 직무별 역할에 따라 권한을 부여합니다.
  • 관리자는 관리자, DB 관리자는 DB 관리자, DevOps는 DevOps 역할을 수행하는 식으로 권한을 나눕니다.
  • 새로운 리소스를 추가할 때마다 정책을 수정해야 하므로 관리가 번거로울 수 있습니다.

ABAC(속성 기반 접근 제어):

  • 속성(예: 부서, 직무, 프로젝트 등)에 따라 권한을 부여합니다.
  • 리소스를 추가하고 태그를 적절히 설정하면 IAM 정책을 수정하지 않고도 권한을 자동으로 부여할 수 있습니다.
  • 기업 디렉터리(SAML 2.0 IDP, Web IDP 등)에서 직접 사용자 속성을 가져와 사용할 수 있습니다.

ABAC의 장점

  1. 확장성: 리소스와 사용자를 빠르게 추가하고, 태그만으로 권한을 부여할 수 있어 관리가 용이합니다.
  2. 유연성: 사용자 속성에 따라 권한을 세밀하게 설정할 수 있어 더 정교한 접근 제어가 가능합니다.
  3. 자동화: 태그를 기반으로 권한을 자동으로 부여하기 때문에, 수동으로 정책을 수정할 필요가 없습니다.

결론

ABAC는 빠르게 변화하는 환경에서 유연하고 효율적인 접근 제어를 제공하는 강력한 방법입니다. 특히 리소스가 증가하고 사용자 속성이 다양해지는 환경에서 ABAC를 활용하면, 기존 IAM 정책을 수정하지 않고도 태그를 통해 간편하게 권한을 관리할 수 있습니다. 이로 인해 권한 관리의 복잡성을 크게 줄일 수 있으며, AWS 리소스를 더 안전하고 효율적으로 운영할 수 있습니다.

728x90
반응형