

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 一般/自訂授權要求
<a name="concepts-general-authorization"></a>

一般授權可讓您存取裝置，讓您使用登入資料控制多個裝置，而不需要個別使用者登入資料。與提供使用者層級授權的 OAuth 2.0 不同，一般授權會使用儲存在 中的預先共用金鑰、字符或其他授權機制 AWS Secrets Manager。

透過一般授權，您的 C2C 連接器可以支援 OAuth 2.0 以外的授權機制，包括 API 金鑰、承載字符和第三方平台提供的自訂授權機制。此方法特別適用於在計劃或組織層級管理裝置，而不是由個別最終使用者管理的情況。

## C2C 連接器如何使用秘密進行一般授權
<a name="general-auth-secrets-manager"></a>

AWS Secrets Manager 是一種秘密儲存服務，可保護敏感登入資料，例如 API 金鑰和字符。秘密會使用 AWS Key Management Service 金鑰加密。如需詳細資訊，請參閱[「AWS Secrets Manager 使用者指南」](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)。

對於一般授權，您可以將授權憑證存放在 Secrets Manager 中，並授予 C2C 連接器存取這些秘密的許可。當受管整合調用您的連接器時，它會提供 Secrets Manager ARN 和版本 ID。連接器會擷取秘密值，並使用它來驗證第三方平台。

此方法可確保受管整合永遠不會直接處理您的長期憑證。您的連接器可完全控制登入資料管理和字符產生，使解決方案可擴展到第三方平台支援的任何授權機制。

**重要**  
建議您不要在任何日誌中記錄敏感的登入資料或字符。不過，如果它們存放在日誌中，我們建議您使用 CloudWatch Logs 資料保護政策來遮罩日誌中的字符。如需詳細資訊，請參閱[使用遮罩功能協助保護敏感日誌資料](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html)。

## 如何建立一般授權的秘密
<a name="general-auth-create-secret"></a>

若要建立一般授權的秘密，請遵循 AWS Secrets Manager 《 使用者指南》中的[建立 AWS Secrets Manager 秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)中的步驟。

您必須使用客戶受管 AWS KMS 金鑰建立秘密，C2C 連接器才能讀取秘密值。如需詳細資訊，請參閱 AWS Secrets Manager 《 使用者指南》中的[AWS KMS 金鑰許可](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-authz)。

使用 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 連接器擷取秘密的存取權
<a name="general-auth-grant-access"></a>

若要允許受管整合從 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 連接器擷取秘密值。條件金鑰可確保只有來自您特定帳戶關聯的請求才能存取秘密，以協助防止混淆代理人問題。