AWS Lambda 애플리케이션에 대한 권한 경계 사용 - AWS Lambda

AWS Lambda 애플리케이션에 대한 권한 경계 사용

AWS Lambda 콘솔에서 애플리케이션을 생성할 때 Lambda은 애플리케이션의 IAM 역할에 권한 경계를 적용합니다. 권한 경계는 애플리케이션의 템플릿이 각 함수와 템플릿에 추가되는 역할에 대해 생성하는 실행 역할의 범위를 제한합니다. 권한 경계는 애플리케이션의 Git 저장소에 대한 쓰기 권한을 가진 사용자가 애플리케이션의 권한을 자체 리소스의 범위를 초과해 에스컬레이션하지 못하도록 합니다.

Lambda 콘솔의 애플리케이션 템플릿에는 해당 템플릿이 생성하는 모든 함수에 권한 경계를 적용하는 전역 속성이 포함되어 있습니다.

Globals: Function: PermissionsBoundary: !Sub 'arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/${AppId}-${AWS::Region}-PermissionsBoundary'

경계는 함수의 역할 권한을 제한합니다. 템플릿에서 함수의 실행 역할에 권한을 추가할 수 있지만, 해당 권한은 권한 경계에서도 허용하는 경우에만 유효합니다. 애플리케이션을 배포하기 위해 AWS CloudFormation에서 수임하는 역할은 권한 경계를 사용합니다. 이 역할에는 애플리케이션의 권한 경계가 연결된 역할을 생성해 전달할 권한만 있습니다.

기본적으로 애플리케이션의 권한 경계를 사용하면 함수가 애플리케이션의 리소스에 대한 작업을 수행할 수 있습니다. 예를 들어 애플리케이션에 Amazon DynamoDB 테이블이 포함되어 있는 경우라면 경계를 통해 리소스 수준 권한이 있는 특정 테이블에서 작동하도록 제한할 수 있는 모든 API 작업에 액세스할 수 있습니다. 경계에서 특별히 허용하는 경우에는 리소스 수준 권한을 지원하지 않는 작업만 사용할 수 있습니다. 여기에는 로깅과 추적을 위한 Amazon CloudWatch Logs 및 AWS X-Ray API 작업이 포함됩니다.

예 권한 경계

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "*" ], "Resource": [ "arn:aws:lambda:us-east-2:123456789012:function:my-app-getAllItemsFunction-*", "arn:aws:lambda:us-east-2:123456789012:function:my-app-getByIdFunction-*", "arn:aws:lambda:us-east-2:123456789012:function:my-app-putItemFunction-*", "arn:aws:dynamodb:us-east-1:123456789012:table/my-app-SampleTable-*" ], "Effect": "Allow", "Sid": "StackResources" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:PutLogEvents", "xray:Put*" ], "Resource": "*", "Effect": "Allow", "Sid": "StaticPermissions" }, ... ] }

다른 리소스 또는 API 작업에 액세스하려면 사용자 또는 관리자가 이러한 리소스를 포함하도록 권한 경계를 확장해야 합니다. 추가 작업을 사용할 수 있도록 애플리케이션의 실행 역할 또는 배포 역할을 업데이트해야 할 수도 있습니다.

  • 권한 경계 – 애플리케이션에 리소스를 추가하거나 실행 역할이 더 많은 작업에 액세스해야 할 때 애플리케이션의 권한 경계를 확장합니다. IAM에서 경계에 리소스를 추가하여 해당 리소스 유형에 대한 리소스 수준 권한을 지원하는 API 작업을 사용할 수 있습니다. 리소스 수준 권한을 지원하지 않는 작업의 경우, 리소스로 범위가 지정되지 않은 문에 해당 작업을 추가합니다.

  • 실행 역할 – 추가 작업을 사용해야 할 때 함수의 실행 역할을 확장합니다. 애플리케이션 템플릿에서 실행 역할에 정책을 추가합니다. 경계 및 실행 역할에서의 권한 교차가 함수에 부여됩니다.

  • 배포 역할 – 리소스를 생성 또는 구성하는 데 추가 권한이 필요한 경우 애플리케이션의 배포 역할을 확장합니다. IAM에서 애플리케이션의 배포 역할에 정책을 추가합니다. 배포 역할에는 AWS CloudFormation에서 애플리케이션을 배포하거나 업데이트할 때 필요한 것과 동일한 사용자 권한이 필요합니다 .

애플리케이션에 리소스를 추가하고 권한을 확장하는 방법에 대한 자습서는 Lambda 콘솔에서 지속적 전달을 사용하는 애플리케이션 생성 단원을 참조하십시오.

자세한 내용은 IAM 사용 설명서의 IAM 엔터티에 대한 권한 경계를 참조하십시오.