0

API 게이트웨이를 사용하여 프록시와 같은 S3 서비스와 같은 AWS 서비스가 잘 작동합니다.AWS API 게이트웨이 사용자 정의 인증 자 및 AWS 서비스 통합을 사용한 보안

그러나 보안은 추가 고려 사항으로 보입니다. AWS 서비스 통합에 사용되는 실행 역할은 고객 인증 프로그램을 사용할 때 통합 서비스를 열어 두는 것처럼 보입니다.

API 게이트웨이의 사용자 지정 인증 기관은 principalId (예 : userId) 및 IAM 정책 문서를 반환합니다. userId/principalId가 S3 객체의 경로에 있어야하는 서비스 통합의 실행 역할을위한 IAM 정책을 어떻게 구축 할 수 있습니까?

e.e. 커스텀 오서 라이저 + S3 통합 사용 principalId가 오브젝트 태그 또는 경로의 일부인 특정 키 공간에만 오브젝트 액세스를 보안하는 방법은 무엇입니까? http://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html 또는 http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/policy-keys-cwe.html

답변

1

동일한 문제가있었습니다. 여기 내가 그 길로 어떻게 해결 했는가.

는 사용자 1이 자신의 데이터와 그 공간에 접근 할 필요가 있다고 가정 사용자 지정에서

domain/user1/object1 
domain/user1/object2 

이다 작성한 인증은 사용자가 액세스 할 수있는 정책을 반환 할 수 있습니다 전용 도메인/사용자 1/*. 어느 패턴을 사용하고 원하는 네임 스페이스로 스토리지를 구성 할 수 있습니다. 여러 사용자에 대한 네임 스페이스를 확장하려는 경우에 당신은

domain/user1/* 
domain/managers/* 

에 액세스 할 수 있습니다 그리고 APIGateway는 나머지를 다룰 것이다. 사용자가 위의 URL 경로 이외의 다른 것에 액세스하려고하면 사용자는 403을 금지하게됩니다. 당신은 내가 CloudFront를이 URL과 Cognito을 체결 추천 할 것입니다 인증을 원하는 경우

는 또한

http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html

, AWS의 설명서를 따라 완벽하게 작동합니다.