IAM 자격 증명(사용자, 사용자 그룹 및 역할) - AWS Identity and Access Management

IAM 자격 증명(사용자, 사용자 그룹 및 역할)

작은 정보

AWS에 로그인하는 데 문제가 있나요? 올바른 로그인 페이지에 있는지 확인합니다.

  • AWS 계정 루트 사용자(계정 소유자)로 로그인하려면 AWS 계정을 생성할 때 설정한 보안 인증을 사용합니다.

  • IAM 사용자로 로그인하려면 계정 관리자가 AWS 로그인을 위해 제공한 보안 인증을 사용합니다.

  • IAM 자격 증명 센터 사용자로 로그인하려면 IAM 자격 증명 센터 사용자를 생성할 때 이메일 주소로 전송된 로그인 URL을 사용합니다.

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

로그인 자습서는 AWS 로그인 사용 설명서AWS 로그인 방법을 참조하세요.

참고

지원을 요청해야 하는 경우 이 페이지의 Feedback(피드백) 링크를 사용하지 않도록 하세요. 입력한 피드백은 AWS Support 팀이 아닌 AWS 설명서 팀에서 받습니다. 대신 이 페이지 상단의 Contact Us(문의하기) 링크를 선택해 주세요. 여기에서 필요한 지원을 받는 데 도움이 되는 리소스 링크를 찾을 수 있습니다.

AWS 계정 루트 사용자 또는 계정의 관리 사용자가 IAM 자격 증명을 생성할 수 있습니다. IAM 자격 증명을 통해 AWS 계정에 액세스할 수 있습니다. IAM 사용자 그룹은 하나의 단위로 관리되는 IAM 사용자 집합입니다. IAM 자격 증명은 인간 사용자 또는 프로그래밍 워크로드를 대표하며, 인증된 후 AWS에서 작업을 수행할 수 있는 권한을 부여받습니다. 각 IAM 자격 증명은 하나 이상의 정책과 연결될 수 있습니다. 정책은 사용자, 역할 또는 사용자 그룹 멤버가 수행할 수 있는 작업, 작업의 대상 AWS 리소스 및 작업 수행 조건을 결정합니다.

AWS 계정 루트 사용자

AWS 계정을 생성할 때는 해당 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 단일 로그인 ID로 시작합니다. 이 자격 증명은 AWS 계정루트 사용자라고 하며, 계정을 생성할 때 사용한 이메일 주소와 암호로 로그인하여 액세스합니다.

중요

일상적인 태스크에는 루트 사용자를 가급적 사용하지 않는 것이 좋습니다. 루트 사용자 자격 증명을 보호하고 루트 사용자만 수행할 수 있는 태스크를 수행하는 데 사용합니다. 루트 사용자로 로그인해야 하는 전체 작업 목록을 보려면 루트 사용자 보안 인증이 필요한 작업 섹션을 참조하세요.

IAM 사용자

IAM 사용자는 단일 개인 또는 애플리케이션에 대한 특정 권한을 가지고 있는 AWS 계정에 속하는 ID입니다. 모범 사례로서, 가능하면 암호 및 액세스 키와 같은 장기 보안 인증 정보가 있는 IAM 사용자를 생성하는 대신 임시 보안 인증을 사용하는 것이 좋습니다. 액세스 키를 생성하기 전에 장기 액세스 키의 대안을 검토합니다. 액세스 키가 필요한 특정 사용 사례가 있는 경우 필요할 때 액세스 키를 업데이트하는 것이 좋습니다. 자세한 내용은 장기 보안 인증이 필요한 사용 사례에 필요한 경우 액세스 키 업데이트 섹션을 참조하세요. AWS 계정에 IAM 사용자를 추가하려면 AWS 계정에서 IAM 사용자 생성의 내용을 참조하세요.

참고

보안 모범 사례로 IAM 사용자를 생성하는 대신 ID 페더레이션을 통해 리소스에 대한 액세스를 제공하는 것이 좋습니다. IAM 사용자가 필요한 특정 상황에 대한 자세한 내용은 IAM 사용자(역할이 아님)를 생성해야 하는 경우를 참조하세요.

IAM 사용자 그룹

IAM 그룹은 IAM 사용자 컬렉션을 지정하는 자격 증명입니다. 귀하는 그룹을 사용하여 로그인할 수 없습니다. 그룹을 사용하여 여러 사용자의 권한을 한 번에 지정할 수 있습니다. 그룹을 사용하면 대규모 사용자 집합의 권한을 더 쉽게 관리할 수 있습니다. 예를 들어 IAMPublishers라는 그룹을 만들어 게시 워크로드에 일반적으로 필요한 유형의 권한을 해당 그룹에 부여합니다.

IAM 역할

IAM 역할은 특정 권한을 가지고 있는 AWS 계정 내의 ID입니다. 이 역할은 IAM 사용자와 유사하지만 특정 개인과 연결되지 않습니다. 역할 전환하여 AWS Management Console에서 IAM 역할을 임시로 수임할 수 있습니다. AWS CLI 또는 AWS API 태스크를 직접적으로 호출하거나 사용자 지정 URL을 사용하여 역할을 수임할 수 있습니다. 역할 사용 방법에 대한 자세한 내용은 IAM 역할 사용 섹션을 참조하세요.

임시 보안 인증이 있는 IAM 역할은 다음과 같은 상황에서 사용됩니다.

  • 연동 사용자 액세스 - 연동 자격 증명에 권한을 부여하려면 역할을 생성하고 해당 역할의 권한을 정의합니다. 연동 자격 증명이 인증되면 역할이 연결되고 역할에 정의된 권한이 부여됩니다. 페더레이션 역할에 대한 자세한 내용은 IAM 사용 설명서타사 자격 증명 공급자의 역할 생성을 참조하세요. IAM Identity Center를 사용하는 경우 권한 집합을 구성합니다. 인증 후 아이덴티티가 액세스할 수 있는 항목을 제어하기 위해 IAM Identity Center는 권한 세트를 IAM의 역할과 연관 짓습니다. 권한 세트에 대한 자세한 내용은 AWS IAM Identity Center 사용 설명서권한 세트 섹션을 참조하세요.

  • 임시 IAM 사용자 권한 - IAM 사용자 또는 역할은 IAM 역할을 수임하여 특정 태스크에 대한 다양한 권한을 임시로 받을 수 있습니다.

  • 크로스 계정 액세스: IAM 역할을 사용하여 다른 계정의 사용자(신뢰할 수 있는 보안 주체)가 내 계정의 리소스에 액세스하도록 허용할 수 있습니다. 역할은 계정 간 액세스를 부여하는 기본적인 방법입니다. 그러나 일부 AWS 서비스를 사용하면 정책을 리소스에 직접 연결할 수 있습니다(역할을 프록시로 사용하는 대신). 크로스 계정 액세스를 위한 역할 및 리소스 기반 정책 간 차이점을 살펴보려면 IAM의 크로스 계정 리소스 액세스 섹션을 참조하세요.

  • 교차 서비스 액세스: 일부 AWS 서비스는 다른 AWS 서비스의 기능을 사용합니다. 예를 들어 서비스에서 직접적으로 호출하면 일반적으로 해당 서비스는 Amazon EC2에서 애플리케이션을 실행하거나 Amazon S3에 객체를 저장합니다. 서비스는 직접 호출하는 보안 주체의 권한을 사용하거나, 서비스 역할을 사용하거나, 또는 서비스 연결 역할을 사용하여 이 태스크를 수행할 수 있습니다.

    • 보안 주체 권한: IAM 사용자 또는 역할을 사용하여 AWS에서 작업을 수행하는 사람은 보안 주체로 간주됩니다. 일부 서비스를 사용할 때는 다른 서비스에서 다른 작업을 시작하는 작업을 수행할 수 있습니다. FAS는 AWS 서비스를 직접 호출하는 보안 주체의 권한과 요청하는 AWS 서비스를 함께 사용하여 다운스트림 서비스에 대한 요청을 수행합니다. FAS 요청은 서비스에서 완료를 위해 다른 AWS 서비스 또는 리소스와의 상호 작용이 필요한 요청을 받은 경우에만 이루어집니다. 이 경우 두 작업을 모두 수행할 수 있는 권한이 있어야 합니다. FAS 요청 시 정책 세부 정보는 전달 액세스 세션을 참조하세요.

    • 서비스 역할: 서비스 역할은 서비스가 사용자를 대신하여 태스크를 수행하기 위해 수임하는 IAM 역할입니다. IAM 관리자는 IAM 내에서 서비스 역할을 생성, 수정 및 삭제할 수 있습니다. 자세한 정보는 IAM 사용 설명서AWS 서비스에 대한 권한을 위임할 역할 생성을 참조하세요.

    • 서비스 연결 역할: 서비스 연결 역할은 AWS 서비스에 연결된 서비스 역할의 한 유형입니다. 서비스는 사용자를 대신하여 작업을 수행하기 위해 역할을 수임할 수 있습니다. 서비스 연결 역할은 AWS 계정에 나타나고, 서비스가 소유합니다. IAM 관리자는 서비스 연결 역할의 권한을 볼 수 있지만 편집할 수는 없습니다.

  • Amazon EC2에서 실행 중인 애플리케이션 – IAM 역할을 사용하여 EC2 인스턴스에서 실행되고 AWS CLI 또는 AWS API 요청을 수행하는 애플리케이션의 임시 보안 인증을 관리할 수 있습니다. 이는 EC2 인스턴스 내에 액세스 키를 저장할 때 권장되는 방법입니다. EC2 인스턴스에 AWS역할을 할당하고 해당 역할을 모든 애플리케이션에서 사용할 수 있도록 하려면 인스턴스에 연결된 인스턴스 프로파일을 생성합니다. 인스턴스 프로파일에는 역할이 포함되어 있으며 EC2 인스턴스에서 실행되는 프로그램이 임시 보안 인증을 얻을 수 있습니다. 자세한 정보는 IAM 사용 설명서IAM 역할을 사용하여 Amazon EC2 인스턴스에서 실행되는 애플리케이션에 권한 부여 섹션을 참조하세요.

IAM의 임시 자격 증명

가장 좋은 방법은 인간 사용자와 워크로드 모두에 임시 보안 인증을 사용하는 것입니다. 임시 자격 증명은 기본적으로 IAM 역할에 사용되지만 다른 용도로도 사용됩니다. 일반 IAM 사용자보다 제한된 권한을 갖는 임시 자격 증명을 요청할 수 있습니다. 이렇게 하면 제한된 보안 인증 정보로는 허용되지 않는 작업을 뜻하지 않게 수행하는 것을 방지할 수 있습니다. 임시 자격 증명의 장점은 설정한 기간이 지나면 자동으로 만료된다는 것입니다. 자격 증명의 유효 기간을 통제할 수 있습니다.

언제 IAM Identity Center 사용자를 사용하나요?

모든 인간 사용자가 IAM Identity Center를 사용하여 AWS 리소스에 액세스하는 것이 좋습니다. IAM Identity Center는 IAM 사용자로서 AWS 리소스에 액세스하는 것보다 훨씬 향상된 기능을 제공합니다. IAM Identity Center는 다음을 제공합니다.

  • ID 및 할당의 중앙 세트

  • 전체 AWS 조직의 계정에 대한 액세스

  • 기존 ID 제공업체에 대한 연결

  • 임시 보안 인증

  • 멀티 팩터 인증(MFA)

  • 최종 사용자를 위한 셀프 서비스 MFA 구성

  • MFA 사용의 행정 집행

  • 모든 AWS 계정 권한에 대한 Single Sign-On

자세한 내용은 AWS IAM Identity Center 사용 설명서IAM Identity Center란 무엇인가요?를 참조하세요.

IAM 사용자(역할이 아님)를 생성해야 하는 경우

페더레이션 사용자가 지원하지 않는 사용 사례에는 IAM 사용자만 사용하는 것이 좋습니다. 일부 사용 사례는 다음과 같습니다.

  • IAM 역할을 사용할 수 없는 워크로드 - AWS에 액세스해야 하는 위치에서 워크로드를 실행할 수 있습니다. 일부 상황에서는 예를 들어, WordPress 플러그인에 대한 임시 보안 인증을 제공하기 위해 IAM 역할을 사용할 수 없습니다. 이러한 상황에서는 해당 워크로드에 IAM 사용자 장기 액세스 키를 사용하여 AWS에 대해 인증합니다.

  • 타사 AWS 클라이언트 – IAM Identity Center를 사용한 액세스를 지원하지 않는 도구를 사용하는 경우(예: AWS에서 호스팅되지 않은 타사 AWS 클라이언트 또는 공급업체) IAM 사용자 장기 액세스 키를 사용합니다.

  • AWS CodeCommit 액세스 – CodeCommit을 사용하여 코드를 저장하는 경우 CodeCommit에 대한 SSH 키 또는 서비스별 보안 인증이 있는 IAM 사용자를 사용하여 리포지토리를 인증할 수 있습니다. 일반 인증에 IAM Identity Center 사용자를 사용하는 것 외에 이렇게 하는 것이 좋습니다. IAM Identity Center 사용자는 AWS 계정 또는 클라우드 애플리케이션에 대한 액세스 권한이 필요한 인력의 사용자입니다. IAM 사용자를 구성하지 않고 CodeCommit 리포지토리에 대한 액세스 권한을 사용자에게 부여하기 위해 git-remote-codecommit 유틸리티를 구성할 수 있습니다. IAM 및 CodeCommit에 대한 자세한 내용은 IAM과 CodeCommit을 함께 사용: Git 자격 증명, SSH 키 및 AWS 액세스 키 단원을 참조하세요. git-remote-codecommit 유틸리티 구성에 대한 자세한 내용은 AWS CodeCommit 사용 설명서보안 인증을 교체하여 AWS CodeCommit 리포지토리에 연결을 참조하세요.

  • Amazon Keyspaces(Apache Cassandra용) 액세스 – IAM Identity Center 사용자를 사용할 수 없는 상황(예: Cassandra 호환성 테스트 목적)의 경우 서비스별 보안 인증이 있는 IAM 사용자를 사용하여 Amazon Keyspaces로 인증할 수 있습니다. IAM Identity Center 사용자는 AWS 계정 또는 클라우드 애플리케이션에 대한 액세스 권한이 필요한 인력의 사용자입니다. 임시 보안 인증을 사용하여 Amazon Keyspaces 연결할 수도 있습니다. 자세한 내용은 Amazon Keyspaces(Apache Cassandra용) 개발자 안내서임시 보안 인증과 IAM 역할 및 SigV4 플러그인을 사용하여 Amazon Keyspaces에 연결을 참조하세요.

  • 긴급 액세스 – ID 제공업체에 액세스할 수 없고 AWS 계정에 조치를 취해야 하는 상황인 경우입니다. 복원 계획에 긴급 액세스 IAM 사용자 설정을 포함할 수 있습니다. 다중 인증(MFA)을 사용하여 긴급 사용자 보안 인증을 엄격하게 제어하고 보호하는 것이 좋습니다.

IAM 역할(사용자가 아님)를 만들어야 하는 경우

다음 상황에서 IAM 역할을 생성합니다.

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 실행되는 애플리케이션을 생성 중이고 해당 애플리케이션이 AWS에 요청하는 경우

IAM 사용자를 만들어 해당 사용자의 자격 증명을 애플리케이션에 전달하거나 자격 증명을 애플리케이션에 포함하지 마세요. 대신 EC2 인스턴스에 연결하는 IAM 역할을 생성하여 인스턴스에서 실행되는 애플리케이션에 임시 보안 자격 증명을 부여합니다. 애플리케이션이 AWS에서 이러한 자격 증명을 사용하면 역할에 연결된 정책에서 허용하는 모든 작업을 수행할 수 있습니다. 자세한 내용은 섹션을 참조하세요IAM 역할을 사용하여 Amazon EC2 인스턴스에서 실행되는 애플리케이션에 권한 부여

휴대폰에서 실행되는 앱을 만들고 그 앱이 AWS로 요청을 보내는 경우

IAM 사용자를 만들어 앱을 통해 해당 사용자의 액세스 키를 배포하지 마세요. 대신 Login with Amazon, Amazon Cognito, Facebook 또는 Google과 같은 자격 증명 공급자를 사용하여 사용자를 인증한 다음 사용자를 IAM 역할에 매핑합니다. 앱은 역할을 사용함으로써 역할에 연결된 정책에 의해 지정된 권한을 갖는 임시 보안 자격 증명을 얻을 수 있습니다. 자세한 내용은 다음 자료를 참조하십시오.

회사의 사용자가 기업 네트워크에서 인증을 받았는데 다시 로그인하지 않고도 AWS를 사용할 수 있기를 원합니다. 즉, 사용자가 AWS로 페더레이션되도록 허용하고 싶습니다.

IAM 사용자는 만들지 마세요. 엔터프라이즈 자격 증명 시스템과 AWS 사이의 연동 관계를 구성하세요. 두 가지 방법으로 수행할 수 있습니다.

AWS 계정 루트 사용자 보안 인증 및 IAM 사용자 보안 인증 비교

루트 사용자는 계정 소유자이며 AWS 계정 생성 시 생성됩니다. IAM 사용자를 포함해 다른 유형의 사용자와 AWS IAM Identity Center 사용자는 루트 사용자 또는 계정 관리자가 생성합니다. 모든 AWS 사용자는 보안 인증 정보를 가지고 있습니다.

루트 사용자 보안 인증

계정 소유자의 보안 인증은 계정 내 모든 리소스에 대한 전체 액세스 권한을 허용합니다. IAM 정책을 사용하여 리소스에 대한 루트 사용자 액세스 권한을 명시적으로 거부할 수는 없습니다. 멤버 계정의 루트 사용자 권한을 제한하려면 AWS Organizations 서비스 제어 정책(SCP)을 사용해야 합니다. 따라서 IAM Identity Center에서 일상적인 AWS 작업에 사용할 관리 사용자를 생성하는 것이 좋습니다. 그런 다음 루트 사용자 보안 인증을 보호하고 이 보안 인증을 사용하여 루트 사용자로 로그인해야 하는 몇 가지 계정 및 서비스 관리 작업만 수행합니다. 이러한 작업 목록은 루트 사용자 보안 인증이 필요한 작업 섹션을 참조하세요. IAM Identity Center에서 일상적인 사용을 위해 관리자를 설정하는 방법을 알아보려면 IAM Identity Center 사용 설명서Getting started를 참조하세요.

IAM 보안 인증

IAM 사용자는 AWS에서 생성하는 엔터티로, AWS 리소스와 상호 작용하기 위해 IAM 사용자를 사용하는 사람 또는 서비스를 말합니다. 이러한 사용자는 특정 사용자 지정 권한을 가진 AWS 계정 내 자격 증명에 해당합니다. 예를 들어 IAM 사용자를 생성하고 IAM Identity Center에서 디렉터리를 생성할 권한을 부여할 수 있습니다. IAM 사용자는 AWS CLI 또는 AWS API를 사용하여 프로그래밍 방식으로 또는 AWS Management Console을 사용하여 AWS에 액세스하는 데 사용할 수 있는 장기 보안 인증을 갖고 있습니다. IAM 사용자가 AWS Management Console에 로그인하는 방법에 대하 단계별 지침은 AWS 로그인 사용 설명서Sign in to the AWS Management Console as an IAM user를 참조하세요.

일반적으로 IAM 사용자는 사용자 이름 및 암호와 같은 장기 보안 인증을 가지고 있으므로 생성하지 않는 것이 좋습니다. 그 대신 AWS에 액세스할 때 인간 사용자에게 임시 보안 인증을 사용하도록 요구해야 합니다. 임시 보안 인증을 제공하는 IAM 역할을 수임하여 인간 사용자가 AWS 계정에 페더레이션 액세스를 제공하도록 ID 제공업체를 사용할 수 있습니다. 중앙 액세스 관리를 위해 IAM Identity Center를 사용하여 계정에 대한 액세스 권한과 해당 계정 내 권한을 관리하는 것이 좋습니다. IAM Identity Center를 사용하여 사용자 자격 증명을 관리하거나 외부 자격 증명 공급자의 IAM Identity Center에서 사용자 자격 증명에 대한 액세스 권한을 관리할 수 있습니다. 자세한 내용은 IAM Identity Center 사용 설명서What is IAM Identity Center를 참조하세요.