Lambda 함수에 ABAC를 사용하도록 설정하기

2371 단어 abaclambdaaws
먼저 팀별 태깅을 사용하여 Lambda 함수를 생성할 수 있는 올바른 권한이 있는 정책을 설정해야 합니다. 이를 위해 우리는 팀 알파와 팀 베타를 사용할 것입니다.

{
   "Version":"2012-10-17",
   "Statement":{
      "Effect":"Allow",
      "Action":[
         "lambda:CreateFunction",
         "lambda:TagResource"
      ],
      "Resource":"arn:aws:lambda:*:*:function:*",
      "Condition":{
         "StringEquals":{
            "aws:RequestTag/Team":[
               "Alpha",
               "Beta"
            ]
         },
         "ForAllValues:StringEquals":{
            "aws:TagKeys":"Team"
         }
      }
   }
}


다음으로 리소스 태그가 Team Alpha로 설정된 경우에만 Lambda API 작업을 허용하는 또 다른 정책을 생성합니다.

{
   "Version":"2012-10-17",
   "Statement":{
      "Effect":"Allow",
      "Action":[
         "lambda:InvokeFunction"
      ],
      "Resource":"arn:aws:lambda:*:*:function:*",
      "Condition":{
         "StringEquals":{
            "aws:ResourceTag/Team":"Alpha"
         }
      }
   }
}


그런 다음 iam:PassRoleiam:ListRoles에 권한을 부여하는 정책이 하나 더 필요합니다.
iam:PassRole는 태그 기반 인증을 지원하지 않으므로 역할이 AWS 콘솔을 사용하여 기존 실행으로 함수를 생성하려면 ListRoles에 대한 권한이 필요하다는 점에 유의해야 합니다. 설정 프로세스에서 역할별 ARN으로 Resource를 업데이트해야 한다는 점에 유의하는 것도 중요합니다.

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"VisualEditor0",
         "Effect":"Allow",
         "Action":[
            "iam:ListRoles",
            "iam:PassRole"
         ],
         "Resource":[
            "Role specific ARN"
         ]
      }
   ]
}


이제 IAM 역할을 생성하고 이러한 정책 3개를 모두 연결한 다음 역할에 "Team: Alpha"태그를 지정해야 합니다. 마지막으로 사용자를 생성하고 새로 생성된 역할을 할당할 수 있습니다.

Lambda용 ABAC 사용에 대해 자세히 알아보려면 Building for Scale and Traceability Using ABAC for Lambda Functions을 확인하십시오.

좋은 웹페이지 즐겨찾기