

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

# 設定 AWS Secrets Manager 存取權杖身分驗證
<a name="channel-assembly-access-configuration-access-configuring"></a>

當您想要使用 AWS Secrets Manager 存取權杖身分驗證時，請執行下列步驟：

1. 您可以[建立 AWS Key Management Service 客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。

1. 您可以[建立 AWS Secrets Manager 秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html)。秘密包含您的存取字符，以加密秘密值的形式存放在 Secrets Manager 中。MediaTailor 使用 AWS KMS 客戶受管金鑰來解密秘密值。

1. 您可以將 AWS Elemental MediaTailor 來源位置設定為使用 Secrets Manager 存取權杖身分驗證。

下一節提供如何設定 AWS Secrets Manager 存取權杖身分驗證step-by-step指引。

**Topics**
+ [步驟 1：建立 AWS KMS 對稱客戶受管金鑰](#channel-assembly-access-configuration-access-token-how-to-create-kms)
+ [步驟 2：建立 AWS Secrets Manager 秘密](#channel-assembly-access-configuration-access-token-how-to-create-secret)
+ [步驟 3：使用存取權杖身分驗證設定 MediaTailor 來源位置](#channel-assembly-access-configuration-access-token-how-to-enable-access-token-auth)

## 步驟 1：建立 AWS KMS 對稱客戶受管金鑰
<a name="channel-assembly-access-configuration-access-token-how-to-create-kms"></a>

您可以使用 AWS Secrets Manager 以`SecretString`存放在秘密中的 形式存放存取字符。透過使用您建立、擁有和管理的*AWS KMS 對稱客戶受管金鑰*來`SecretString`加密 。MediaTailor 使用對稱客戶受管金鑰來協助存取具有授權的秘密，以及加密和解密秘密值。

客戶受管金鑰可讓您執行下列任務：
+ 建立和維護金鑰政策
+ 建立和維護 IAM 政策和授予操作
+ 啟用和停用金鑰政策
+ 輪換密碼編譯金鑰材料
+ 新增 標籤

  如需有關 Secrets Manager 如何使用 AWS KMS 來保護秘密的資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的 主題 [AWS Secrets Manager 如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-secrets-manager.html) 。

  如需客戶受管金鑰的詳細資訊，請參閱《*AWS Key Management Service 開發人員指南*》中的[客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

**注意**  
AWS KMS 使用客戶受管金鑰需支付 費用 如需定價的詳細資訊，請參閱 [AWS Key Management Service 定價](https://aws.amazon.com/kms/pricing/)頁面。

您可以使用 AWS KMS AWS 管理主控台 或以程式設計方式使用 AWS KMS APIs 建立對稱客戶受管金鑰。

### 建立對稱客戶受管金鑰
<a name="channel-assembly-access-configuration-access-token-create-symmetric-key"></a>

遵循《 開發人員指南》中[建立對稱客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)的步驟。 *AWS Key Management Service *

請記下金鑰 Amazon Resource Name (ARN)；您需要在 中使用它[步驟 2：建立 AWS Secrets Manager 秘密](#channel-assembly-access-configuration-access-token-how-to-create-secret)。

### 加密內容
<a name="channel-assembly-access-configuration-access-token-encryption-context"></a>

*加密內容*是一組選用的金鑰值對，包含資料的其他相關內容資訊。

Secrets Manager 在加密和解密 時包含加密[內容](https://docs.aws.amazon.com/kms/latest/developerguide/services-secrets-manager.html#asm-encryption-context)`SecretString`。加密內容包含秘密 ARN，將加密限制為該特定秘密。為了增加安全性，MediaTailor 會代表您建立 AWS KMS 授予。MediaTailor 會套用 [GrantConstraints](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) 操作，只允許我們*解密*與 Secrets Manager 加密內容中所含秘密 ARN `SecretString`相關聯的 。

如需有關 Secrets Manager 如何使用加密內容的資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[加密內容](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)主題。

### 設定金鑰政策
<a name="channel-assembly-access-configuration-access-token-key-policy"></a>

金鑰政策會控制客戶受管金鑰的存取權限。每個客戶受管金鑰都必須只有一個金鑰政策，其中包含決定誰可以使用金鑰及其使用方式的陳述式。建立客戶受管金鑰時，您可以使用預設金鑰政策。如需更多資訊，請參閱《*AWS Key Management Service 開發人員指南*》中的 [AWS KMS驗證與存取控制](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)。

若要將客戶受管金鑰與 MediaTailor 來源位置資源搭配使用，您必須將許可授予呼叫 [CreateSourceLocation](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_CreateSourceLocation.html) 或 [UpdateSourceLocation](https://docs.aws.amazon.com/mediatailor/latest/apireference/API_UpdateSourceLocation.html) 的 IAM 主體，以使用下列 API 操作：
+ `kms:CreateGrant`：新增客戶受管金鑰的授權。MediaTailor 會在您的客戶受管金鑰上建立授權，讓它使用金鑰來建立或更新以存取字符身分驗證設定的來源位置。如需在 [中使用授權 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)的詳細資訊，請參閱 *AWS Key Management Service 開發人員指南。*

  這可讓 MediaTailor 執行下列動作：
  + 呼叫 ，`Decrypt`讓它可以在呼叫 [GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html) 時成功擷取 Secrets Manager 秘密。
  + 在刪除來源位置或撤銷對秘密的存取時，呼叫 `RetireGrant`以淘汰授予。

以下是您可以為 MediaTailor 新增的政策陳述式範例：

```
{
        "Sid": "Enable MediaTailor Channel Assembly access token usage for the MediaTailorManagement IAM role",
        "Effect": "Allow",
        "Principal": {
        "AWS": "arn:aws:iam::account number:role/MediaTailorManagement"
    },
     "Action": "kms:CreateGrant",
     "Resource": "*",
     "Condition": {
         "StringEquals": {
             "kms:ViaService": "mediatailor.region.amazonaws.com"
        }
    }
}
```

如需在政策中指定許可和疑難排解金鑰存取的詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[在 中授予 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。

## 步驟 2：建立 AWS Secrets Manager 秘密
<a name="channel-assembly-access-configuration-access-token-how-to-create-secret"></a>

使用 Secrets Manager 以 AWS KMS 客戶受管金鑰`SecretString`加密的 形式存放您的存取字符。MediaTailor 使用 金鑰來解密 `SecretString`。如需有關 Secrets Manager 如何使用 AWS KMS 來保護秘密的資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的 主題 [AWS Secrets Manager 如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-secrets-manager.html) 。

如果您使用 AWS Elemental MediaPackage 做為來源位置原始伺服器，且想要使用 MediaTailor Secrets Manager 存取權杖身分驗證，請遵循程序 [與使用 CDN 授權的 MediaPackage 端點整合](channel-assembly-access-configuration-access-token-integrating-emp-cdn-auth.md)。

您可以使用 或以 AWS 管理主控台 程式設計方式使用 Secrets Manager APIs 建立 Secrets Manager 秘密。

### 若要建立機密
<a name="channel-assembly-access-configuration-access-token-create-secret"></a>

遵循*AWS Secrets Manager 《 使用者指南*》中的[使用 建立和管理秘密 AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html)的步驟。

建立秘密時，請注意下列考量事項：
+ [KmsKeyId](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ReplicaRegionType.html#SecretsManager-Type-ReplicaRegionType-KmsKeyId) 必須是您在步驟 1 中建立之客戶受管金鑰的金鑰 [ARN](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html)。
+ 您必須提供 [SecretString](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html#SecretsManager-CreateSecret-request-SecretString)。`SecretString` 應該是有效的 JSON 物件，其中包含包含存取權杖的金鑰和值。例如，\$1"MyAccessTokenIdentifier"："112233445566"\$1。值長度必須介於 8-128 個字元之間。

  當您使用存取權杖身分驗證設定來源位置時，您可以指定 `SecretString`金鑰。MediaTailor 使用 金鑰來查詢和擷取存放在 中的存取字符`SecretString`。

  記下秘密 ARN 和 `SecretString`金鑰。當您將來源位置設定為使用存取權杖身分驗證時，將使用它們。

### 連接以資源為基礎的秘密政策
<a name="channel-assembly-access-configuration-access-token-secret-policy"></a>

若要讓 MediaTailor 存取秘密值，您必須將資源型政策連接至秘密。如需詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的[將許可政策連接至 Secrets Manager Secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html)。

以下是您可以為 MediaTailor 新增的政策陳述式範例：

------
#### [ JSON ]

****  

```
{

    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "mediatailor.amazonaws.com" 
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-name" 
        } 
    ] 

}
```

------

## 步驟 3：使用存取權杖身分驗證設定 MediaTailor 來源位置
<a name="channel-assembly-access-configuration-access-token-how-to-enable-access-token-auth"></a>

您可以使用 AWS 管理主控台 或使用 MediaTailor APIs 以程式設計方式設定 Secrets Manager 存取字符身分驗證。

**使用 Secrets Manager 存取權杖身分驗證設定來源位置**

請遵循*AWS Elemental MediaTailor 《 使用者指南*[Access configuration](channel-assembly-creating-source-locations.md#access-configuration-console)》中的 的步驟。