IAM 역할을 사용할 수 없는 워크로드용 IAM 사용자 만들기
IAM 역할을 사용할 수 없는 워크로드용 IAM 사용자 만들기
중요 — 모범 사례에 따라 휴먼 사용자가 AWS에 접근할 때 임시 자격 증명을 사용하도록 요구하는 걸 권장해요. 또는 관리 사용자를 포함한 사용자 자격 증명을 AWS IAM Identity Center로 관리할 수 있어요. 계정과 계정 내 권한에 대한 접근을 관리하려면 IAM Identity Center를 사용하는 걸 권장해요. 외부 자격 증명 공급자를 사용한다면 IAM Identity Center에서 사용자 자격 증명의 접근 권한을 구성할 수도 있어요.
출처: 문서
본문
프로그래밍 접근과 장기 자격 증명이 필요한 IAM 사용자 사용 사례라면, 필요할 때 액세스 키를 업데이트하는 절차를 마련하는 걸 권장해요. 자세한 내용은 액세스 키 업데이트를 참고하세요. 일부 계정·서비스 관리 작업을 수행하려면 루트 사용자 자격 증명으로 로그인해야 해요. 루트 사용자로 로그인해야 하는 작업은 루트 사용자 자격 증명이 필요한 작업을 참고하세요.
IAM 역할을 사용할 수 없는 워크로드용 IAM 사용자 만들기 (To create an IAM user for workloads that can't use IAM roles)
최소 권한 (Minimum permissions) – 다음 단계를 수행하려면 최소한 다음 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
콘솔 (Console)
-
_AWS Sign-In 사용자 가이드_의 AWS 로그인 방법 항목에 설명된 사용자 유형에 맞는 로그인 절차를 따라요.
-
IAM Console Home 페이지의 왼쪽 탐색 창에서 Search IAM 텍스트 상자에 검색어를 입력해요.
-
탐색 창에서 Users를 선택한 뒤 Create user를 선택해요.
-
Specify user details 페이지에서 다음을 수행해요.
- User name에
WorkloadName을 입력해요.WorkloadName을 계정을 사용할 워크로드 이름으로 바꾸세요. - Next를 선택해요.
- User name에
-
(선택) Set Permissions 페이지에서 다음을 수행해요.
- Add user to group을 선택해요.
- Create group을 선택해요.
- Create user group 대화 상자의 User group name에 그룹의 워크로드 용도를 나타내는 이름을 입력해요. 이 예시에서는
Automation이라는 이름을 사용해요. - Permissions policies 아래에서 PowerUserAccess 관리형 정책의 확인란을 선택해요.
팁 – Permissions policies 검색 상자에 Power 를 입력하면 관리형 정책을 빠르게 찾을 수 있어요.
- Create user group을 선택해요.
- IAM 그룹 목록이 있는 페이지로 돌아와 새 사용자 그룹의 확인란을 선택해요. 목록에 새 사용자 그룹이 보이지 않으면 Refresh를 선택해요.
- Next를 선택해요.
-
(선택) Tags 섹션에서 키-값 쌍으로 태그를 연결해 사용자에 메타데이터를 추가해요. 자세한 내용은 AWS Identity and Access Management 리소스용 태그를 참고하세요.
-
새 사용자의 사용자 그룹 멤버십을 확인한 뒤, 준비가 되면 Create user를 선택해요.
-
상태 알림이 나타나 사용자가 성공적으로 생성됐음을 알려줘요. View user를 선택해 사용자 상세 페이지로 이동해요.
-
Security credentials 탭을 선택한 뒤 워크로드에 필요한 자격 증명을 만들어요.
- 액세스 키 (Access keys) – Create access key를 선택해 사용자의 액세스 키를 생성·다운로드해요.
중요 – 시크릿 액세스 키를 보고 다운로드할 수 있는 기회는 이번뿐이며, 사용자가 AWS API를 사용하기 전에 이 정보를 사용자에게 제공해야 해요. 사용자의 새 액세스 키 ID와 시크릿 액세스 키를 안전한 장소에 보관하세요. 이 단계 이후에는 시크릿 키에 접근할 수 없어요.
- AWS CodeCommit용 SSH 공개 키 (SSH public keys) – Upload SSH public key를 선택해 사용자가 SSH로 CodeCommit 리포지토리와 통신할 수 있도록 SSH 공개 키를 업로드해요.
- AWS CodeCommit용 HTTPS Git 자격 증명 (HTTPS Git credentials) – Generate credentials를 선택해 Git 리포지토리와 사용할 고유한 사용자 자격 증명 세트를 생성해요. Download credentials를 선택해 사용자 이름과 비밀번호를 .csv 파일로 저장해요. 이 정보를 구할 수 있는 기회는 이번뿐이에요. 비밀번호를 잊거나 분실하면 재설정해야 해요.
- Amazon Keyspaces(for Apache Cassandra)용 자격 증명 – Generate credentials를 선택해 Amazon Keyspaces와 사용할 서비스별 사용자 자격 증명을 생성해요. Download credentials를 선택해 사용자 이름과 비밀번호를 .csv 파일로 저장해요. 이 정보를 구할 수 있는 기회는 이번뿐이에요. 비밀번호를 잊거나 분실하면 재설정해야 해요.
중요 – 서비스별 자격 증명은 특정 IAM 사용자와 연결된 장기 자격 증명이며 생성된 서비스에만 사용할 수 있어요. IAM 역할이나 페더레이션 자격 증명에 임시 자격 증명으로 모든 AWS 리소스에 접근할 권한을 주려면 Amazon Keyspaces용 SigV4 인증 플러그인과 함께 AWS 인증을 사용하세요. 자세한 내용은 _Amazon Keyspaces (for Apache Cassandra) 개발자 가이드_의 IAM 역할과 SigV4 플러그인으로 임시 자격 증명을 사용해 Amazon Keyspaces에 연결을 참고하세요.
- X.509 서명 인증서 (X.509 Signing certificates) – 보안 SOAP 프로토콜 요청을 해야 하고 AWS Certificate Manager가 지원하지 않는 리전에 있다면 Create X.509 Certificate를 선택해요. ACM은 서버 인증서를 프로비저닝·관리·배포하는 선호 도구예요. ACM 사용에 대한 자세한 내용은 AWS Certificate Manager 사용자 가이드를 참고하세요.
이제 프로그래밍 접근이 가능하고 PowerUserAccess 직무 함수로 구성된 사용자를 만들었어요. 이 사용자의 권한 정책은 IAM과 AWS Organizations를 제외한 모든 서비스에 대한 전체 접근을 부여해요. 워크로드가 IAM 역할을 맡을 수 없다면 이 같은 프로세스로 추가 워크로드에 AWS 계정 리소스에 대한 프로그래밍 접근을 제공할 수 있어요. 이 절차는 PowerUserAccess 관리형 정책을 사용해 권한을 할당했어요. 최소 권한 모범 사례를 따르려면 더 제한적인 정책을 사용하고, 프로그램이 필요로 하는 리소스에만 접근을 제한하는 사용자 지정 정책을 만드는 것을 고려하세요. 사용자 권한을 특정 AWS 리소스로 제한하는 정책 사용에 대해 알아보려면 AWS 리소스에 대한 접근 관리와 예시 IAM 자격 증명 기반 정책을 참고하세요. 사용자 그룹 생성 후 추가 사용자를 그룹에 넣으려면 IAM 그룹에서 사용자 편집을 참고하세요.
AWS CLI
Automation이라는 사용자를 만들어요.
aws iam create-user \
--user-name Automation
AutomationGroup이라는 IAM 사용자 그룹을 만들고 AWS 관리형 정책PowerUserAccess를 그룹에 연결한 뒤Automation사용자를 그룹에 추가해요.
참고 – AWS 관리형 정책 은 AWS가 만들고 관리하는 독립형 정책이에요. 각 정책은 정책 이름을 포함한 자체 Amazon Resource Name(ARN)을 가져요. 예를 들어
arn:aws:iam::aws:policy/IAMReadOnlyAccess는 AWS 관리형 정책이에요. ARN에 대한 자세한 내용은 IAM ARN을, AWS 서비스용 AWS 관리형 정책 목록은 AWS 관리형 정책을 참고하세요.
aws iam create-group \
--group-name AutomationGroup
aws iam attach-group-policy \
--policy-arn arn:aws:iam::aws:policy/PowerUserAccess \
--group-name AutomationGroup
aws iam add-user-to-group \
--user-name Automation \
--group-name AutomationGroup
aws iam get-group명령을 실행해AutomationGroup과 그 구성원을 나열해요.
aws iam get-group \
--group-name AutomationGroup
- 워크로드에 필요한 보안 자격 증명을 만들어요.
- 테스트용 액세스 키 만들기 –
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 iam upload-ssh-public-key \
--user-name Automation \
--ssh-public-key-body file://sshkey.pub
- X.509 서명 인증서 업로드 –
aws iam upload-signing-certificate. 보안 SOAP 프로토콜 요청을 해야 하고 AWS Certificate Manager가 지원하지 않는 리전에 있다면 X.509 인증서를 업로드해요. ACM은 서버 인증서를 프로비저닝·관리·배포하는 선호 도구예요. 다음 예시는 X.509 서명 인증서가certificate.pem파일에 저장되어 있다고 가정해요.
aws iam upload-signing-certificate \
--user-name Automation \
--certificate-body file://certificate.pem
워크로드가 IAM 역할을 맡을 수 없다면 이 같은 프로세스로 추가 워크로드에 AWS 계정 리소스에 대한 프로그래밍 접근을 제공할 수 있어요. 이 절차는 PowerUserAccess 관리형 정책을 사용해 권한을 할당했어요. 최소 권한 모범 사례를 따르려면 더 제한적인 정책을 사용하고, 프로그램이 필요로 하는 리소스에만 접근을 제한하는 사용자 지정 정책을 만드는 것을 고려하세요. 사용자 권한을 특정 AWS 리소스로 제한하는 정책 사용에 대해 알아보려면 AWS 리소스에 대한 접근 관리와 예시 IAM 자격 증명 기반 정책을 참고하세요. 사용자 그룹 생성 후 추가 사용자를 그룹에 넣으려면 IAM 그룹에서 사용자 편집을 참고하세요.