

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

# AWS 最終使用者簡訊簡訊中的雙向簡訊
<a name="two-way-sms"></a>

AWS 最終使用者簡訊簡訊包含對雙向簡訊的支援。設定雙向 SMS，可以接收客戶傳入的訊息。您也可以使用雙向傳訊搭配其他 AWS 服務，例如 Lambda 和 Amazon Lex，來建立互動式簡訊體驗。

當您的客戶傳送訊息到您的電話號碼時，訊息內文會傳送至 Amazon SNS 主題或 Amazon Connect 進行處理。

雙向簡訊僅適用於特定國家和區域。如需各國家或區域的雙向簡訊支援的詳細資訊，請參閱[SMS 和 MMS 國家/地區功能和限制](phone-numbers-sms-support-by-country.md)。

寄件者 IDs不支援雙向簡訊。

**注意**  
雙向簡訊僅適用於特定國家和區域。如需各國家或區域的雙向簡訊支援的詳細資訊，請參閱[SMS 和 MMS 國家/地區功能和限制](phone-numbers-sms-support-by-country.md)。  
不支援雙向 MMS，但您的電話號碼仍然可以接收傳入簡訊，以回應傳出 MMS 訊息。  
Amazon Connect for 雙向 SMS 可在 *Amazon Connect 管理員指南*中的[聊天訊息：SMS 子類型](https://docs.aws.amazon.com/connect/latest/adminguide/regions.html#chatmessaging_region)中 AWS 區域 列出的 中取得。

**Topics**
+ [設定電話號碼的雙向簡訊](two-way-sms-phone-number.md)
+ [設定電話集區的雙向簡訊](two-way-sms-pool.md)
+ [Amazon SNS 主題的 IAM 政策](two-way-sms-iam-policy.md)
+ [Amazon SNS 主題的主題政策](two-way-sms-iam-policy-auto.md)
+ [Amazon Connect 的 IAM 政策](two-way-connect-iam-policy.md)
+ [雙向簡訊承載範例](two-way-sms-payload.md)

# 在 AWS 最終使用者簡訊簡訊中設定電話號碼的雙向簡訊
<a name="two-way-sms-phone-number"></a>

AWS 最終使用者簡訊 SMS 包含對雙向簡訊的支援。設定雙向 SMS，可以接收客戶傳入的訊息。您也可以使用雙向傳訊與其他 AWS 服務，例如 Lambda 和 Amazon Lex，來建立互動式簡訊體驗。

當您的其中一個客戶傳送訊息到您的電話號碼時，訊息內文會傳送至 Amazon SNS 主題或 Amazon Connect 執行個體進行處理。

**注意**  
雙向簡訊僅適用於特定國家和區域。如需各國家或區域的雙向簡訊支援的詳細資訊，請參閱[SMS 和 MMS 國家/地區功能和限制](phone-numbers-sms-support-by-country.md)。
Amazon Connect for 雙向 SMS 可在 *Amazon Connect 管理員指南*中[聊天訊息：SMS 子類型](https://docs.aws.amazon.com/connect/latest/adminguide/regions.html#chatmessaging_region)中 AWS 區域 列出的 中取得。
不支援雙向 MMS，但您的電話號碼仍然可以接收傳入簡訊，以回應傳出 MMS 訊息。

------
#### [ Two-way SMS messaging (Console) ]

若要使用 AWS 最終使用者簡訊 SMS 主控台啟用雙向簡訊，請依照下列步驟執行：

**啟用雙向簡訊**

1. 開啟位於 https：//[https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/) 的 AWS 終端使用者簡訊主控台。

1. 在導覽窗格中，在**配置**下，選擇**電話號碼**。

1. 在**電話號碼**頁面上，選擇電話號碼。

1. 在**雙向簡訊**索引標籤上，選擇**編輯設定**按鈕。

1. 在**編輯設定**頁面上，選擇**啟用雙向訊息**。

1. 針對**目的地類型**，選擇 **Amazon SNS** 或 **Amazon Connect**。
   + 對於 Amazon SNS，請選擇**新的 Amazon SNS 主題**或**現有的 Amazon SNS 主題**，然後對於**雙向管道角色**，選擇**選擇現有的 IAM 角色****或使用 Amazon SNS 主題政策**。
     + **新的 Amazon SNS 主題** – 如果您選擇此選項， AWS 最終使用者傳訊簡訊會在您的帳戶中建立主題。系統將自動建立主題，並授予所有必要的許可。如需 Amazon SNS 主題的詳細資訊，請參閱《Amazon [Simple Notification Service ](https://docs.aws.amazon.com/sns/latest/dg/)[開發人員指南》中的設定 Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。
     + **現有的 Amazon SNS 主題** – 如果您選擇此選項，則必須從**傳入訊息目的地**下拉式清單中選擇現有的 Amazon SNS 主題。
     + 針對**雙向頻道角色**，選擇下列其中一項：
       + **選擇現有的 IAM 角色** – 選擇要套用至 Amazon SNS 主題的現有 IAM 政策。例如，Amazon SNS 政策請參閱 [Amazon SNS 主題的 IAM 政策](two-way-sms-iam-policy.md)。
       + **使用 Amazon SNS 主題政策** – Amazon SNS 主題需要適當的 Amazon SNS 主題政策，才能授予 AWS 最終使用者傳訊 SMS 的存取權。如需 Amazon SNS 政策的範例，請參閱 [Amazon SNS 主題的主題政策](two-way-sms-iam-policy-auto.md)。
   + 對於 Amazon Connect，在**雙向頻道角色**中，選擇**選擇現有的 IAM 角色**。
     + 在**現有 IAM 角色** 下拉式清單中，選擇現有的 IAM 角色作為訊息目的地。如需 IAM 政策的範例，請參閱 [Amazon Connect 的 IAM 政策](two-way-connect-iam-policy.md) 。

1. 選擇 **Save changes** (儲存變更)。

1. *（選用）* 如果您已選擇 Amazon Connect 做為**目的地類型**，請在將**電話號碼匯入 Amazon Connect **視窗中：

   1. 針對**傳入訊息目的地**下拉式清單，選擇將接收傳入訊息的 Amazon Connect 執行個體。

   1. 選擇**匯入電話號碼**。

------
#### [ Two-way SMS messaging (AWS CLI) ]

您可以使用 [update-phone-number](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/update-phone-number.html) 命令來啟用雙向 SMS。

在命令列中輸入以下命令：

```
$ aws pinpoint-sms-voice-v2 update-phone-number \
> --phone-number-id PhoneNumber \
> --two-way-enabled True \
> --two-way-channel-arn TwoWayARN \
> --two-way-channel-role TwoChannelWayRole
```

在上述命令中，進行下列變更：
+ 將 *PhoneNumber* 取代為電話號碼 的 PhoneNumberID 或 Amazon Resource Name (ARN)。
+ 將 *TwoWayARN* 取代為 Amazon Resource Name (ARN)，以接收傳入簡訊。如需 Amazon SNS 政策的範例，請參閱 [Amazon SNS 主題的主題政策](two-way-sms-iam-policy-auto.md)。若要將 Amazon Connect 設定為傳入目的地，請將 *TwoWayARN* 設定為 `connect.region.amazonaws.com`。將*區域*取代為託管於其中 AWS 區域 的 Amazon Connect 執行個體。
+ 將 *TwoChannelWayRole* 取代為要使用的 IAM 角色的 Amazon Resource Name (ARN)。如需 SNS 許可政策的範例，請參閱 [Amazon SNS 主題的 IAM 政策](two-way-sms-iam-policy.md) ，如需 Amazon Connect 政策的範例，請參閱 [Amazon Connect 的 IAM 政策](two-way-connect-iam-policy.md)。只有在您選擇使用 IAM 許可政策時，才需要此參數。

------

# 在 AWS 最終使用者簡訊簡訊中設定電話集區的雙向簡訊
<a name="two-way-sms-pool"></a>

使用 AWS 最終使用者簡訊 SMS 主控台或 AWS CLI ，為您的電話集區啟用雙向簡訊。

------
#### [ Two-way SMS messaging (Console) ]

若要使用 AWS 最終使用者簡訊 SMS 主控台啟用雙向簡訊，請依照下列步驟執行：

**啟用雙向簡訊**

1. 開啟位於 https：//[https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/) 的 AWS 終端使用者簡訊主控台。

1. 在導覽窗格中的**組態**下，選擇**電話集區**。

1. 在**電話集**區頁面上，選擇電話集區。

1. 在**雙向簡訊**索引標籤上，選擇**編輯設定**。

1. 在**編輯設定**頁面上，開啟**啟用雙向訊息**。

1. 針對**目的地類型**，選擇 **Amazon SNS** 或 **Amazon Connect**。
   + 對於 Amazon SNS，請選擇**新的 Amazon SNS 主題**或**現有的 Amazon SNS 主題**，然後對於**雙向管道角色**，選擇**選擇現有的 IAM 角色****或使用 Amazon SNS 主題政策**。
     + **新的 Amazon SNS 主題** – 如果您選擇此選項， AWS 最終使用者傳訊簡訊會在您的帳戶中建立主題。系統將自動建立主題，並授予所有必要的許可。如需 Amazon SNS 主題的詳細資訊，請參閱《Amazon SNS 開發人員指南》中的[設定 Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。**
     + **現有的 Amazon SNS 主題** – 如果您選擇此選項，則必須從**傳入訊息目的地**下拉式清單中選擇現有的 Amazon SNS 主題。
     + 針對**雙向頻道角色**，選擇下列其中一項：
       + **選擇現有的 IAM 角色** – 選擇要套用至 Amazon SNS 主題的現有 IAM 政策。例如，Amazon SNS 政策請參閱 [Amazon SNS 主題的 IAM 政策](two-way-sms-iam-policy.md)。
       + **使用 Amazon SNS 主題政策** – Amazon SNS 主題需要適當的 Amazon SNS 主題政策，才能授予 AWS 最終使用者傳訊 SMS 的存取權。如需 Amazon SNS 政策的範例，請參閱 [Amazon SNS 主題的主題政策](two-way-sms-iam-policy-auto.md)。
   + 針對**雙向通道角色**中的 Amazon Connect，選擇**選擇現有的 IAM 角色**。
     + 在**現有 IAM 角色** 下拉式清單中，選擇現有的 IAM 角色作為訊息目的地。如需 IAM 政策的範例，請參閱 [Amazon Connect 的 IAM 政策](two-way-connect-iam-policy.md) 。

1. 選擇 **Save changes** (儲存變更)。

------
#### [ Two-way SMS messaging (AWS CLI) ]

您可以使用 [update-pool](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/update-pool.html) 命令來啟用雙向 SMS。

在命令列中輸入以下命令：

```
$ aws pinpoint-sms-voice-v2 update-pool \
> --pool-id poolid \
> --two-way-channel-arn TwoWayARN \
> --two-way-channel-role TwoChannelWayRole
```

在上述命令中，進行下列變更：
+ 將 *poolid* 取代為電話號碼的 PhonePoolID 或 Amazon Resource Name (ARN)。
+ 將 *TwoWayARN* 取代為 Amazon Resource Name (ARN)，以接收傳入簡訊。如需 Amazon SNS 政策的範例，請參閱 [Amazon SNS 主題的主題政策](two-way-sms-iam-policy-auto.md)。若要將 Amazon Connect 設定為傳入目的地，請將 *TwoWayARN* 設定為 `connect.region.amazonaws.com`。將*區域*取代為託管於其中 AWS 區域 的 Amazon Connect 執行個體。
+ 將 *TwoChannelWayRole* 取代為要使用的 IAM 角色的 Amazon Resource Name (ARN)。如需 SNS 許可政策的範例，請參閱 [Amazon SNS 主題的 IAM 政策](two-way-sms-iam-policy.md) ，如需 Amazon Connect 政策的範例，請參閱 [Amazon Connect 的 IAM 政策](two-way-connect-iam-policy.md)。只有在您選擇使用 IAM 許可政策時，才需要此參數。

------

# Amazon SNS 主題的 IAM 政策
<a name="two-way-sms-iam-policy"></a>

如果您希望 AWS 最終使用者傳訊簡訊使用現有的 IAM 角色，或如果您建立新的角色，請將下列政策連接至該角色，以便 AWS 最終使用者傳訊簡訊可以擔任該角色。如需有關如何修改角色信任關係的資訊，請參閱《[https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html)》中的[修改角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_manage.html)。

以下是 IAM 角色的**信任政策**。在下列 IAM 政策中，進行下列變更：
+ 將 *accountId* 替換為 AWS 帳戶的唯一 ID。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "SMSVoice",
      "Effect": "Allow",
      "Principal": {
        "Service": "sms-voice.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "accountId"
        }
      }
    }
  ]
}
```

------

以下是 IAM 角色的**許可政策**。`SMSVoiceAllowSNSPublish` Sid 是允許發佈至 Amazon SNS 主題的許可政策，而 `SMSVoiceAllowEncryptedSNSTopics` Sid 是加密 Amazon SNS 主題的選項。

在下列 IAM 許可政策中，進行下列變更：
+ 將*分割區*取代為您使用 AWS 最終使用者傳訊 SMS 的 AWS 分割區。
+ 將*區域*取代 AWS 區域 為您使用 AWS 最終使用者簡訊簡訊的 。
+ 將 *accountId* 取代為您的 的唯一 ID AWS 帳戶。
+ 將 *snsTopicArn* 取代為將接收訊息的 Amazon SNS 主題。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SMSVoiceAllowSNSPublish",
            "Effect": "Allow",
            "Action": "sns:Publish",
            "Resource": "arn:aws:sns:us-east-1:111122223333:snsTopicArn",
            "Condition": {
                "StringEquals": {
                "aws:ResourceAccount": "111122223333"
                }
            }
        },
        {
            "Sid": "SMSVoiceAllowEncryptedSNSTopics",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                "kms:EncryptionContext:aws:sns:topicArn": "arn:aws:sns:us-east-1:111122223333:snsTopicArn",
                    "aws:CalledViaLast": "sns.amazonaws.com"
                }
            }
        }
    ]
}
```

------

# Amazon SNS 主題的主題政策
<a name="two-way-sms-iam-policy-auto"></a>

Amazon SNS 主題需要適當的主題政策，才能在 *TwoChannelWayRole* 參數中未提供 AWS 最終使用者簡訊 SMS 的存取權。

```
{
  "Effect": "Allow",
  "Principal": {
    "Service": "sms-voice.amazonaws.com"
  },
  "Action": "sns:Publish",
  "Resource": "snsTopicArn"  
}
```

在上述範例中，進行下列變更：
+ 將 *snsTopicArn* 取代為將傳送和接收訊息的 Amazon SNS 主題。

**注意**  
不支援 Amazon SNS FIFO 主題。

雖然 AWS 最終使用者簡訊 SMS 資料已加密，但您可以使用使用 AWS KMS 金鑰加密的 Amazon SNS 主題，以提高安全性。如果您的應用程式處理私有或敏感資料，多一層安全性將有幫助。

您需要執行額外的設定步驟，才能讓加密的 Amazon SNS 主題與雙向 SMS 一起使用。

下列範例陳述式使用 、選用但建議`SourceAccount``SourceArn`的條件，以避免混淆代理人問題，且只有 AWS 最終使用者傳訊簡訊擁有者帳戶可以存取。如需混淆代理人問題的詳細資訊，請參閱[《IAM 使用者指南》中的混淆代理人問題](https://docs.aws.amazon.com//IAM/latest/UserGuide/confused-deputy.html)。 *[https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html)*

首先您使用的金鑰必須*對稱*。加密的 Amazon SNS 主題不支援非對稱 AWS KMS 金鑰。

其次，必須修改金鑰政策，以允許 AWS 最終使用者傳訊簡訊使用金鑰。在現有金鑰政策中加入以下權限：

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "sms-voice.amazonaws.com"
    },
    "Action": [
        "kms:GenerateDataKey*",
        "kms:Decrypt"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "accountId"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sms-voice:region:accountId:*"
        }
     }
}
```

如需編輯金鑰政策的詳細資訊，請參閱 *AWS Key Management Service 開發人員指南*中的[變更金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)。

如需使用 AWS KMS 金鑰加密 Amazon SNS 主題的詳細資訊，請參閱《*Amazon Simple Notification Service 開發人員指南*》中的[啟用來自 AWS 服務和加密主題的事件來源之間的相容性](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#compatibility-with-aws-services)。

# Amazon Connect 的 IAM 政策
<a name="two-way-connect-iam-policy"></a>

如果您希望 AWS 最終使用者傳訊簡訊使用現有的 IAM 角色，或如果您建立新的角色，請將下列政策連接至該角色，以便 AWS 最終使用者傳訊簡訊可以擔任該角色。如需有關如何修改角色現有信任關係的資訊，請參閱《[https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html)》中的[修改角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_manage.html)。

若要建立新的 IAM 政策，請執行下列動作：

1. 依照《IAM 使用者指南》中的[使用 JSON 編輯器建立政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor)中的指示建立新的**許可政策**。

   1. 在步驟 4 中，使用下列定義的**許可政策**。

1. 依照《IAM 使用者指南》中的使用自訂**信任政策**建立角色的指示建立新的信任政策。 [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)

   1. 在步驟 4 中，使用下方定義的**信任政策**。

   1. 在步驟 11 中，新增您在上一個步驟中建立的**許可政策**。

以下是 IAM 角色允許發佈至 Amazon Connect 的**許可政策**。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "connect:SendChatIntegrationEvent"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

以下是 IAM 角色的**信任政策**，請進行下列變更：
+ 將 *accountId* 取代為您的 的唯一 ID AWS 帳戶。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "SMSVoice",
      "Effect": "Allow",
      "Principal": {
        "Service": "sms-voice.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "accountId"
        }
      }
    }
  ]
}
```

------

# Amazon SNS 主題的雙向簡訊承載範例
<a name="two-way-sms-payload"></a>

當您的號碼收到簡訊時， AWS 最終使用者簡訊簡訊會將 JSON 承載傳送至您指定的 Amazon SNS 主題。JSON 承載包含訊息和相關資料，如下列範例所示：

```
{
  "originationNumber":"+14255550182",
  "destinationNumber":"+12125550101",
  "messageKeyword":"JOIN",
  "messageBody":"EXAMPLE",
  "inboundMessageId":"cae173d2-66b9-564c-8309-21f858e9fb84",
  "previousPublishedMessageId":"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
}
```

傳入訊息承載包含以下資訊：


****  

| 屬性 | Description | 
| --- | --- | 
| `originationNumber` | 將傳入訊息傳送給您的電話號碼 (換句話說，即您客戶的電話號碼)。 | 
| `destinationNumber` | 客戶傳送訊息的目標電話號碼 (即您的專屬電話號碼)。 | 
| `messageKeyword` | 與您專屬電話號碼相關聯的已註冊關鍵字。 | 
| `messageBody` | 客戶傳送給您的訊息。 | 
| `inboundMessageId` | 傳入訊息的唯一識別符。 | 
| `previousPublishedMessageId` | 客戶所回應訊息的唯一識別符。 | 