Amazon cognito를 사용하여 AWS 리소스 이외의 리소스에 대한 액세스 제어를 제공 할 수 있습니까? 액세스가 제어되어야하는 REST API 엔드 포인트가 있다고 가정하십시오. Amazon cognito를 사용하여 이러한 엔드 포인트에 대한 권한을 어떻게 부여 할 수 있습니까?Amazon cognito - 비 aws 리소스에 대한 인증
답변
Cognito Federated Identity 서비스는 사용자에게 고유 한 ID를 생성하고 ID 공급자와 연합 할 수 있습니다. ID를 사용하면 일시적으로 제한된 권한의 AWS 자격증을 획득하여 Amazon Cognito Sync와 데이터를 동기화하거나 다른 AWS 서비스에 직접 액세스 할 수 있습니다 . 추가 정보를 보려면 여기를 참조하십시오 http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html
따라서, Cognito 페더레이션 ID 서비스가 아닌 AWS 자원에 대한 액세스 제어를 제공하지 않습니다.
두 가지 유형의 Cognito 서비스 즉, AWS Cognito UserPools와 AWS Cognito Federated Identities가 있습니다.
AWS Cognito UserPools는 AWS 내부 또는 외부의 모든 응용 프로그램에 대한 인증을 지원하는 ID 공급자입니다.
제어해야 할 REST API 엔드 포인트가 인 것으로 가정합니다. Amazon cognito를 사용하여 이러한 종단점에 대한 승인을 제공하려면 어떻게해야합니까?
내부 또는 외부 서비스에서 확인할 수있는 id_token (openid 범위가 지정된 경우)이라는 JWT 토큰을 발행하도록 AWS Cognito UserPools를 구성 할 수 있습니다. JWT 토큰 확인에 대한 자세한 내용은 Using ID Tokens and Access Tokens in your Web APIs을 참조하십시오.
AWS Cognito Federated Identities는 AWS 리소스 액세스를 외부 응용 프로그램에 연합하기위한 것입니다. 이는 사용 사례에 맞지 않을 수 있습니다.
REST API에 API 게이트웨이를 사용하는 경우 권한 부여 도구를 사용하여 사용자 풀 권한 부여 자나 사용자 정의 권한 부여 프로그램을 사용하여 권한 부여자를 사용할 수 있습니다 – dege