IAM 역할을 사용할 수 없는 워크로드용 IAM 사용자 생성 - AWS Identity and Access Management

IAM 역할을 사용할 수 없는 워크로드용 IAM 사용자 생성

중요

모범 사례로, 인간 사용자가 AWS에 액세스할 때 임시 자격 증명을 사용하는 것을 권장합니다. 임시 보안 인증을 제공하는 역할을 가정하여 인간 사용자가 AWS 계정에 페더레이션 액세스를 제공하도록 ID 공급자를 사용할 수 있습니다. 중앙 액세스 관리를 위해 AWS IAM Identity Center(IAM Identity Center)를 사용하여 계정에 대한 액세스 권한과 해당 계정 내 권한을 관리하는 것이 좋습니다. IAM Identity Center를 사용하여 관리자 사용자를 포함한 사용자 ID를 생성하고 관리할 수 있습니다. 외부 ID 공급자를 사용하는 경우 IAM Identity Center에서 사용자 ID에 대한 액세스 권한을 구성할 수도 있습니다. 자세한 내용은 AWS IAM Identity Center 사용 설명서에서 AWS IAM Identity Center란 무엇입니까? 단원을 참조하세요.

프로그래밍 방식 액세스 및 장기 자격 증명이 있는 IAM 사용자가 필요한 사용 사례에서는 필요할 때 액세스 키를 업데이트하는 절차를 수립하는 것이 좋습니다. 자세한 내용은 액세스 키 업데이트 단원을 참조하십시오.

일부 계정 및 서비스 관리 작업을 수행하려면 루트 사용자 자격 증명을 사용하여 로그인해야 합니다. 루트 사용자로 로그인해야 하는 작업을 보려면 루트 사용자 보안 인증이 필요한 작업 항목을 참조하세요.

IAM 역할을 사용할 수 없는 워크로드용 IAM 사용자 생성

워크로드에 대한 IAM 사용자 생성을 위해 따르려는 방법에 해당하는 탭 선택:

최소 권한

다음 단계를 수행하려면 적어도 다음과 같은 IAM 권한이 있어야 합니다.

  • iam:AddUserToGroup

  • iam:AttachGroupPolicy

  • iam:CreateAccessKey

  • iam:CreateGroup

  • iam:CreateServiceSpecificCredential

  • iam:CreateUser

  • iam:GetAccessKeyLastUsed

  • iam:GetAccountPasswordPolicy

  • iam:GetAccountSummary

  • iam:GetGroup

  • iam:GetLoginProfile

  • iam:GetPolicy

  • iam:GetRole

  • iam:GetUser

  • iam:ListAccessKeys

  • iam:ListAttachedGroupPolicies

  • iam:ListAttachedUserPolicies

  • iam:ListGroupPolicies

  • iam:ListGroups

  • iam:ListGroupsForUser

  • iam:ListInstanceProfilesForRole

  • iam:ListMFADevices

  • iam:ListPolicies

  • iam:ListRoles

  • iam:ListRoleTags

  • iam:ListSSHPublicKeys

  • iam:ListServiceSpecificCredentials

  • iam:ListSigningCertificates

  • iam:ListUserPolicies

  • iam:ListUserTags

  • iam:ListUsers

  • iam:UploadSSHPublicKey

  • iam:UploadSigningCertificate

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

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

  3. 탐색 창에서 사용자를 선택한 다음, 사용자 생성을 선택합니다.

  4. 사용자 세부 정보 지정 페이지에서 다음 작업을 수행합니다.

    1. 사용자 이름WorkloadName을 입력합니다. WorkloadName을 계정을 사용할 워크로드의 이름으로 바꿉니다.

    2. Next(다음)를 선택합니다.

  5. (선택 사항) 권한 설정 페이지에서 다음을 수행합니다.

    1. 사용자를 그룹에 추가를 선택합니다.

    2. 그룹 생성을 선택합니다.

    3. 사용자 그룹 생성 대화 상자에서 사용자 그룹 이름에 그룹 내 워크로드 사용을 나타내는 이름을 입력합니다. 이 예에서는 Automation 이름을 사용합니다.

    4. 권한 정책에서 PowerUserAccess 관리형 정책의 확인란을 선택합니다.

      작은 정보

      권한 정책 검색 상자에 파워를 입력하면 관리형 정책을 빠르게 찾을 수 있습니다.

    5. 사용자 그룹 만들기를 선택합니다.

    6. IAM 그룹의 목록이 있는 페이지로 돌아가 새 사용자 그룹 옆의 확인란을 선택합니다. 목록에 새 사용자 그룹이 표시되지 않으면 새로 고침(Refresh)을 선택합니다.

    7. Next(다음)를 선택합니다.

  6. (선택 사항) 태그 섹션에서 태그를 키 값 페어로 연결하여 메타데이터를 사용자에게 추가합니다. 자세한 내용은 AWS Identity and Access Management 리소스용 태그 단원을 참조하십시오.

  7. 새 사용자에 대한 사용자 그룹 멤버십을 확인합니다. 계속 진행할 준비가 되었으면 사용자 생성을 선택합니다.

  8. 사용자가 성공적으로 생성되었다는 상태 알림이 표시됩니다. 사용자 세부 정보 페이지로 이동하려면 사용자 보기를 선택합니다.

  9. 보안 자격 증명 탭을 선택합니다. 그런 다음 워크로드에 필요한 자격 증명을 생성합니다.

    • 액세스 키-액세스 키 생성을 선택하여 사용자에 대한 액세스 키를 생성하고 다운로드합니다.

      중요

      보안 액세스 키는 이 때만 확인 및 다운로드가 가능하기 때문에 사용자에게 AWS API를 사용하도록 하려면 이 정보를 제공해야 합니다. 사용자의 새 액세스 키 ID와 보안 액세스 키를 안전한 장소에 보관하세요. 이 단계 이후에는 보안 키에 다시 액세스할 수 없습니다.

    • AWS CodeCommit에 대한 SSH 퍼블릭 키-SSH 퍼블릭 키 업로드를 선택하여 사용자가 SSH를 통해 CodeCommit 리포지토리와 통신할 수 있도록 SSH 퍼블릭 키를 업로드합니다.

    • AWS CodeCommit에 대한 HTTPS Git 자격 증명-자격 증명 생성을 선택하여 Git 리포지토리와 함께 사용할 고유한 사용자 자격 증명 세트를 생성합니다. 사용자 이름과 암호를.csv 파일에 저장하려면 자격 증명 다운로드를 선택합니다. 이 시점에만 해당 정보를 사용할 수 있습니다. 암호를 잊어버리거나 분실한 경우 재설정해야 합니다.

    • Amazon Keyspaces(Apache Cassandra용) 자격 증명-Amazon Keyspaces와 함께 사용할 서비스별 사용자 자격 증명을 생성하려면 자격 증명 생성을 선택합니다. 사용자 이름과 암호를 .csv 파일에 저장하려면 자격 증명 다운로드를 선택합니다. 이 시점에만 해당 정보를 사용할 수 있습니다. 암호를 잊어버리거나 분실한 경우 재설정해야 합니다.

      중요

      서비스별 자격 증명은 특정 IAM 사용자와 연결되는 장기 자격 증명이며, 해당 자격 증명을 생성한 서비스에만 사용할 수 있습니다. 임시 자격 증명을 사용하여 모든 AWS 리소스에 액세스할 수 있는 IAM 역할 또는 페더레이션 ID 권한을 부여하려면 Amazon Keyspaces용 SigV4 인증 플러그인을 통한 AWS 인증을 사용합니다. 자세한 내용은 Amazon Keyspaces(Apache Cassandra용) 개발자 안내서임시 자격 증명을 사용하여 IAM 역할 및 SigV4 플러그인을 통해 Amazon Keyspaces(Apache Cassandra용)에 연결을 참조하세요.

    • X.509 서명 인증서-안전한 SOAP 프로토콜 요청을 해야 하고 AWS Certificate Manager에서 지원되지 않는 리전에 있는 경우 X.509 인증서 생성을 선택합니다. ACM은 서버 인증서를 프로비저닝, 관리 및 배포하기 위한 기본 도구입니다. ACM 사용에 대한 자세한 내용은 AWS Certificate Manager 사용 설명서를 참조하세요.

프로그래밍 방식으로 액세스할 수 있는 사용자를 생성하고 PowerUserAccess 작업 기능을 사용하여 구성했습니다. 이 사용자 권한 정책은 IAM 및 AWS Organizations를 제외한 모든 서비스에 대한 전체 액세스 권한을 부여합니다.

워크로드가 IAM 역할을 맡을 수 없는 경우 이 동일한 프로세스를 사용하여 추가 워크로드에 프로그래밍 방식으로 AWS 계정 리소스에 액세스할 수 있는 권한을 부여할 수 있습니다. 이 절차에서는 PowerUserAccess 관리형 정책을 사용하여 권한을 할당했습니다. 최소 권한의 모범 사례를 따르려면, 보다 제한적인 정책을 사용하거나, 프로그램에 필요한 리소스만 액세스하도록 제한하는 사용자 지정 정책을 만드는 것이 좋습니다. 사용자 권한을 특정 AWS 리소스로 제한하는 정책을 사용하는 방법은 AWS리소스에 대한 액세스 관리IAM 자격 증명 기반 정책의 예 단원을 참조하십시오. 사용자 그룹을 생성한 후 추가로 사용자를 추가하려면 IAM 그룹의 사용자 편집 섹션을 참조하세요.

AWS CLI
  1. Automation라는 사용자를 생성합니다.

    aws iam create-user \ --user-name Automation
  2. AutomationGroup이라는 IAM 사용자 그룹을 생성하고, AWS 관리형 정책 PowerUserAccess를 그룹에 연결한 다음 Automation 사용자를 그룹에 추가합니다.

    참고

    AWS 관리형 정책은 AWS에서 생성 및 관리하는 독립적인 정책입니다. 각 정책에는 정책 이름이 포함된 Amazon 리소스 이름(ARN)이 있습니다. 예를 들어 arn:aws:iam::aws:policy/IAMReadOnlyAccess는 AWS 관리형 정책입니다. ARN에 대한 자세한 내용은 IAM ARN 섹션을 참조하세요. AWS에 대한 AWS 서비스 관리형 정책의 목록은 AWS 관리형 정책을 참조하세요.

    • aws iam create-group

      aws iam create-group \ --group-name AutomationGroup
    • aws iam attach-group-policy

      aws iam attach-group-policy \ --policy-arn arn:aws:iam::aws:policy/PowerUserAccess \ --group-name AutomationGroup
    • aws iam add-user-to-group

      aws iam add-user-to-group \ --user-name Automation \ --group-name AutomationGroup
    • aws iam get-group 명령을 실행하여 AutomationGroup 및 구성원을 나열합니다.

      aws iam get-group \ --group-name AutomationGroup
  3. 워크로드에 필요한 보안 자격 증명을 생성합니다.

    • 테스트용 액세스 키 생성 - aws iam create-access-key

      aws iam create-access-key \ --user-name Automation

      이 명령의 출력에는 비밀 액세스 키와 액세스 키 ID가 표시됩니다. 안전한 위치에 이 정보를 기록하고 저장합니다. 이러한 자격 증명을 손실하면 복구할 수 없으며, 새 액세스 키를 생성해야 합니다.

      중요

      이러한 IAM 사용자 액세스 키는 계정에 보안 위험을 초래하는 장기 자격 증명입니다. 테스트를 완료한 후에는 이러한 액세스 키를 삭제하는 것이 좋습니다. 액세스 키를 고려하고 있는 경우 워크로드 IAM 사용자에 대해 MFA를 활성화할 수 있는지 여부를 조사하고 IAM 액세스 키를 사용하는 대신 aws sts get-session-token을 사용하여 세션에 대한 임시 자격 증명을 획득하세요.

    • AWS CodeCommit에 대한 SSH 퍼블릭 키 업로드aws iam upload-ssh-public-key

      다음 예제에서는 SSH 퍼블릭 키가 sshkey.pub 파일에 저장되어 있다고 가정합니다.

      aws upload-ssh-public-key \ --user-name Automation \ --ssh-public-key-body file://sshkey.pub
    • X.509 서명 인증서 업로드aws iam upload-signing-certificate

      AWS Certificate Manager에서 지원되지 않는 리전에 있는 경우 보안 SOAP 프로토콜 요청을 해야 한다면 X.509 인증서를 업로드하세요. ACM은 서버 인증서를 프로비저닝, 관리 및 배포하기 위한 기본 도구입니다. ACM 사용에 대한 자세한 내용은 AWS Certificate Manager 사용 설명서를 참조하세요.

      다음 예제에서는 X.509 서명 인증서가 certificate.pem 파일에 저장되어 있다고 가정합니다.

      aws iam upload-signing-certificate \ --user-name Automation \ --certificate-body file://certificate.pem

워크로드가 IAM 역할을 맡을 수 없는 경우 이 동일한 프로세스를 사용하여 추가 워크로드에 프로그래밍 방식으로 AWS 계정 리소스에 액세스할 수 있는 권한을 부여할 수 있습니다. 이 절차에서는 PowerUserAccess 관리형 정책을 사용하여 권한을 할당했습니다. 최소 권한의 모범 사례를 따르려면, 보다 제한적인 정책을 사용하거나, 프로그램에 필요한 리소스만 액세스하도록 제한하는 사용자 지정 정책을 만드는 것이 좋습니다. 사용자 권한을 특정 AWS 리소스로 제한하는 정책을 사용하는 방법은 AWS리소스에 대한 액세스 관리IAM 자격 증명 기반 정책의 예 단원을 참조하십시오. 사용자 그룹을 생성한 후 추가로 사용자를 추가하려면 IAM 그룹의 사용자 편집 섹션을 참조하세요.