본문 바로가기
AWS

AWS Section 4-1. IAM 및 AWS CLI

by _비니_ 2024. 9. 27.

💡 IAM 및 AWS CLI 💡

 

📌 IAM (Identity and Access Management)


  • IAM은 AWS 리소스에 대한 접근 권한을 관리하는 서비스
  • 글로벌 서비스로, 모든 AWS 리전에 걸쳐 작동
  • 루트 계정: 루트 계정은 계정을 처음 생성할 때만 사용되어야 하며, 그 이후로는 절대 사용하거나 공유하지 않아야 함
    • 대신, IAM 사용자를 생성해서 사용

📌 사용자와 그룹

  • IAM에서는 사용자를 생성하고 그룹에 배치할 수 있음
    • 그룹에는 사용자만 배치할 수 있음. 다른 그룹을 포함시킬 수 없음
  • 여러 사용자를 그룹으로 묶어 관리할 수 있으나 그룹 안에 또 다른 그룹을 포함시킬 수는 없음
  • 한 사용자는 여러 그룹에 속할 수 있으며, 그룹에 속하지 않은 사용자도 있을 수 있음

❓) 사용자와 그룹을 생성하는 이유는?

✔️) AWS 계정을 사용하도록 허용하기 위한 권한을 부여하기 위함 !!

 

 

📌 정책 (Policy)


  • 사용자나 그룹에 권한을 부여하기 위해, 정책(Policy)이라고 불리는 JSON 문서를 지정할 수 있음
    • 이 정책 문서는 특정 사용자나 그룹에 속한 사용자들이 어떤 작업에 대해 권한을 가지는지를 명시
  • 🌟 AWS 에서는 최소 권한의 원칙을 적용함 🌟
    • 사용자가 꼭 필요로 하는 것 이상의 권한을 주지 않는 것 !!
    • 필요 시 부족한 권한은 추가하고, 불필요한 권한은 제거하여 보안성 유지

 

✏️ IAM 사용자 및 그룹 실습

  • IAM은 글로벌 서비스로, 리전 선택이 필요하지 않음.
  • 리전 선택 활성화 되어있지 않은 것을 확인할 수 있음

  • IAM에서 생성한 사용자는 모든 리전에서 사용할 수 있음 🌟

 

  • IAM 계정 생성 후 그룹 생성
    • admin 그룹에 AdministratorAccess 정책을 넣어 그룹 생성

AWS 계정에 대한 별칭을 부여할 수 있으며 이 별칭은 고유해야 함.

>> 이 별칭을 통해 로그인 URL을 간소화할 수 있음

 

루트 사용자보다는 IAM 사용자 사용 권장🌟🌟🌟

 

📌 IAM 정책


📌 IAM Policies inheritance

 

  • 정책이 그룹의 모든 구성원에게 적용되며 그룹의 구성원 모두 권한을 얻으며 정책의 상속이 가능함.

 

📌 IAM Policies Structure

 


AWS에서 자주 보게 될 형식

/* 하나의 정책에 다수의 Statements가 사용된 예 */
{
  "Version": "2012-10-17", // “2012–10–17”, “2008–10–17” 값을 가질 수 있다.
  "Statement": [
    {
      "Sid": "FirstStatement", // Statement ID로 statement 를 구분하기 위해서 사용
      "Effect": "Allow", // 해당 설정 적용을 Allow / Deny
      "Action": [ // 허용할 행위(액션)
      	"s3:List*",
        "s3:Get*"
      ], 
      "Resource": [ // Action이 영향을 미치는 리소스 리스트를 지정
        "arn:aws:s3:::confidential-data",
        "arn:aws:s3:::confidential-data/*"
      ], 
      "Condition": {
      	"Bool": {"aws:MultiFactorAuthPresent": "true"}
      } // 조건을 충족되는 경우에만 해당 정책을 적용
    }
  ]
}
  • Version : 정책 언어 버전
  • Id : 정책 식별 ID
  • Statement

[참고]

https://inpa.tistory.com/entry/AWS-📚-IAM-Policy-JSON-구조-ARN-문법-정리

 

 

  • hyeonbinn 사용자를 그룹에서 삭제시킨다면
  • hyeonbinn은 권한을 잃게 됨. (”IAM:ListUsers에 권한이 없다”)

 

++ 다른 권한도 추가

  • hyeonbinn 사용자한테 3가지의 권한 정책이 첨부됨
반응형

'AWS' 카테고리의 다른 글

AWS Section 6-2. EC2 인스턴스 스토리지  (0) 2024.09.27
AWS Section 6-1. EC2 인스턴스 스토리지  (4) 2024.09.27
AWS Section 5. EC2 기초  (0) 2024.09.27
AWS Section 4-2. IAM 및 AWS CLI  (0) 2024.09.27
Section 3.  (0) 2024.09.27