배경:
메가존클라우드를 통해 마켓플레이스 등록하면서 발생했던 예상치 못한 상황들을 기록합니다.
전에는 직접 seller로 제품을 AWS 마켓플레이스에 등록했었는데, 이번에는 메가존클라우드를 통해서 제품을 등록하게 됨
이럴 경우 기존과 동일하게 람다를 세팅하면 ResolveCustomer API 를 사용할 수 없습니다.
ResolveCustomer API 는 마켓플레이스에서 등록한 제품에 사용자가 접근했을때 aws 측에서 제공하는 regToken 을 통해 사용자의 정보(제품명, awsid 등) 을 알아내기 위해 사용하는데, seller account 만 사용이 가능합니다.
seller account 가 아닌 계정에서 해당 API를 콜하면
ERROR Error resolving customer: AccessDeniedException: User is not authorized to call ResolveCustomer for this product.
에러가 발생합니다..
seller 계정이 아닌 계정에서 해당 API 를 사용하려면 몇가지 권한 설정을 해줘야 합니다.
seller 계정의 권한을 위임할 계정을 A 라고 가정하겠습니다.
1. seller 계정에서 A 에 위임한 role 정보 제공
2. A 계정에서 ResolveCustomer API 를 사용할 때 제공받은 RoleArn, ExternalID 사용하여 임시 자격 증명 설정(assumerole)
const command = new AssumeRoleCommand({
RoleArn: "arn:aws:iam::{Seller account AWS ID}:role/{Seller account 에서 제공한 Role}",
RoleSessionName: "AssumeRoleSession1",
ExternalId: "{seller account 에서 설정한 externalId",
'AWS' 카테고리의 다른 글
[DB] EBS Deep dive (2) | 2024.10.03 |
---|---|
[EKS] PVC 로 EBS 동적 프로비저닝하기 (0) | 2024.09.29 |
[AWS] SSM, KSM (1) | 2024.09.29 |
[EKS] Python 코드로 EKS 클러스터 접근하기 (0) | 2024.09.29 |
[AWS] Assume role (0) | 2024.09.29 |