0

현재 iOS 앱에서 Cognito 솔루션을 구현하려고합니다. 이제 내가 보는 유일한 문제는 다음과 같습니다.iOS 앱의 Cognito 용 동적 AuthRole

내 앱을 사용하는 클라이언트가 여러 개인 경우 하나가 각각 고유 한 버킷을 사용합니다. 현재 각 버킷에 대해 각각 IAM 역할과 IAM 역할이 여러 개 있습니다. (기밀 유지)

내가 Cognito를 볼 때, 사용자가 버켓에 요청할 때 사용할 AuthRole을 하드 코딩해야하는 것처럼 보입니다. 그 관점에서, 현재의 구조는 작동하지 않으며, 내가 원하는 것을 확신 할 수 없다. 하나의 역할은 모든 클라이언트 버킷 이미지와 비디오에 액세스 할 수있다.

이 문제를 해결할 수있는 방법이 있습니까? 내가 볼 수있는 또 다른 가능성은 내 iOS 앱에 기본 하드 코드 AuthRole이 필요한 일종의 서버를 만들고 사용자 매개 변수에 따라 각각의 버킷 및 ec2 인스턴스에 대해 각각의 AuthRole을 반환한다는 것입니다. 그것은 고려해야 할 것입니까?

모든 고객에게 iOS가 하나 있습니다.

감사합니다.

참고 # 2 : 임시 자격 증명을위한 Token Vending Machine의 몇 가지 예를 살펴 보았습니다.하지만 자습서와 샘플의 용어는 훌륭했습니다. 나는 장고 백엔드를 사용하고있다.

답변

0

Cognito/IAM Policies & S3 Get Object을 참조하십시오. 트릭은 $ {cognito-identity.amazonaws.com:sub} 변수를 사용하는 것입니다. 자체 네임 스페이스 아래의 리소스에 액세스하도록 해당 ID를 제한 할 수 있습니다. DynamoDB에 액세스하려는 경우 다음과 같이 읽으려는 문서가 있습니다. Fine-Grained Access Control for DynamoDB

+0

각각의 역할을 한 가지로만 제한하고 싶습니다. (X 역할, X 버킷의 경우, X 클라이언트의 경우). 따라서 하나의 풀을 만들 수는 있지만 좋은 고객에게 어떻게 좋은 역할을 되돌려 놓을 수 있습니까? 그것이 바로 내 자동 판매기가 제대로 작동하는 곳입니까? – abisson

+0

@abisson이 목적을 위해 토큰 자동 판매기를 만들 필요는 없습니다. 기본적으로 2 가지 역할 만 수행 할 수 있지만 앱으로 원할 경우 더 많은 기능을 만들고 사용할 수 있습니다. –