IAM 및 AWS CLI

iamyoungbin·2024년 7월 17일

본 포스트는 AWS Certified Solutions Architect Associate 시험합격! 를 참고하여 작성되었습니다.

IAM 정책

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "FirstStatement",
      "Effect": "Allow",
      "Action": ["iam:ChangePassword"],
      "Resource": "*"
    },
    {
      "Sid": "SecondStatement",
      "Effect": "Allow",
      "Action": "s3:ListAllMyBuckets",
      "Resource": "*"
    },
    {
      "Sid": "ThirdStatement",
      "Effect": "Allow",
      "Action": [
        "s3:List*",
        "s3:Get*"
      ],
      "Resource": [
        "arn:aws:s3:::confidential-data",
        "arn:aws:s3:::confidential-data/*"
      ],
      "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
    }
  ]
}
  • Effect
    설명문의 허용(Allow) 혹은 거절(Deny)를 명시적으로 표현
  • Action
    허용할 권한 리스트
  • Resource
    정책이 적용되는 리소스 리스트
  • Condition
    해당 권한을 부여하기 위한 조건

AWS 액세스

AWS 액세스를 위한 세 가지 방법이 있다.

  • AWS Management Console : protected by password + MFA
  • AWS Command Line Interface (CLI) : protectd by access key
  • AWS Software Developer Kit (SDK) - for code : protected by access key

IAM Role

특정 AWS 서비스들은 사용하기 위해 권한이 필요하다.
따라서 권한이 없지만 신뢰할 수 있는 개체가 AWS 서비스를 사용하기 위해서는 권한을 부여해야 한다.
-> IAM Role은 AWS 서비스를 사용하기 위한 권한 세트!


IAM 모범 사례

  • 루트 계정은 AWS 계정을 설정할 때 이외에는 사용하지 않는다.
  • 하나의 AWS 사용자는 한 명의 실제 사용자를 의미한다.
  • 사용자를 그룹에 넣어 해당 그룹에 권한을 부여할 수 있다.
    그룹 수준에서 보안을 관리하는 것이 유연하게 권한을 관리할 수 있다.
  • 강한 비밀번호 정책을 사용하라.
    MFA를 적극적으로 사용하라.
  • AWS에 권한을 부여할 때마다 역할을 만들고 사용하라.
  • CLI나 SDK를 사용할 경우 반드시 액세스 키를 생성하라.
  • 계정의 권한을 검사할 때는 IAM 자격 증명 보고서와 IAM 액세스 분석기를 사용하라.
  • 절대로 액세스 키를 공유하자 마라.

0개의 댓글