0

問題如何從EC2託管的應用程序訪問Cognito身份而不需要訪問API網關?

在一個高的水平,我想在授權根據用戶的具體Cognito提供的身份我的應用程序的某些功能。

更具體地說,我想在我的EC2託管的Tomcat應用程序中執行此操作,而不依賴於API網關。

一個例子

例如,我的RESTful服務可能在helloworld.com/tastyTreats/foo/tastyTreats/bar有資源。當tastyTreat在數據庫中列出爲由特定Cognit標識符擁有時,我只想允許對這些資源進行寫入訪問。

說該數據庫是這樣的:

{"TreatName":"foo", "Owner":"Alice"}, 

{"TreatName":"bar", "Owner":"Bob"}, 

... 

因此,通過Cognito認定爲鮑勃用戶應該有helloworld.com/tastyTreats/bar寫訪問,但應該訪問/tastyTreats/foohit a 403

我希望能夠在我的EC2實例中執行此授權,因爲其(實質上)無限靈活性。而且,如果可行,我想避免需要滾動API網關 - 這是一個非常小的應用程序,我希望儘可能簡單。

其他AWS提供此功能的

直EC2旁邊的其他服務的服務提供了基於真實身份改變行爲的能力:

謝謝!

回答

2

如果您使用Cognito身份池,您將無法從EC2實例自行完成此任務。這隻能通過其他AWS服務(如API網關身份屬性)才能使用。如果您使用的是Cognito用戶池,那麼這是一個標準的JWT/JWK實現(使用OIDC我相信),以便您可以從EC2實例自己實現。

相關問題