IAM 시작하기 - AWS Identity and Access Management

IAM 시작하기

AWS Identity and Access Management(IAM)으로 시작하려면 이 자습서를 사용하세요. AWS Management Console을 사용하여 역할, 사용자, 정책을 생성하는 방법을 배웁니다.

AWS Identity and Access Management는 추가 비용 없이 AWS 계정에 제공되는 기능입니다. IAM 사용자가 사용한 다른 AWS 제품에 대해서만 요금이 부과됩니다. 다른 AWS 제품 요금에 대한 자세한 내용은 Amazon Web Services 요금 페이지를 참조하세요.

참고

이 설명서에서는 IAM 서비스에 대해 주로 다룹니다. AWS를 시작하는 방법과 여러 서비스를 사용하여 프로젝트 구축 및 개시 등과 같은 문제를 해결하는 방법을 알아보려면 리소스 센터 시작하기 단원을 참조하십시오.

사전 조건

시작하기 전에 먼저 IAM 설정의 단계를 완료해야 합니다. 이 자습서에서는 해당 절차에서 생성한 관리자 계정을 사용합니다.

첫 번째 IAM 사용자 생성

IAM 사용자는 단일 개인 또는 애플리케이션에 대한 특정 권한을 가지고 있는 AWS 계정에 속하는 ID입니다. 동일한 권한을 공유하는 그룹으로 사용자를 구성할 수 있습니다.

참고

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

IAM 사용자 생성 프로세스를 익힐 수 있게 이 자습서에서는 긴급 액세스를 위한 IAM 사용자 및 그룹을 만드는 과정을 단계별로 설명합니다.

첫 번째 IAM 사용자 생성하는 방법

  1. AWS 로그인 사용 설명서AWS에 로그인하는 방법 항목에 설명된 대로 사용자 유형에 맞는 로그인 절차를 따르세요.

  2. 콘솔 홈 페이지에서 IAM 서비스를 선택합니다.

  3. 탐색 창에서 사용자사용자 추가를 차례로 선택합니다.

    참고

    IAM Identity Center를 활성화한 경우 IAM Identity Center에서 사용자 액세스를 관리하는 것이 가장 좋다는 알림이 AWS Management Console에 표시됩니다. 이 자습서에서, 생성한 IAM 사용자는 IAM Identity Center 보안 인증 정보의 사용자를 사용할 수 없는 경우에만 사용하도록 특별히 설계되었습니다.

  4. 사용자 이름EmergencyAccess을 입력합니다. 이름에는 공백이 있어서는 안 됩니다.

  5. 사용자에게 AWS Management Console에 대한 액세스 권한 제공 - 선택사항 옆의 확인란을 선택한 다음 IAM 사용자를 생성하고 싶음을 선택합니다.

  6. 콘솔 암호에서 자동 생성된 암호(권장)을 선택합니다.

  7. 다음 로그인 시 사용자가 새 암호를 생성해야 함 (권장) 옆의 확인란을 선택합니다. 이 IAM 사용자는 긴급 액세스용이므로 신뢰할 수 있는 관리자가 암호를 보관하고 필요할 때만 암호를 제공합니다.

  8. 권한 설정 페이지의 권한 옵션에서 그룹에 사용자 추가를 선택합니다. 그런 다음 사용자 그룹에서 그룹 생성을 선택합니다.

  9. 사용자 그룹 생성 페이지의 사용자 그룹 이름EmergencyAccessGroup을 입력합니다. 그런 다음 권한 정책에서 AdministratorAccess를 선택합니다.

  10. 권한 설정 페이지로 돌아가려면 사용자 그룹 생성을 선택합니다.

  11. 사용자 그룹에서 이전에 만든 EmergencyAccessGroup 이름을 선택합니다.

  12. 다음을 선택하여 검토 및 생성 페이지로 이동합니다.

  13. 검토 및 생성 페이지에서 새 사용자에 추가될 사용자 그룹 멤버십의 목록을 검토합니다. 계속 진행할 준비가 되었으면 사용자 생성을 선택합니다.

  14. 암호 검색 페이지에서 .csv 파일 다운로드를 선택하여 사용자 보안 인증 정보(연결 URL, 사용자 이름, 암호) .csv 파일을 저장합니다.

  15. IAM에 로그인해야 하고 페더레이션 ID 제공업체에 액세스할 수 없는 경우 이 파일을 저장하여 사용하세요.

새 IAM 사용자가 사용자 목록에 표시됩니다. 사용자 세부 정보를 보려면 사용자 이름 링크를 선택합니다. 요약에서 사용자의 ARN을 클립보드에 복사합니다. 다음 절차에서 사용할 수 있게 ARN을 텍스트 문서에 붙여넣습니다.

첫 번째 역할 생성

IAM 역할은 신뢰하는 엔터티에 권한을 부여하는 안전한 방법입니다. IAM 역할은 IAM 사용자와 몇 가지 점에서 유사합니다. 역할과 사용자 모두 AWS에서 자격 증명으로 할 수 있는 것과 할 수 없는 것을 결정할 권한 정책이 있는 보안 주체입니다. 그러나 역할은 한 사람하고만 연관되지 않고 해당 역할이 필요한 사람이라면 누구든지 맡을 수 있어야 합니다. 또한 역할에는 그와 연관된 암호 또는 액세스 키와 같은 표준 장기 자격 증명이 없습니다. 대신에 역할을 맡은 사람에게는 해당 역할 세션을 위한 임시 보안 자격 증명이 제공됩니다. 역할을 사용하면 IAM 모범 사례를 따르는 데 도움이 됩니다. 태그를 사용하여 다음을 수행할 수 있습니다.

  • 인력 ID와 Identity Center 지원 애플리케이션이 AWS IAM Identity Center를 사용하여 AWS Management Console에 액세스할 수 있게 합니다.

  • 사용자를 대신하여 작업을 수행할 수 있는 권한을 AWS 서비스에 위임합니다.

  • Amazon EC2 인스턴스에서 실행 중인 애플리케이션 코드가 AWS 리소스에 액세스하거나 수정할 수 있게 합니다.

  • 다른 AWS 계정에 액세스 권한을 부여합니다.

참고

AWS Identity and Access Management Roles Anywhere를 사용하여 머신 ID에 대한 액세스 권한을 부여할 수 있습니다. IAM Roles Anywhere를 사용하면 AWS 외부에서 실행되는 워크로드에 대한 장기 보안 인증을 관리할 필요가 없습니다. 자세한 내용은 AWS Identity and Access Management Roles Anywhere User Guide(IAM Roles Anywhere 사용 설명서)의 What is AWS Identity and Access Management Roles Anywhere?(IAM Roles Anywhere란 무엇인가요?)를 참조하세요.

IAM Identity Center 및 기타 AWS 서비스는 서비스에 대한 역할을 자동으로 생성합니다. IAM 사용자를 사용하는 경우 사용자가 로그인할 때 맡을 역할을 생성하는 것이 좋습니다. 이렇게 하면 장기 권한이 부여되는 대신 세션 중에 임시 권한이 부여됩니다.

역할 생성 단계를 안내하는 AWS Management Console 마법사의 진행 단계는 생성하는 역할 대상이 IAM 사용자일 때, AWS 서비스일 때, 혹은 페더레이션 사용자일 때에 따라 약간 다르게 나타납니다. 조직 내 정기 AWS 계정 액세스는 페더레이션 액세스를 사용하여 제공되어야 합니다. 긴급 액세스 또는 프로그래밍 방식 액세스와 같은 특정 목적을 위해 IAM 사용자를 생성하는 경우 해당 IAM 사용자에게 역할을 맡기고 해당 IAM 사용자를 역할별 그룹에 넣을 수 있는 권한만 부여하십시오.

이 절차에서는 EmergencyAccess IAM 사용자에게 SupportUser 액세스 권한을 제공하는 역할을 생성합니다. 이 절차를 시작하기 전에 IAM 사용자의 ARN을 클립보드에 복사하세요.

IAM 사용자 역할 생성하는 방법

  1. AWS 로그인 사용 설명서AWS에 로그인하는 방법 항목에 설명된 대로 사용자 유형에 맞는 로그인 절차를 따르세요.

  2. 콘솔 홈 페이지에서 IAM 서비스를 선택합니다.

  3. IAM 콘솔의 탐색 창에서 역할역할 생성을 차례대로 선택합니다.

  4. AWS 계정 역할 유형을 선택합니다.

  5. 신뢰할 수 있는 엔터티 선택신뢰할 수 있는 엔터티 유형에서 사용자 지정 신뢰 정책을 선택합니다.

  6. 사용자 지정 신뢰 정책 섹션에서 기본 신뢰 정책을 검토합니다. 이 역할에 사용할 정책입니다. 문 편집 에디터를 사용하여 신뢰 정책을 업데이트합니다.

    1. STS용 작업 추가에서 역할 수임을 선택합니다.

    2. 보안 주체 추가 옆에서 추가를 선택합니다. 보안 주체 추가 창이 열립니다.

      보안 주체 유형에서 IAM 사용자를 선택합니다.

      ARN에서 클립보드에 복사한 IAM 사용자 ARN을 붙여넣습니다.

      보안 주체 추가를 선택합니다.

    3. 신뢰 정책의 Principal 줄에 지정한 ARN이 포함되어 있는지 확인합니다.

      "Principal": { "AWS": "arn:aws:iam::123456789012:user/username" }

  7. 정책 검증 동안 생성된 모든 보안 경고, 오류 또는 일반 경고를 해결하고 다음을 선택합니다.

  8. 권한 추가에서, 적용하려는 권한 정책 옆의 확인란을 선택합니다. 이 자습서에서는 SupportUser 신뢰 정책을 선택하겠습니다. 그런 다음 이 역할을 사용하여 AWS 계정 관련 문제를 해결하고 AWS를 통해 지원 사례를 개설할 수 있습니다. 지금은 권한 경계를 설정하지 않을 것입니다.

  9. 다음을 선택합니다.

  10. 이름, 검토 및 생성에서 다음 설정을 완료합니다.

    • 역할 이름SupportUserRole과 같이 이 역할을 식별하는 이름을 입력합니다.

    • 설명에는 역할의 용도를 설명합니다.

    기타 AWS 리소스가 역할을 참조할 수 있기 때문에 역할이 생성된 후에는 역할 이름을 편집할 수 없습니다.

  11. 규칙 생성을 선택합니다.

    역할을 만든 후 역할이 필요한 사용자와 역할 정보를 공유합니다. 다음과 같은 방법으로 역할 정보를 공유할 수 있습니다.

    • Role link(역할 링크): 이미 세부 정보가 모두 작성되어 있는 Switch Role(역할 전환) 페이지로 이동하는 링크를 사용자에게 보냅니다.

    • Account ID or alias(계정 ID 또는 별칭): 각 사용자에게 계정 ID 번호나 계정 별칭과 함께 역할 이름을 제공합니다. 이제 사용자는 역할 전환 페이지로 이동하여 세부 정보를 직접 입력합니다.

    • 역할 링크 정보를 EmergencyAccess 사용자 보안 인증 정보와 함께 저장합니다.

    자세한 내용은 사용자에게 정보 제공을 참조하세요.

첫 번째 IAM 정책 생성

IAM 정책은 IAM ID(사용자, 사용자 그룹 또는 역할) 또는 AWS 리소스에 연결됩니다. 정책은 자격 증명 또는 리소스에 연결될 때 해당 권한을 정의하는 AWS의 객체입니다.

첫 번째 IAM 정책 생성하는 방법

  1. AWS 로그인 사용 설명서AWS에 로그인하는 방법 항목에 설명된 대로 사용자 유형에 맞는 로그인 절차를 따르세요.

  2. 콘솔 홈 페이지에서 IAM 서비스를 선택합니다.

  3. 탐색 창에서 정책을 선택합니다.

    정책을 처음으로 선택하는 경우 관리형 정책 소개 페이지가 나타납니다. 시작하기(Get Started)를 선택합니다.

  4. 정책 생성을 선택합니다.

  5. 정책 생성 페이지에서 작업을 선택한 다음 정책 가져오기를 선택합니다.

  6. 정책 가져오기 창의 정책 찾기 상자에서 power를 입력하여 정책 목록을 줄입니다. PowerUserAccess 정책을 선택합니다.

  7. 정책 가져오기를 선택합니다. JSON 탭에 정책이 표시됩니다.

  8. 다음을 선택합니다.

  9. 검토 및 생성 페이지에서 정책 이름PowerUserExamplePolicy를 입력합니다. 설명(Description)Allows full access to all services except those for user management를 입력합니다. 그런 다음 정책 생성을 선택하여 정책을 저장합니다.

이 정책을 역할에 연결하여 해당 역할을 맡은 사용자에게 이 정책과 관련된 권한을 제공할 수 있습니다. PowerUserAccess 정책은 일반적으로 개발자에게 액세스를 제공하는 데 사용됩니다.

프로그래밍 방식 액세스

사용자가 AWS Management Console 외부에서 AWS와 상호 작용하려면 프로그래밍 방식의 액세스가 필요합니다. 프로그래밍 방식으로 액세스를 부여하는 방법은 AWS에 액세스하는 사용자 유형에 따라 다릅니다.

  • IAM Identity Center에서 ID를 관리하는 경우 AWS API에는 프로필이 필요하고 AWS Command Line Interface에는 프로필이나 환경 변수가 필요합니다.

  • IAM 사용자가 있는 경우 AWS API 및 AWS Command Line Interface에는 액세스 키가 필요합니다. 가능한 경우 액세스 키 ID, 비밀 액세스 키 및 보안 인증 정보가 만료되는 시간을 나타내는 보안 토큰으로 구성된 임시 보안 인증 정보를 만듭니다.

사용자에게 프로그래밍 방식 액세스 권한을 부여하려면 다음 옵션 중 하나를 선택합니다.

프로그래밍 방식 액세스가 필요한 사용자는 누구인가요? To 액세스 권한을 부여하는 사용자

작업 인력 ID

(IAM Identity Center에서 관리되는 사용자)

단기 보안 인증 정보를 사용하여 AWS CLI 또는 AWS API에 대한 프로그래밍 방식 요청에 직접 또는 AWS SDK를 사용하여 서명할 수 있습니다.

사용하고자 하는 인터페이스에 대한 지침을 따릅니다.

IAM 단기 보안 인증 정보를 사용하여 AWS CLI 또는 AWS API에 대한 프로그래밍 방식 요청에 직접 또는 AWS SDK를 사용하여 서명하려 합니다. AWS 리소스로 임시 보안 인증 정보 사용에 나와 있는 지침을 따르세요.
IAM 장기 보안 인증 정보를 사용하여 AWS CLI 또는 AWS API에 대한 프로그래밍 방식 요청에 직접 또는 AWS SDK를 사용하여 서명할 수 있습니다.

(권장되지 않음)

IAM 사용자 액세스 키 관리에 나와 있는 지침을 따르세요.