Lambda에서 속성 기반 액세스 제어 사용

Lambda에서 속성 기반 액세스 제어 사용 (Using attribute-based access control in Lambda)

속성 기반 액세스 제어(ABAC)를 사용하면 태그로 Lambda 리소스에 대한 액세스를 제어할 수 있습니다. 특정 Lambda 리소스에 태그를 연결하거나, 특정 API 요청에 태그를 연결하거나, 요청을 하는 AWS Identity and Access Management(IAM) 보안 주체(principal)에 태그를 연결할 수 있습니다. AWS가 속성 기반 액세스 권한을 부여하는 방법에 대한 자세한 내용은 IAM 사용 안내서의 태그를 사용한 AWS 리소스 액세스 제어를 참조하세요.

출처: AWS Lambda 개발자 안내서

본문

ABAC를 사용하면 IAM 정책에서 Amazon 리소스 이름(ARN)이나 ARN 패턴을 지정하지 않고 최소 권한(least privilege)을 부여할 수 있습니다. 대신 IAM 정책의 조건(condition) 요소에 태그를 지정해 액세스를 제어할 수 있습니다. ABAC를 사용하면 새 리소스를 만들 때마다 IAM 정책을 업데이트할 필요가 없어 확장이 더 쉽습니다. 대신 새 리소스에 태그를 추가해 액세스를 제어하세요.

Lambda에서 태그는 다음 리소스에 적용됩니다:

  • 함수(Functions) — 함수 태그 지정에 대한 자세한 내용은 Lambda 함수에서 태그 사용을 참조하세요.
  • 코드 서명 구성(Code signing configurations) — 코드 서명 구성 태그 지정에 대한 자세한 내용은 코드 서명 구성에서 태그 사용을 참조하세요.
  • 이벤트 소스 매핑(Event source mappings) — 이벤트 소스 매핑 태그 지정에 대한 자세한 내용은 이벤트 소스 매핑에서 태그 사용을 참조하세요.

레이어에는 태그가 지원되지 않습니다.

태그를 기반으로 IAM 정책 규칙을 작성하는 데 다음 조건 키를 사용할 수 있습니다:

  • aws:ResourceTag/tag-key — Lambda 리소스에 연결된 태그를 기반으로 액세스를 제어합니다.
  • aws:RequestTag/tag-key — 새 함수를 만들 때처럼 요청에 태그가 있어야 하도록 요구합니다.
  • aws:PrincipalTag/tag-key — IAM 보안 주체(요청하는 사람)의 IAM 사용자 또는 역할에 연결된 태그를 기반으로 그가 수행할 수 있는 작업을 제어합니다.
  • aws:TagKeys — 요청에서 특정 태그 키를 사용할 수 있는지 제어합니다.

조건을 지원하는 작업에 대해서만 조건을 지정할 수 있습니다. 각 Lambda 작업이 지원하는 조건 목록은 Service Authorization Reference의 AWS Lambda 작업, 리소스 및 조건 키를 참조하세요. aws:ResourceTag/tag-key 지원은 "AWS Lambda가 정의한 리소스 유형"을, aws:RequestTag/tag-key 및 aws:TagKeys 지원은 "AWS Lambda가 정의한 작업"을 참조하세요.

관련 주제

  • 태그로 함수 보안 유지

더 알아보기 (Learn more)

  • Lambda 태그 사용
  • IAM 속성 기반 액세스 제어
  • AWS 리소스 태그 기반 액세스 제어