worldint
mathengi
worldint
전체 방문자
오늘
어제
  • 분류 전체보기 (152)
    • infra, cloud (4)
      • aws (4)
    • TIL,WIL(일간,주간 회고) (57)
    • 컴퓨터 공학 (5)
      • 정보통신 (3)
      • 컴퓨터 구조 (2)
    • Math (1)
      • linear algebra (0)
      • 명제와 집합 (1)
    • Operating System (8)
      • Linux Ubuntu (1)
    • programming (66)
      • c , c++ (9)
      • c# (0)
      • java (2)
      • javascript (14)
      • Python (4)
      • github (1)
      • programing terms (12)
      • html, css (2)
      • docker (3)
      • algorithm_datastructure (5)
      • database (11)
      • flutter(dart) (2)
    • 항해99 부트캠프 (7)
      • 사전교육 (7)
    • 보안관련 (1)

블로그 메뉴

    공지사항

    인기 글

    태그

    • MongoDB
    • Blue/Green
    • AWS
    • ec2 #코드디플로이 #리눅스
    • NVM
    • MONGOOSE
    • 디비데드락
    • node
    • EC2
    • flutter #provider #error
    • db데드락
    • docker
    • Javascript
    • nodejs
    • ci/cd
    • CloudFront
    • NoSQL

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    worldint
    TIL,WIL(일간,주간 회고)

    [TIL]<s3, nestjs, aws-sdk> listObjectsV2 access denied 에러

    TIL,WIL(일간,주간 회고)

    [TIL]<s3, nestjs, aws-sdk> listObjectsV2 access denied 에러

    2024. 4. 2. 12:35

    nestjs서버에서 aws-sdk를 사용하여

    s3에 있는 객체리스트를 받아오는 코드 구현중 "access denied"에러 발생

    확인해보니 
    iam 계정에 붙은 정책에 action과 resource가 아래와 같이 있을 때,

    {
        "Statement": [
            {
                "Sid": "123",
                "Effect": "Allow",
                "Action": [
                	"s3:ListBucket",
                    "s3:GetObject",
                ],
                "Resource": [
                    "arn:aws:s3:::my-files/*"
                ]
            }       
        ]
    }

    ListBucket 액션의 대상 리소스는 버킷이어야 동작한다
    위와 같이 와일드카드(*)로 되어있으면 동작하지 않음 

    계속 GetObject는 되는데 왜 쟤만 access denied 되는지
    상관없는 버킷정책과, 객체에 붙은 권한 등에서 삽질을 하다가 
    확인함

     

     


    결론: ListBucket을 사용할 때는 Resource가 정확히 버킷이어야 함

     "Resource": [
                    "arn:aws:s3:::my-files"
                ]
                
                
                //getObject와 statement를 나눠주던가 resource를 아래와 같이 쓰던가 하면 됨
                
     "Resource": [
                    "arn:aws:s3:::my-files"
                    "arn:aws:s3:::my-files/*"
                ]

     

    'TIL,WIL(일간,주간 회고)' 카테고리의 다른 글

    [TIL][트러블 슈팅][rxjs]에러 처리  (0) 2024.06.22
    [TIL] http/1.1와 http/2 차이  (0) 2024.05.06
    [TIL]github actions aws-credential 에러 (간단한 트러블 슈팅)  (0) 2023.10.28
    [TIL] mongoose(몽고디비) dot notation, filtered positional operator  (0) 2023.10.25
    [TIL][리눅스] .env 파일 변경확인 법(aws 코드디플로이)  (0) 2023.10.25
      'TIL,WIL(일간,주간 회고)' 카테고리의 다른 글
      • [TIL][트러블 슈팅][rxjs]에러 처리
      • [TIL] http/1.1와 http/2 차이
      • [TIL]github actions aws-credential 에러 (간단한 트러블 슈팅)
      • [TIL] mongoose(몽고디비) dot notation, filtered positional operator
      worldint
      worldint
      공부한 내용들, 트러블 슈팅, 아티클 번역 등등 올리는 블로그입니다

      티스토리툴바

      단축키

      내 블로그

      내 블로그 - 관리자 홈 전환
      Q
      Q
      새 글 쓰기
      W
      W

      블로그 게시글

      글 수정 (권한 있는 경우)
      E
      E
      댓글 영역으로 이동
      C
      C

      모든 영역

      이 페이지의 URL 복사
      S
      S
      맨 위로 이동
      T
      T
      티스토리 홈 이동
      H
      H
      단축키 안내
      Shift + /
      ⇧ + /

      * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.