클라우드 컴퓨팅
클라우드 컴퓨팅이란?
클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것을 말합니다. (AWS)
1. 민첩성
- 필요에 따라 리소스를 빠르게 구동하고 어플리케이션을 배포할 수 있다.
2. 탄력성
- 비즈니스 요구가 변화함에 따라 이러한 리소스를 확장하거나 축소하여 용량을 즉시 늘리거나 줄일 수 있다.
3. 비용 절감
- 클라우드를 통해 고정 비용(데이터 센터, 물리적 서버 등)을 가변 비용으로 전환하고, 사용한 만큼만 IT 비용을 지불할 수 있다.
- 직접 운영할 때보다 가변 비용이 훨씬 저렴하다.
4. 몇 분 만에 전 세계에 배포
- 클라우드를 사용하면 몇 분 만에 새로운 지리적 리전으로 확장하고 전 세계에 배포할 수 있다.
IAM (Identity & Access Manager)
- AWS 리소스를 안전하게 제어할 수 있도록 AWS 계정과 리소스의 권한을 관리하는 AWS 서비스
AWS 사용자 구분
1. 루트 계정 (Root Account)
- AWS에 가입할 때 자동으로 생성
- 계정의 모든 AWS 서비스 및 리소스에 대한 전체 액세스 권한 -> 보안 중요, MFA(Multi㎼Factor Authentication) 사용 추천
- AWS에서는 일상적인 작업 혹은 관리자 권한이 필요한 작업에도 루트 계정을 사용하지 않을 것을 권장하고 있다.
2. 사용자 (Users)
- The IAM user represents the human user or workload who uses the IAM user to interact with AWS.
- 유저는 그룹에 속할 수 있음.
- 관리자 권한을 가진 유저 !== 루트 계정
3. 그룹 (Groups)
- AWS 유저의 집합으로, 사용자 그룹을 활용하면 다수의 사용자들에 대한 권한을 지정함으로써 해당 사용자들에 대한 권한을 더 쉽게 관리할 수 있다.
- 하나의 유저는 여러 그룹에 속할 수 있고, 그룹에 속한 유저는 해당 그룹의 권한을 가진다.
- 그룹은 IAM 유저만 포함할 수 있고 그룹이 다른 그룹을 포함할 수 없다.
IAM Role (역할)
- AWS 내의 리소스에 액세스할 수 있는 권한을 할당할 수 있는 임시 자격 증명.
- 역할(Role)과 사용자(Users) 모두 AWS에서 자격 증명으로 할 수 있는 것과 할 수 없는 것을 결정하는 권한 정책을 포함하는 AWS 자격 증명이지만, 역할은 하나의 특정 개인/응용 프로그램에 연결되어 있지 않고 임시 작업을 위해 모든 사용자에게 역할을 할당할 수 있으며 해당 작업이 완료되면 해당 역할에 대한 액세스 권한을 취소할 수 있다.
IAM Policy (정책)
- 정책은 자격 증명이나 리소스와 연결될 때 해당 권한을 정의하는 AWS의 객체이다. == 유저, 그룹, 역할에 권한을 줄 때 사용한다.
- JSON 문서로 정의
{
"Version": "2012-10-17", # 정책 언어의 버전 LTS: 2012-10-17 버전 사용 권장
"Id": "AWS-Practice-Permission", # 정책의 ID (선택)
"Statement": [
{
"Sid": "FirstStatement", # Statement의 ID (선택)
"Effect": "Allow", # 정책에서 액세스를 허용하는지 또는 거부하는지 여부
"Action": ["iam:ChangePassword"], # 정책이 허용하거나 거부하는 작업 목록
"Resource": "*" # 작업이 적용되는 리소스 목록, 리소스 기반 정책을 생성하는 경우 선택 사항 -> 이 요소를 포함하지 않으면 작업이 적용되는 리소스는 정책이 연결된 리소스가 된다. (일부 상황에서만 필요)
},
{
"Sid": "SecondStatement",
"Effect": "Allow",
"Principle": { # 리소스 기반 정책을 생성하는 경우 액세스를 허용하거나 거부할 계정, 사용자, 역할 또는 페더레이션 사용자를 표시해야 한다. (일부 상황에서만 필요)
"AWS": ["arn:aws:iam:12345678912:root"]
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/*"
},
{
"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"}} # 정책에서 권한을 부여하는 상황을 지정 (선택)
}
]
}
Reference
https://aws.amazon.com/ko/what-is-cloud-computing/
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_root-user.html
https://www.appsecengineer.com/blog/aws-security-basics-iam-users-vs-roles-vs-groups
https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/access_policies.html
'ASC' 카테고리의 다른 글
6. Storage - S3 & CloudFront (0) | 2023.11.23 |
---|---|
5. RDS & DynamoDB (1) | 2023.11.16 |
Computing - Lightsail & EC2, Auto Scaling & ELB (0) | 2023.11.08 |
3. VPC & Route53 (0) | 2023.11.01 |
2. Container & Docker + CI/CD (1) | 2023.10.29 |