[AWS CDA] SAM, IAM(advanced), STS

Tag·2022년 9월 4일
0

AWS 자격증

목록 보기
19/24
post-thumbnail

SAM

서버리스 서비스들의 cloudFormation을 쉽게 만든 것이라 보면 된다. sam build -> sam package -> sam deploy 명령어를 치면, SAM Template -> Cloud Formation Template -> S3 -> CloudFormation 형식으로 진행된다.

  • S3ReadPolicy, SQSPollerPollicy, DynamoDBCrudPolicy 같은 정책을 설정한다.
  • 템플릿에 Transform / Resources 를 무조건 필요로 한다.

SAR

SAR이라는 저장소에 sam 패키지를 저장해놓고 다른 사용자가 바로 사용할 수 있게끔도 할 수 있다. 다른 사용자는 환경변수같은 변경해야 하는 서비스들만 설정해주면 바로 사용가능하다.

CodeDeploy와 SAM의 통합

lambda함수를 버전업할 때, 사용할 수 있다. canary deploy도 가능하다.


STS

최대 1시간까지 임시 보안 자격 증명을 얻어서 액세스 할 수 있다.

API

여러가지 API가 있으며, 밑은 예시이다.

  • AssumeRole: 계정 또는 교차 계정 내의 역할 자격 증명
  • AssumeRoleWithSAML: SAML로 로그인 한 역할 자격 증명
  • AssumeRoleWithWebIdentity: 요즘은 CUP을 대신 사용하는데, Oatuth2.0으로 얻을 수 있는 역할 자격 증명
  • GetSessionToken: MFA가 있는 경우, AWS 유저의 자격 증명
    • 이 경우, 적합한 IAM 폴리시가 필요함.
    • aws:MultiFactoerAuthPresent: "true" 조건을 줘야함.
    • 반환 값은 Access ID, Secret Key, Session Token, Expiration date 이 있음.
  • GetFederationToken: 엽합된 사용자의 임시자격 증명
  • GetCallerIdentity IAM 유저 or 롤의 디테일 정보 얻음(신원과 계정정보)
  • DecodeAuthorizationMessage 오류메세지를 디코딩

IAM 추가 정보

IAM 정책에서 no Permission과 explicit Deny랑 Allow는 다르다. explicit Deny가 제일 우선순위가 높다. 동적 폴리시를 통해서 aws:username 같은 것으로 변수를 통해 어떤 리소스에 동적으로 권한 부여를 할 수 있다.

inline & Managed Policy

AWS Managed Policy은 이미 있는 정책을 뜻한다. Customer Managed Policy는 우리가 커스텀해서 쓰는 정책이다. inline 정책은 각각에 권한을 주는데, 해당 정책이 사라지면 같이 사라진다. inline 정책의 템플릿은 2KB까지 사용 가능하다.

profile
블로그 변경: https://blog.taewan.link

0개의 댓글