IAM 설정 - AWS Identity and Access Management

IAM 설정

중요

IAM 모범 사례는 장기 보안 인증 정보가 있는 IAM 사용자를 사용하는 대신, 인간 사용자가 자격 증명 공급자와의 페더레이션을 사용하여 임시 보안 인증으로 AWS에 액세스하도록 하는 것입니다.

AWS Identity and Access Management(IAM)으로 Amazon Web Services(AWS) 및 계정의 리소스에 대한 액세스 권한을 안전하게 제어할 수 있습니다. IAM은 로그인 보안 인증 정보를 비공개로 유지할 수도 있습니다. 하지만 IAM을 사용하려고 따로 가입할 필요는 없습니다. IAM 사용에는 요금이 부과되지 않습니다.

IAM을 사용하여 사용자 및 역할과 같은 ID에 계정의 리소스에 대한 액세스 권한을 부여합니다. 예를 들어AWS 외부에서 관리하는 회사 디렉터리의 기존 사용자와 함께 IAM을 사용하거나 AWS IAM Identity Center를 사용하여 AWS에서 사용자를 생성할 수 있습니다. 페더레이션형 ID는 정의된 IAM 역할을 수임하여 필요한 리소스에 액세스합니다. IAM Identity Center에 대한 자세한 내용은 AWS IAM Identity Center 사용 설명서 What is IAM Identity Center?(IAM Identity Center란 무엇인가요?) 섹션을 참조하세요.

참고

IAM은 여러 AWS 제품에 통합됩니다. IAM 지원 서비스 목록은 AWS IAM으로 작업하는 서비스 섹션을 참조하세요.

초기 설정 정보

IAM 작업을 시작하기 전에 AWS 환경의 초기 설정을 완료했는지 확인하세요.

AWS 계정이 없는 경우 다음 절차에 따라 계정을 생성합니다.

AWS 계정에 가입
  1. https://portal.aws.amazon.com/billing/signup을 엽니다.

  2. 온라인 지시 사항을 따릅니다.

    등록 절차 중 전화를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.

    AWS 계정 루트 사용자에 가입하면 AWS 계정 루트 사용자가 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 루트 사용자 액세스 권한이 필요한 작업을 수행하는 것입니다.

AWS는 가입 절차 완료된 후 사용자에게 확인 이메일을 전송합니다. 언제든지 https://aws.amazon.com/으로 이동하고 내 계정을 선택하여 현재 계정 활동을 보고 계정을 관리할 수 있습니다.

서비스에 등록할 때 이메일 주소와 암호를 사용하여 AWS 계정을 생성했습니다. 그 주소와 암호가 바로 AWS 루트 사용자 자격 증명입니다. 일상 작업을 위해 AWS에 액세스할 때 루트 사용자 자격 증명을 사용하지 않는 것이 가장 좋습니다. 루트 사용자 자격 증명이 필요한 작업을 수행할 때만 루트 사용자 자격 증명을 사용하세요. 또한 자격 증명을 다른 사람과 공유하지 마세요. 대신 디렉터리에 사람을 추가하고 AWS 계정 액세스 권한을 부여하세요.

귀하의 AWS 계정 루트 사용자 보호
  1. 루트 사용자를 선택하고 AWS 계정이메일 주소를 입력하여 AWS Management Console에 계정 소유자로 로그인합니다. 다음 페이지에서 비밀번호를 입력합니다.

    루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 AWS 로그인 User Guide루트 사용자로 로그인을 참조하십시오.

  2. 루트 사용자의 다중 인증(MFA)을 활성화합니다.

    지침은 IAM 사용 설명서AWS 계정 루트 사용자용 가상 MFA 디바이스 활성화(콘솔)를 참조하십시오.

관리자 액세스 권한이 있는 사용자 생성
  1. IAM Identity Center를 활성화합니다.

    지침은 AWS IAM Identity Center 사용 설명서AWS IAM Identity Center 설정을 참조하세요.

  2. IAM Identity Center에서 사용자에게 관리 액세스 권한을 부여합니다.

    IAM Identity Center 디렉터리를 ID 소스로 사용하는 방법에 대한 자습서는 AWS IAM Identity Center 사용 설명서기본 IAM Identity Center 디렉터리로 사용자 액세스 구성을 참조하세요.

관리 액세스 권한이 있는 사용자로 로그인
  • IAM IDentity Center 사용자로 로그인하려면 IAM IDentity Center 사용자를 생성할 때 이메일 주소로 전송된 로그인 URL을 사용합니다.

    IAM Identity Center 사용자로 로그인하는 데 도움이 필요한 경우 AWS 로그인 사용 설명서AWS 액세스 포털에 로그인을 참조하십시오.

추가 사용자에게 액세스 권한 할당
  1. IAM Identity Center에서 최소 권한 적용 모범 사례를 따르는 권한 세트를 생성합니다.

    지침은 AWS IAM Identity Center 사용 설명서의 Create a permission set를 참조하세요.

  2. 사용자를 그룹에 할당하고, 그룹에 Single Sign-On 액세스 권한을 할당합니다.

    지침은 AWS IAM Identity Center 사용 설명서의 Add groups를 참조하세요.

최소 권한 준비

최소 권한을 사용하는 것이 IAM 모범 권장 사항입니다. 최소 권한이라는 개념은 작업을 수행하는 데 필요한 권한만 부여하고 다른 추가 권한을 없는 것입니다. 설정을 완료할 때 최소 권한을 어떻게 지원할 것인지 고려하세요. 루트 사용자와 관리자 사용자 모두에게 일상적인 작업에 필요하지 않은 강력한 권한이 주어집니다. AWS에 대해 알아보고 다양한 서비스를 테스트하는 동안 여러 가지 시나리오에서 사용할 수 있는 권한이 적은 추가 사용자를 IAM Identity Center에 한 명 이상 생성하는 것이 좋습니다. IAM 정책을 사용하여 특정 조건에서 특정 리소스에 대해 수행할 수 있는 작업을 정의한 다음 이러한 리소스와 최소 권한 계정을 연결합니다.

IAM Identity Center를 사용하는 경우 IAM Identity Center 권한 세트를 사용하여 시작하는 것을 고려해보세요. 자세한 내용은 IAM Identity Center 사용 설명서권한 세트 생성을 참조하세요.

IAM Identity Center를 사용하지 않는 경우 IAM 역할을 사용하여 다양한 IAM 엔터티에 대한 권한을 정의합니다. 자세한 내용은 IAM 역할 생성을 참조하십시오.

IAM 역할과 IAM Identity Center 권한 세트 모두 직무에 따른 AWS 관리형 정책을 사용할 수 있습니다. 이러한 정책에서 부여하는 권한에 대한 자세한 내용은 직무에 관한 AWS 관리형 정책 섹션을 참조하세요.

중요

AWS 관리형 정책은 모든 AWS 고객이 사용할 수 있기 때문에 특정 사용 사례에 대해 최소 권한을 부여하지 않을 수 있습니다. 설정을 마친 후에는 IAM Access Analyzer를 사용하여 AWS CloudTrail에 로그인한 액세스 활동을 기반으로 최소 권한을 생성하는 것이 좋습니다. 정책 생성에 대한 자세한 내용은 IAM Access Analyzer 정책 생성을 참조하세요.

IAM 관리 방법 선택

AWS 콘솔, AWS Command Line Interface 또는 관련 SDK의 애플리케이션 인터페이스(API)를 사용하여 IAM을 관리할 수 있습니다. 설정할 때 어떤 방법을 지원할 것이며, 다양한 사용자를 어떻게 지원할 계획인지 생각해 보세요.

AWS 콘솔

AWS Management Console은 AWS 리소스 관리를 위한 다양한 서비스 콘솔의 모음을 구성하고 참조하는 웹 애플리케이션입니다. 처음 로그인하면 콘솔 홈 페이지가 나타납니다. 홈 페이지는 각 서비스 콘솔에 대한 액세스를 제공하며, 이 단일 위치에서 AWS 관련 작업을 수행하는 데 필요한 정보에 액세스할 수 있습니다. 콘솔에 로그인한 후 사용할 수 있는 서비스와 애플리케이션은 액세스 권한이 있는 AWS 리소스에 따라 달라집니다. 역할을 수임하거나 권한이 부여된 그룹의 멤버가 되거나 명시적으로 권한을 받아 리소스에 대한 권한을 부여받을 수 있습니다. 독립 실행형 AWS 계정의 경우 루트 사용자 또는 IAM 관리자가 리소스에 대한 액세스를 구성합니다. AWS Organizations의 경우 관리 계정 또는 위임된 관리자가 리소스에 대한 액세스를 구성합니다.

AWS Management Console을 사용하여 AWS 리소스를 관리하게 하려면 보안 모범 사례로 임시 보안 인증 정보를 사용하여 사용자를 구성하는 것이 좋습니다. 역할을 수임한 IAM 사용자, 페더레이션 사용자 및 IAM Identity Center의 사용자는 임시 보안 인증을 갖고 있으며, IAM 사용자와 루트 사용자는 장기 보안 인증을 갖고 있습니다. 루트 사용자 보안 인증은 AWS 계정에 대한 전체 액세스 권한을 제공하는 반면, 다른 사용자는 IAM 정책에서 부여한 리소스에 대한 액세스 권한을 제공하는 보안 인증을 보유합니다.

로그인 환경은 AWS Management Console 사용자 유형마다 다릅니다.

  • IAM 사용자와 루트 사용자는 기본 AWS 로그인 URL(https://signin.aws.amazon.com)에서 로그인합니다. 로그인한 후에 권한이 부여된 계정의 리소스에 액세스할 수 있습니다.

    루트 사용자로 로그인하려면 루트 사용자 이메일 주소와 암호가 있어야 합니다.

    IAM 사용자로 로그인하려면 AWS 계정 번호나 별칭, IAM 사용자 이름 및 IAM 사용자 암호가 있어야 합니다.

    계정의 IAM 사용자를 장기 보안 인증이 필요한 특정 상황(예: 긴급 액세스)으로 제한하고 루트 사용자 보안 인증이 필요한 작업에만 루트 사용자를 사용하는 것이 좋습니다.

    사용자 편의를 위해 AWS 로그인 페이지는 브라우저 쿠키를 사용하여 IAM 사용자 이름 및 계정 정보를 기억합니다. 다음에 사용자가 AWS Management Console의 아무 페이지로든 이동하면 콘솔이 쿠키를 사용하여 사용자를 사용자 로그인 페이지로 리디렉션합니다.

    세션이 끝나면 콘솔에서 로그아웃하여 이전 로그인을 다시 사용하지 않도록 합니다.

  • IAM Identity Center 사용자는 조직에 고유한 특정 AWS 액세스 포털을 사용하여 로그인합니다. 로그인한 후에 액세스할 계정이나 애플리케이션을 선택할 수 있습니다. 계정에 액세스하려는 경우 관리 세션에 사용할 권한 세트를 선택합니다.

  • 페더레이션 사용자는 사용자 지정 엔터프라이즈 액세스 포털을 사용하여 AWS 계정 로그인에 연결된 외부 ID 제공업체를 통해 관리합니다. 페더레이션 사용자가 사용할 수 있는 AWS 리소스는 해당 조직에서 선택한 정책에 따라 달라집니다.

참고

추가적으로 보안을 강화하기 위해 루트 사용자, IAM 사용자 및 IAM Identity Center 사용자는 AWS 리소스에 대한 액세스 권한을 부여하기 전에 AWS에서 확인하는 다중 인증(MFA)을 이용할 수 있습니다. MFA가 활성화되는 경우 로그인하려면 MFA 디바이스에 대한 액세스 권한도 있어야 합니다.

다양한 사용자가 관리 콘솔에 로그인하는 방법에 대해 자세히 알아보려면 AWS 로그인 사용 설명서AWS Management Console에 로그인을 참조하세요.

AWS Command Line Interface(CLI) 및 소프트웨어 개발 키트(SDK)

IAM Identity Center 및 IAM 사용자는 CLI 또는 관련 SDK의 애플리케이션 인터페이스(API)를 통해 인증할 때 다양한 방법을 사용하여 보안 인증을 인증합니다.

보안 인증 및 구성 설정은 시스템 또는 사용자 환경 변수, 로컬 AWS 구성 파일 또는 명령줄에서 파라미터로 명시적으로 선언된 위치 등 다양한 장소에 있습니다. 특정 위치가 다른 위치보다 우선합니다.

IAM Identity Center 및 IAM 모두 CLI 또는 SDK에서 사용할 수 있는 액세스 키를 제공합니다. IAM Identity Center 액세스 키는 자동으로 새로 고칠 수 있는 임시 보안 인증이며 IAM 사용자에게 연결된 장기 액세스 키보다 권장됩니다.

CLI 또는 SDK를 사용하여 AWS 계정을 관리하려면 브라우저에서 AWS CloudShell을 사용할 수 있습니다. CloudShell을 사용하여 CLI 또는 SDK 명령을 실행하는 경우 먼저 콘솔에 로그인해야 합니다. AWS 리소스 액세스 권한은 콘솔에 로그인할 때 사용하는 보안 인증에 기반합니다. 경험에 따라 AWS 계정을 관리하는 데 CLI가 더 효율적일 수 있습니다.

애플리케이션 개발의 경우 CLI 또는 SDK를 컴퓨터에 다운로드하고 명령 프롬프트 또는 도커 창에서 로그인할 수 있습니다. 이 시나리오에서는 CLI 스크립트 또는 SDK 애플리케이션의 일부로 인증 및 액세스 보안 인증을 구성합니다. 환경 및 사용 가능한 액세스 권한에 따라 다양한 방식으로 리소스에 대한 프로그래밍 방식의 액세스를 구성할 수 있습니다.

  • AWS 서비스를 통해 로컬 코드를 인증하는 경우 IAM Identity Center 및 IAM Roles Anywhere를 사용하는 것이 좋습니다.

  • AWS 환경 내에서 실행되는 코드를 인증하는 경우 IAM 역할을 사용하거나 IAM Identity Center 보안 인증을 사용하는 것이 좋습니다.

AWS 액세스 포털을 사용하여 로그인할 때 권한 세트를 선택하는 시작 페이지에서 단기 보안 인증 정보를 얻을 수 있습니다. 이러한 보안 인증은 기간이 정의되어 있으며 자동으로 새로 고쳐지지 않습니다. 이러한 보안 인증을 사용하려면 AWS 포털에 로그인한 후 AWS 계정을 선택하고 권한 세트를 선택합니다. 명령줄 또는 프로그래밍 방식의 액세스를 선택하여 프로그래밍 방식으로 또는 CLI에서 AWS 리소스에 액세스하는 데 사용할 수 있는 옵션을 확인합니다. 이러한 방법에 대한 자세한 내용은 IAM Identity Center 사용 설명서Getting and refreshing temporary credentials를 참조하세요. 이러한 보안 인증은 애플리케이션 개발 중에 코드를 신속하게 테스트하기 위해 자주 사용됩니다.

AWS 리소스에 대한 액세스를 자동화하는 경우 자동으로 새로 고쳐지는 IAM Identity Center 보안 인증을 사용하는 것이 좋습니다. IAM Identity Center에서 사용자 및 권한 세트를 구성한 경우 aws configure sso 명령을 사용하여 사용 가능한 보안 인증을 식별하고 프로파일에 저장하는 데 도움이 되는 명령줄 마법사를 사용합니다. 프로파일 구성에 대한 자세한 내용은 AWS Command Line Interface 버전 2 사용 설명서aws configure sso 마법사를 사용하여 프로파일 구성을 참조하세요.

참고

많은 샘플 애플리케이션에서 IAM 사용자 또는 루트 사용자에 연결된 장기 액세스 키를 사용합니다. 장기 보안 인증은 샌드박스 환경에서 학습 체험의 일환으로만 사용해야 합니다. 장기 액세스 키의 대안을 검토하고 가능한 한 빨리 IAM Identity Center 보안 인증 또는 IAM 역할과 같은 대체 보안 인증을 사용하도록 코드를 전환할 계획을 수립합니다. 코드를 전환한 후에는 액세스 키를 삭제합니다.

CLI 구성에 대한 자세한 내용은 AWS Command Line Interface 버전 2 사용 설명서최신 버전의 AWS CLI 설치 또는 업데이트AWS Command Line Interface 사용 설명서보안 인증 정보 인증 및 액세스를 참조하세요.

SDK 구성에 대한 자세한 내용은 AWS SDK 및 도구 참조 가이드IAM Identity Center authenticationAWS SDK 및 도구 참조 가이드IAM Roles Anywhere를 참조하세요.