本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
一般/自訂授權要求
一般授權可讓您存取裝置,讓您使用登入資料控制多個裝置,而不需要個別使用者登入資料。與提供使用者層級授權的 OAuth 2.0 不同,一般授權會使用儲存在 中的預先共用金鑰、字符或其他授權機制 AWS Secrets Manager。
透過一般授權,您的 C2C 連接器可以支援 OAuth 2.0 以外的授權機制,包括 API 金鑰、承載字符和第三方平台提供的自訂授權機制。此方法特別適用於在計劃或組織層級管理裝置,而不是由個別最終使用者管理的情況。
C2C 連接器如何使用秘密進行一般授權
AWS Secrets Manager 是一種秘密儲存服務,可保護敏感登入資料,例如 API 金鑰和字符。秘密會使用 AWS Key Management Service 金鑰加密。如需詳細資訊,請參閱「AWS Secrets Manager 使用者指南」。
對於一般授權,您可以將授權憑證存放在 Secrets Manager 中,並授予 C2C 連接器存取這些秘密的許可。當受管整合調用您的連接器時,它會提供 Secrets Manager ARN 和版本 ID。連接器會擷取秘密值,並使用它來驗證第三方平台。
此方法可確保受管整合永遠不會直接處理您的長期憑證。您的連接器可完全控制登入資料管理和字符產生,使解決方案可擴展到第三方平台支援的任何授權機制。
重要
建議您不要在任何日誌中記錄敏感的登入資料或字符。不過,如果它們存放在日誌中,我們建議您使用 CloudWatch Logs 資料保護政策來遮罩日誌中的字符。如需詳細資訊,請參閱使用遮罩功能協助保護敏感日誌資料。
如何建立一般授權的秘密
若要建立一般授權的秘密,請遵循 AWS Secrets Manager 《 使用者指南》中的建立 AWS Secrets Manager 秘密中的步驟。
您必須使用客戶受管 AWS KMS 金鑰建立秘密,C2C 連接器才能讀取秘密值。如需詳細資訊,請參閱 AWS Secrets Manager 《 使用者指南》中的AWS KMS 金鑰許可。
使用 JSON 結構將您的授權憑證存放在秘密中。確切的格式取決於第三方平台的授權需求。常見的範例包括:
-
API 金鑰:
{"apiKey": "your-api-key-value"} -
承載字符:
{"token": "your-bearer-token"} -
使用者名稱和密碼:
{"username": "your-username", "password": "your-password"} -
Machine-to-machine的 OAuth 登入資料:
{"client_id": "your-client-id", "client_secret": "your-client-secret", "audience": "your-audience"}
您還必須設定下一節所述的 IAM 政策,授予 C2C 連接器擷取秘密的存取權。
授予 C2C 連接器擷取秘密的存取權
若要允許受管整合從 Secrets Manager 擷取秘密值,請在建立秘密時,在秘密的資源政策中包含下列許可:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "c2c-connector-account-id" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:iotmanagedintegrations:region:account-id:account-association/account-association-id" } } } ] }
此政策會授予受管整合許可,以代表 C2C 連接器擷取秘密值。條件金鑰可確保只有來自您特定帳戶關聯的請求才能存取秘密,以協助防止混淆代理人問題。