我不完全確定這是否是我應該問的問題,因此請隨時提交修改。如何使用aws憑證安全地簽署請求?
我正在開發一個桌面應用程序,我打算分發和使用亞馬遜波利閱讀用戶輸入的文本。我無法理解如何安全地允許用戶在我們的程序下訪問該服務而無需公開訪問密鑰。
我在前面的例子中看到,我應該創建一個使用資源的請求,在服務器中擁有訪問和祕密訪問密鑰,並對請求進行簽名。然後將其發送回桌面應用程序上的用戶。
如果這是正確的,有人可以解釋並給我一個簡單的例子,說明如何在python中完成此操作?謝謝。 :)
這裏是我到目前爲止,我想是在代碼客戶端下載:
from boto3 import client
import boto3
import StringIO
from contextlib import closing
polly = boto3.client(
'polly',
region_name='us-east-1',
aws_access_key_id='I_want_to_protect_this',
aws_secret_access_key='I_also_want_to_protect_this'
)
response = polly.synthesize_speech(
Text="Good Morning. My Name is Rajesh. I am Testing Polly AWS Service For Voice Application.",
OutputFormat="mp3",
VoiceId="Raveena")
print(response)
if "AudioStream" in response:
with closing(response["AudioStream"]) as stream:
data = stream.read()
fo = open("pollytest.mp3", "w+")
fo.write(data)
fo.close()
您可以嘗試使用Cognito以避免必須混淆請求。 –
您是否說您希望您的客戶能夠使用AWS賬戶中的憑證直接撥打AWS?你是否意識到自己無法限制他們多次稱呼它,這可能會導致額外的費用?或者你希望他們通過你的申請*而不是直接向Polly *提出請求嗎? –
@JohnRotenstein我不知道有什麼區別。我實際上只想讓我的桌面應用程序能夠爲用戶調用特定事件的請求。 I.E.用戶打開應用程序,它給他們一個自定義的問候語「早上好大衛,我找到了一些資源給你......」然而,挑戰是這是一個可下載的桌面應用程序 – Davidhall