일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파이썬
- SSA
- node
- crud
- S3
- 채팅
- SAA
- dict
- AWS
- 중급파이썬
- git
- pandas
- RDS
- lambda
- flask
- MongoDB
- Class
- socket io
- TypeScript
- 튜플
- 카톡
- wetube
- EC2
- Props
- async
- docker
- Vue
- merge
- NeXT
- react
- Today
- Total
초보 개발자
AWS CLI SDK IAM role, policy 본문
IAM role policy
IAM 정책은 미리 만들어진 정책을 사용할 수도 있지만 임의로 만들 수도 있다.
> 인라인 정책이란 사용자, 그룹, 역할에 one to one으로 명시한 정책이며 권고사항은 아니다.
AmazonS3ReadOnlyAccess라는 정책의 JSON내용을 보면
Action에 s3:Get* s3:List* 그리고 resource에 *이라고 적혀있는데
이 정책을 가지고 있으면 모든 s3의 Get과List로 시작하는 모든 API호출이 가능하다는 것을 의미한다.
AmazonS3FullAccess라는 정책의 JSON을 보면
s3:* , resource: *이렇게 되어있다. s3에 관한 모든 리소스에 대한 제한없는 API호출이 가능하다는 것을 의미한다.
resource를 지정하면 특정한 버킷이나 , 모든 리소스에 대해 설정할 수 있다.
특정 resource만을 지정하려면 해당 s3의ARN을 적어주면 된다.
정책을 만들면 버전관리도 가능해서 이전 버전으로 돌릴 수도 있다.
IAM policy simulater를 사용하여 해당 폴리시에서 실행할 수 있는 API들을 테스트해볼 수 있다.
권한 오류를 찾을 때 이걸 사용하면 쉽게 찾아낼 수 있을지도 모른다.
EC2 Metadata
인스턴스 내에서 curl http://169.254.169.254명령어를 입력하면
날짜가 뜨는 것을 확인할 수 있다. API curl의 버전이다.
curl http://169.254.169.254/latest/ (마지막 슬래시 꼭 입력)
하면 dynamic과 meta-data, user-data가 나온다.
meta-data에 접속하면 우리가 확인할 수 있는 정보들이 나오는데
user-data가 아님에 주의해라 이건 인스턴스가 처음 런칭 될때 실행되는 스크립트에 관한 정보이다.
예를들어 local-ipv4, instance-id...을 확인할 수 있다. 이건 지금 실행시키고 있는 EC2에 대한 정보들이다
이러한 것은 IAM정책을 주지 않았는데도 가능하다.
meta-data/iam/security-credentials/지정한role 명령어를 입력하면
액세스키, 시크릿키, 토큰이 나오는데 이게 뭐냐켠 해당 인스턴스가 API요청을 할 때(아마 폴리시에 대한 API겟지?) 이 정보들을 입력하여 호출한다고 한다.
만료기간은 1시간으로 계속 갱신되는 것 같다.
SDK
애플리케이션 코드에서 직접 AWS작업을 하기 위해서는 SDK가 필요하다.
기본 리전을 구성하지 않으면, 자동으로 us-east-1로 지정이 된다.
다양한 언어의 공식 sdk가 있다.
'AWS SAA' 카테고리의 다른 글
AWS 보안 (0) | 2023.02.10 |
---|---|
AWS S3 고급 (0) | 2023.02.09 |
AWS S3 (0) | 2023.02.07 |
AWS 솔루션 아키텍쳐 (0) | 2023.02.06 |
AWS Route 53 (0) | 2023.02.05 |