초보 개발자

AWS CLI SDK IAM role, policy 본문

AWS SAA

AWS CLI SDK IAM role, policy

taehyeki 2023. 2. 8. 07:57

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