효과적인 IAM 정책 작성 방법

IAM 정책은 클라우드 스토리지 내 객체와 연결된 권한을 정의합니다. 효과적인 정책 작성 방법을 이해하면 데이터 보호 기능을 강화할 수 있습니다.

목차:

효과적인 IAM 정책 작성 방법

ID 및 액세스 관리(IAM) 개념은 보안과 관련하여 AWS 서비스에서 일반적으로 사용되므로 자세히 알아두는 것이 좋습니다. IAM을 처음 접하는 사용자는 다양한 요소로 구성되어 있어 상당히 복잡하다고 느낄 수 있습니다. 이 문서의 목적은 IAM과 구성 요소를 자세히 살펴보고 효과적인 IAM 정책을 작성하는 것입니다.  

중요한 점은 IAM이 AWS에서 제공하는 다른 서비스처럼 그저 하나의 서비스에 불과하지 않다는 사실입니다. 안전한 방식으로 다른 서비스를 합치는 역할을 합니다.   

IAM 정책이란?

AWS IAM은 S3 리소스에 관한 사용자의 액세스 권한을 안전하게 관리할 수 있도록 지원하는 웹 서비스입니다. IAM을 사용하여 AWS 리소스에 액세스할 수 있는 사용자(인증), 사용자가 액세스할 수 있는 리소스, 리소스에 액세스할 수 있는 방법(승인)을 관리할 수 있습니다.  

IAM이 리소스를 안전하게 보호하는 방법

규칙을 설정하고 규칙을 IAM ID(사용자, 사용자 그룹 또는 역할)와 연결함으로써 리소스에 대한 액세스를 제어합니다. 정책은 ID 또는 리소스와 연결된 권한을 지정하는 객체입니다. 더 큰 스토리지 시스템에서는 IAM 주체(사용자 또는 역할)가 요청을 제출할 때 효과적으로 구현하기 위해 이러한 규칙을 검사합니다. 정책에 정의된 권한에 따라 요청이 승인 또는 거부됩니다. 대부분의 정책은 JSON 파일로 되어 있습니다.  

IAM 규칙은 작업 수행 방식과 관계없이 동작에 승인을 부여합니다. 정책이 GetUser 동작을 승인하면 이러한 정책을 지닌 사용자는 AWS 관리 콘솔, AWS CLI 또는 AWS API를 통해 사용자 정보를 받을 수 있습니다. IAM 사용자를 만들 때 콘솔 또는 프로그램 방식 액세스를 허용할지 지정해야 합니다. 콘솔 액세스를 허용한 경우 IAM 사용자는 사용자 이름과 비밀번호를 사용하여 로그인할 수 있습니다. 프로그램 방식 액세스를 허용한 경우에는 사용자가 액세스 키를 사용하여 CLI 또는 API 관련 작업을 할 수 있습니다.  

IAM 정책이 Seagate Lyve Cloud 스토리지를 최적화하는 방법

Lyve Cloud는 S3 객체 스토리지의 무료 요소 역할을 합니다. Seagate Lyve Cloud는 장기 콜드 스토리지의 보안과 사용 편의성을 강화하고 추가 서비스와 함께 사용할 경우 백업과 복구 보호 기능을 강화합니다. IAM 정책을 사용하여 개인, 공개, 하이브리드, 멀티 클라우드 환경 전반의 Lyve Cloud 내에 저장된 개별 객체의 보안 조치와 권한을 맞춤설정할 수 있습니다.   

IAM 정책 유형

다음은 AWS에서 사용 가능한 정책으로 가장 많이 사용되는 정책에서 가장 적게 사용되는 정책 순으로 정리되어 있습니다. 각 정책 카테고리에 관한 자세한 내용은 아래 섹션을 참고하세요.  

ID 기반 정책

IAM ID를 제어 대상 인라인 정책(사용자, 사용자 그룹 또는 역할)과 연결할 수 있습니다. 권한은 ID 기반 정책을 통해 ID에 부여됩니다.  

리소스 기반 정책

리소스를 인라인 정책에 연결할 수 있습니다. 가장 많이 사용되는 리소스 기반 정책은 S3 버킷과 IAM 역할과 연결된 정책입니다. 권한은 리소스 기반 정책을 통해 정책에 정의된 주체에 부여됩니다. 주체는 동일하거나 다른 계정에 리소스로 존재할 수 있습니다.  

권한 경계

관리되는 정책을 사용하여 IAM 항목(사용자 또는 역할)의 권한을 정의할 수 있습니다. 이 정책은 ID 기반 정책에서 항목에 제공할 수 있으나 발행하지 않는 최대 권한을 설정합니다. 권한 경계는 리소스 기반 정책이 객체를 발행할 수 있는 권한의 최대 수를 지정하지 않습니다.  

조직 SCP

AWS 조직 서비스 제어 정책(SCP)을 활용하여 조직 또는 조직 부서 계정 구성원이 보유할 수 있는 최대 권한을 설정할 수 있습니다. SCP는 ID 기반 또는 리소스 기반 규칙이 계정 항목(사용자 또는 역할)에 제공하지만 부여하지는 않는 권한을 제한합니다.  

액세스 제어 목록(ACL)

ACL을 사용하여 다른 계정 내 주체의 리소스에 대한 액세스를 제한할 수 있습니다. ACL은 리소스 기반 정책과 유사하나 정책 문서에 JSON 구조를 사용하지 않는 유일한 형태의 정책입니다. ACL은 여러 계정에 퍼져 있으며 특정 주체에게 권한을 제공하는 권한 규칙입니다. ACL은 동일한 계정의 구성원인 항목에게 권한을 부여하기 위해 사용할 수 없습니다.  

세션 정책

역할 또는 연합 사용자를 추정하기 위해 AWS CLI 또는 AWS API를 사용하는 경우 고급 세션 규칙을 전달할 수 있습니다. 세션 규칙은 다른 역할 또는 사용자의 ID 기반 규칙에 의해 세션에 부여된 권한을 제한합니다. 이러한 정책은 새롭게 설립된 세션과 연결된 권한을 정의하며 부여하지는 않습니다.   

IAM 정책 구조 내 중요 요소

IAM 사용자

AWS IAM 사용자는 AWS와 상호작용하는 사람 또는 애플리케이션을 대표하기 위해 만든 항목입니다. AWS 사용자는 이름과 자격 증명으로 이루어져 있습니다.   

관리자 권한을 갖는 IAM 사용자는 AWS 계정 root 사용자와 동일하지 않습니다. AWS 계정은 하나의 IAM 사용자와만 연결될 수 있습니다.  

IAM ID

IAM 리소스를 식별하고 그룹화하기 위해 사용되는 리소스 객체입니다. IAM ID에 정책을 첨부할 수 있습니다. 여기에는 사용자, 그룹, 역할이 포함됩니다.  

IAM 리소스

사용자, 그룹, 역할, 정책, ID 공급업체와 같은 객체를 포함합니다. IAM은 항상 다른 AWS 서비스와 같은 리소스를 추가, 수정, 삭제하도록 허용합니다.  

IAM 항목

AWS는 승인을 위해 IAM 리소스 객체를 사용합니다. 이러한 객체 중에 IAM 사용자와 역할이 있습니다. 

주체

AWS에 로그인하기 위해 AWS 계정의 root 사용자, IAM 사용자 또는 IAM 역할을 사용하는 애플리케이션 또는 사용자입니다. 여기에는 추정된 역할 뿐 아니라 연합 사용자가 포함됩니다.  

역할

AWS에서 역할은 권한 정책에 따라 자격 증명이 수행할 수 있는 작업을 결정하는 자격 증명 객체이므로 사용자와 유사합니다. 그러나 역할은 자격 증명(암호 또는 액세스 키)과 연결되지 않습니다. 개별 역할은 한 개인과 연결되기보다는 필요로 하는 사람에 의해 추정되도록 되어 있습니다.   

효과적인 IAM 정책 작성 방법

AWS 관리 콘솔에서 다음 기술 중 하나를 사용하여 고객 관리 정책을 작성할 수 있습니다.  

  • JSON: 이미 게시된 예시 ID 기반 정책을 붙여 넣고 수정합니다.  
  • 표시 에디터:  표시 에디터를 사용하여 처음부터 새 정책을 만듭니다. 표시 에디터를 사용하는 경우 JSON 구문을 배우지 않아도 됩니다.  
  • 가져오기: 계정 내에서 관리 정책을 가져와 수정합니다. 이전에 만든 AWS 관리 정책 또는 고객 관리 정책을 가져올 수 있습니다.  

AWS 계정에는 IAM 리소스 수와 양 관련 제한이 있습니다. 자세한 내용은 IAM 및 AWS STS 할당량을 참고하세요.  

IAM 정책 생성기: 이 프로세스를 자동화할 수 있습니까?

AWS 정책 생성기는 AWS 제품 및 리소스에 대한 액세스를 관리하는 규칙을 만들기 위한 도구입니다. 

새롭게 출시된 AWS 정책 생성기는 객체 스토리지 목적의 정책 문서 작성 프로세스를 간소화합니다. 먼저 작성하려는 정책 유형을 선택합니다.  

1단계: 정책 유형 선택

권한은 정책 내에 포함됩니다. 다음과 같은 종류의 정책을 구성할 수 있습니다. IAM 정책, S3 버킷 정책, SNS 항목 정책, VPC 엔드포인트 정책 및 SQS 큐 정책.  

2단계: 문 추가

선언은 단일 권한에 대한 간략한 개요입니다. 선언에 사용할 수 있는 다음 항목 설명을 확인하세요.  

3단계: 정책 만들기

선언을 추가한 후 정책을 생성할 수 있습니다. 정책은 하나 이상의 선언을 포함하는 문서로 액세스 정책 언어로 작성됩니다.