Boto3를 사용하여 다른 계정의 S3 버킷에 액세스하는 동안 Lambda가 시간 초과 됨

AWS_ 개발자

boto3를 사용하여 AWS Lambda에서 다른 계정의 S3 버킷에 액세스하려고합니다. 다음은 제가 구성한 단계입니다.
1. Lambda가있는 계정 A에서 실행 역할 (Lambda-S3-SNS-VPC-Role)을 생성하고 AmazonS3FullAccess 관리 형 정책 하나와 인라인 정책 하나를 다음과 같이 연결합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1489133353000",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": [
                "arn:aws:iam::<Account-B-ID>:role/access-s3-bucket-from-lambda-in-another-acc-role"
            ]
        }
    ]
}

내 S3 버킷이있는 계정 B에서 다음과 같이 IAM 역할 (access-s3-bucket-from-lambda-in-another-acc-role)을 생성했습니다.-연결된 AmazonS3FullAccess 관리 형 정책 및 신뢰 관계 :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<Account-A-ID>:role/Lambda-S3-SNS-VPC-Role",
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

또한 계정 B의 S3 버킷에서 아래 버킷 정책을 제공했습니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<Account-A-ID>:role/Lambda-S3-SNS-VPC-Role"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::my-bucket-in-acc-B",
                "arn:aws:s3:::my-bucket-in-acc-B/*"
            ]
        }
    ]
}

아래는 내 Lambda 함수 코드입니다.

def lambda_handler(event, context):
    sts_connection = boto3.client('sts')

    acct_b = sts_connection.assume_role(
        RoleArn="arn:aws:iam::<Account-B-ID>:role/access-s3-bucket-from-lambda-in-another-acc-role",
        RoleSessionName="cross_acct_lambda"
    )
    print('acct_b: ',acct_b)

그러나 테스트하는 동안 아무 일도 일어나지 않고 함수가 시간 초과됩니다. 안내해주세요.

John Rotenstein

함수가 시간 초과되는 이유를 잘 모르겠지만 다른 접근 방식을 권장하고 싶습니다.

  • Account-AIAM 역할로 실행되는 Lambda 함수Lambda-S3-SNS-VPC-Role
  • Bucket-BAccount-B액세스를 허용하는 버킷 정책 Lambda-S3-SNS-VPC-Role(위에 표시된대로이 정확히)

그게 전부입니다!

없다 IAM 역할을 가정 할 필요 에서 Account-B의 버킷 정책 때문에 Bucket-B람다 함수에 의해 사용되는 IAM 역할에서 액세스를 허용됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

AWS Lambda를 사용하여 AWS의 한 s3 버킷에서 다른 버킷으로 파일 이동

분류에서Dev

다른 계정의 Lambda 내 AWS Athena에서 S3 파일을 쿼리하는 동안 액세스가 거부되었습니다.

분류에서Dev

boto3를 사용하여 AWS에서 S3 액세스 키가 특정 버킷에 액세스 할 수 있는지 여부를 확인하는 방법

분류에서Dev

Python boto3를 사용하여 많은 수의 버킷에서 S3 기본 서버 측 암호화

분류에서Dev

s3cmd를 사용하여 2 개의 s3 버킷 간 동기화가 작동하지 않음

분류에서Dev

Lambda가 15 분을 초과하는 S3의 두 폴더간에 csv 파일을 복사합니다.

분류에서Dev

IAM 사용자가 S3 버킷 정책에 지정된 경우에도 액세스가 거부 됨

분류에서Dev

Boto3로 SQS 메시지를 삭제하는 동안 연결 시간 초과를 방지하는 방법

분류에서Dev

boto3를 사용하여 S3 버킷에서 파일을 다운로드 할 때 ValueError?

분류에서Dev

내 EC2가 동일한 계정의 s3 버킷에 액세스 할 수 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

Travis CI : S3에 아티팩트를 업로드하면 "액세스하려는 버킷이 지정된 엔드 포인트를 사용하여 주소 지정되어야합니다."가 표시됩니다.

분류에서Dev

boto3에서 액세스 포인트를 사용하여 S3 버킷에서 읽고 쓰기

분류에서Dev

한 버킷에서 이미지를 가져와 S3 boto의 다른 버킷에 넣는 방법

분류에서Dev

EC2의 AWS S3 버킷에 저장된 Python 스크립트를 실행하고 결과 파일을 다시 S3 버킷에 저장

분류에서Dev

boto3 및 python flask를 사용하여 S3 버킷에 CSV 파일을 업로드하는 동안 오류 500

분류에서Dev

http 프록시 통합을 사용하여 람다에서 액세스하는 s3 버킷의 올바른 퍼블릭 액세스 구성은 무엇입니까?

분류에서Dev

boto3를 사용하여 공용 버킷에서 다운로드

분류에서Dev

퍼블릭 액세스 가능한 S3 버킷을 사용할 때 다른 퍼블릭 액세스 가능한 S3 버킷 및 객체 이름과 충돌하지 않는 방법은 무엇입니까?

분류에서Dev

다른 계정에서 생성 된 Lambda 함수를 실행하도록 Amazon s3 버킷 구성

분류에서Dev

boto3를 사용하여 s3 버킷을 비우는 가장 빠른 방법은 무엇입니까?

분류에서Dev

boto3 클라이언트에 연결할 때 Lambda 함수가 시간 초과 됨

분류에서Dev

boto3를 사용하여 Python 람다에서 S3 동기화 호출

분류에서Dev

Azure VM에서 s3 버킷에 액세스하는 동안 AWS 액세스 키 문제

분류에서Dev

s3 버킷 다른 계정을 가리키는 Lambda 계층

분류에서Dev

다른 계정에서 s3 버킷에 추가 된 파일에서 거부 된 s3 액세스를 해결하는 방법은 무엇입니까?

분류에서Dev

S3에서 1000 개의 버킷 한도 초과 / 액세스 포인트 사용

분류에서Dev

$ resource를 사용할 때 페이지와의 동기화를 기다리는 동안 각도기가 시간 초과 됨

분류에서Dev

Shrine을 사용하여 폴더간에 AWS S3 버킷의 파일 이동

분류에서Dev

세션 시간 초과가 작동하지 않음 (web.config에 설정 됨)

Related 관련 기사

  1. 1

    AWS Lambda를 사용하여 AWS의 한 s3 버킷에서 다른 버킷으로 파일 이동

  2. 2

    다른 계정의 Lambda 내 AWS Athena에서 S3 파일을 쿼리하는 동안 액세스가 거부되었습니다.

  3. 3

    boto3를 사용하여 AWS에서 S3 액세스 키가 특정 버킷에 액세스 할 수 있는지 여부를 확인하는 방법

  4. 4

    Python boto3를 사용하여 많은 수의 버킷에서 S3 기본 서버 측 암호화

  5. 5

    s3cmd를 사용하여 2 개의 s3 버킷 간 동기화가 작동하지 않음

  6. 6

    Lambda가 15 분을 초과하는 S3의 두 폴더간에 csv 파일을 복사합니다.

  7. 7

    IAM 사용자가 S3 버킷 정책에 지정된 경우에도 액세스가 거부 됨

  8. 8

    Boto3로 SQS 메시지를 삭제하는 동안 연결 시간 초과를 방지하는 방법

  9. 9

    boto3를 사용하여 S3 버킷에서 파일을 다운로드 할 때 ValueError?

  10. 10

    내 EC2가 동일한 계정의 s3 버킷에 액세스 할 수 있는지 확인하는 방법은 무엇입니까?

  11. 11

    Travis CI : S3에 아티팩트를 업로드하면 "액세스하려는 버킷이 지정된 엔드 포인트를 사용하여 주소 지정되어야합니다."가 표시됩니다.

  12. 12

    boto3에서 액세스 포인트를 사용하여 S3 버킷에서 읽고 쓰기

  13. 13

    한 버킷에서 이미지를 가져와 S3 boto의 다른 버킷에 넣는 방법

  14. 14

    EC2의 AWS S3 버킷에 저장된 Python 스크립트를 실행하고 결과 파일을 다시 S3 버킷에 저장

  15. 15

    boto3 및 python flask를 사용하여 S3 버킷에 CSV 파일을 업로드하는 동안 오류 500

  16. 16

    http 프록시 통합을 사용하여 람다에서 액세스하는 s3 버킷의 올바른 퍼블릭 액세스 구성은 무엇입니까?

  17. 17

    boto3를 사용하여 공용 버킷에서 다운로드

  18. 18

    퍼블릭 액세스 가능한 S3 버킷을 사용할 때 다른 퍼블릭 액세스 가능한 S3 버킷 및 객체 이름과 충돌하지 않는 방법은 무엇입니까?

  19. 19

    다른 계정에서 생성 된 Lambda 함수를 실행하도록 Amazon s3 버킷 구성

  20. 20

    boto3를 사용하여 s3 버킷을 비우는 가장 빠른 방법은 무엇입니까?

  21. 21

    boto3 클라이언트에 연결할 때 Lambda 함수가 시간 초과 됨

  22. 22

    boto3를 사용하여 Python 람다에서 S3 동기화 호출

  23. 23

    Azure VM에서 s3 버킷에 액세스하는 동안 AWS 액세스 키 문제

  24. 24

    s3 버킷 다른 계정을 가리키는 Lambda 계층

  25. 25

    다른 계정에서 s3 버킷에 추가 된 파일에서 거부 된 s3 액세스를 해결하는 방법은 무엇입니까?

  26. 26

    S3에서 1000 개의 버킷 한도 초과 / 액세스 포인트 사용

  27. 27

    $ resource를 사용할 때 페이지와의 동기화를 기다리는 동안 각도기가 시간 초과 됨

  28. 28

    Shrine을 사용하여 폴더간에 AWS S3 버킷의 파일 이동

  29. 29

    세션 시간 초과가 작동하지 않음 (web.config에 설정 됨)

뜨겁다태그

보관