지식 정리/AWS

[AWS] IAM(Identify and Access Management)

27200 2024. 11. 26. 16:07

IAM

Identify and Access Management 의 약자로 Global service다.

초기 Root account 에 대해 기본 IAM이 생성된다. 하지만, 이 후 루트계정을 더 이상 사용해서도, 공유해서도 안 된다. → IAM을 통해 사용하자!

GROUP

Group을 만들어 사용자들의 집합을 만들 수 있다. → 그룹 안에는 그룹을 만들 수 없다. (사용자만 넣을 수 있다.)

Group를 지정하지 않은 사용자가 있을 수도 있지만 추천하는 방법은 아니다!

한 사용자는 여러 그룹에 포함될 수 있다.

왜 쓰는걸까?

AWS는 최소 권한의 원칙을 적용한다.

사용자와 그룹마다 정책을 두어 권한을 허락하고, 이 때 최소의 권한을 줌으로써 안정성을 확보하는 것이다.

사용 방법

Console에 IAM을 검색하면 된다.

루트 계정으로 들어와서 루트 계정과 동일한 역할을 할 수 있는 IAM 사용자를 만들어보자!(루트는 지양하자.)

  1. 액세스 관리의 사용자 탭을 누른다.
  2. 우측 상단 사용자 생성 버튼을 누른다.
  3. 사용자 이름을 본인이 원하는대로 설정한다

  1. AWS Management Console 에 대한 권한 제공을 누르고 필요한 부분을 채워준다.본인이라면 사용자 지정 암호 + 새 암호 생성 클릭 해제를 해주면 된다.

 

이 때, 본인이 사용할 것이 아니라면 자동 생성된 암호 + 사용자는 다음 로그인 시 새 암호를 생성해야 합니다. 를 선택하여 랜덤 비밀번호를 통해 접속하여 비밀번호를 변경하게 권장할 수 있다.


5. 다음과 같은 화면에서 그룹 생성을 눌러 admin 그룹을 만들어주자.

AdministratorAccess 권한을 제공해준다. + 버튼을 눌러보면 json형태로 작성된 권한에 대한 코드를 볼 수 있다.

  1. 돌아온 화면에서 admin 그룹을 체크하고 Next 버튼 클릭!

  1. 태그를 추가하여 사용자에 대한 설명을 작성할 수도 있다.

  1. 사용자를 확인해보면 그룹의 권한 정책에 따라 권한이 추가된 것을 확인할 수 있다.

로그인 방법

대시보드의 우측을 보면 다음과 같은 칸이 있다. 여기서 계정 별칭을 본인이 원하는대로 입력하면 된다.

마지막으로 원래 로그인 창에서 IAM user sign in 을 통해 다음과 같이 입력해주면 된다

정책

  1. Group를 통해 정책을 줄 수 있다. → 한 사용자당 그룹은 여러개가 적용될 수 있다.(그룹 안에 그룹은 안 된다.)
  2. 각 사용자에게 inline 정책을 별도로 지정해줄 수 있다. → 이것은 해당 사용자만 받는 정책이다.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*",
                "s3-object-lambda:*"
            ],
            "Resource": "*"
        }
    ]
}

IAM의 정책을 구성하는 JSON 코드이다.

  • Version : 정책 언어 버전이다.
  • ID : 해당 코드에는 없지만 정책을 식별하는 ID도 들어가기도 한다. (선택)
  • Statement (필수)
    • Sid : 문장 ID로 문장의 식별자다. (선택)
    • Effect : 문장이 특정 API에 대해 접근을 허용할 것인지를 결정하는 것이다.
    • principal : 특정 정책이 적용될 사용자, 계정, 혹은 역할로 구성된다.
    • Action : effect에 기반해 허용되거나 거부되는 API 호출의 목록이다.
    • Resource : 적용될 action의 리소스 목록이다.
    • Condition : Statement가 언제 적용될지 고를 수 있다. (선택)

MFA(Multi Factor Authentication)

한글로 다중 인증이라고 부른다.

사용자는 여러분의 계정에 액세스 할 수 있고, 관리자의 경우 많은 작업을 수행할 수 있다.

그렇기에 루트 계정과 IAM 유저를 보호하는 것이 중요하다.

 

MFA란 비밀번호와 사용자가 소유한 보안 장치의 조합을 사용하는 것이다.

AWS의 MFA 장치

  • 가상 MFA 장치
    • ex) Google Authenticator, Authy
  • Universal 2nd Factor (U2F) Security Key
    • ex) 유비코의 유비키
  • Hardware Key Fob MFA Device
    • ex) Gemalto
  • Hardware Key Fob MFA Device for AWS GovCloud(US)
    • SurePassID

등이 있다.

비밀번호 정책

 

좌측 하단의 계정 설정으로 들어가면 편집 버튼을 통해 IAM 사용자에 대한 암호 요구 사항을 구성할 수 있다.

암호 강도에 대한 설정이나, 암호 변경 주기 등에 대하여 설정할 수 있다.

'지식 정리 > AWS' 카테고리의 다른 글

[AWS] EBS  (0) 2024.12.04
[AWS] IP와 배치 전략  (1) 2024.12.03
[AWS] EC2 Spot Instance  (0) 2024.11.29
[AWS] EC2 인스턴스 개요  (0) 2024.11.29
[AWS] Region과 AZ  (1) 2024.11.23