

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 保持されたメッセージポリシーの例
<a name="retained-message-policy-examples"></a>

[保持されているメッセージ](mqtt.md#mqtt-retain)の使用には、特定のポリシーが必要です。保持メッセージは、RETAIN フラグを設定して発行され、 によって保存される MQTT メッセージです AWS IoT Core。このセクションでは、保持されたメッセージの一般的な使用を許可するポリシーの例を紹介します。

**Topics**
+ [保持されたメッセージを接続して発行するためのポリシー](#retained-message-policy-examples-publish)
+ [保持された Will メッセージを接続して発行するためのポリシー](#retained-message-policy-examples-publish-lwt)
+ [保持されたメッセージを一覧表示して取得するためのポリシー](#retained-message-policy-examples-list-get)

## 保持されたメッセージを接続して発行するためのポリシー
<a name="retained-message-policy-examples-publish"></a>

デバイスが保持されたメッセージを発行するには、デバイスが、接続、発行 (任意のMQTTメッセージ)、そして保持されたMQTTメッセージを発行できる必要があります。次のポリシーにより、トピックに対するアクセス権限が付与されます。クライアント**device1**に`device/sample/configuration`。接続のアクセス許可を付与する別の例については、[接続および公開ポリシーの例](connect-and-pub.md)を参照。

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"iot:Connect"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:client/device1"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"iot:Publish",
				"iot:RetainPublish"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:topic/device/sample/configuration"
			]
		}
	]
}
```

## 保持された Will メッセージを接続して発行するためのポリシー
<a name="retained-message-policy-examples-publish-lwt"></a>

クライアントは、クライアント AWS IoT Core が予期せず切断したときに発行するメッセージを設定できます。MQTT はこのようなメッセージを[*ウィル*メッセージ](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/errata01/os/mqtt-v3.1.1-errata01-os-complete.html#_Will_Flag)と呼びます。それらを包括するために、クライアントは、接続許可に追加して追加条件を持つ必要があります。

次のポリシードキュメントは、 AWS IoT Core も保持するであろうトピック`will`により明確になった Will メッセージに接続発行する権限をすべてのクライアントに付与します。

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"iot:Connect"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:client/device1"
			],
			"Condition": {
				"ForAllValues:StringEquals": {
					"iot:ConnectAttributes": [
						"LastWill"
					]
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"iot:Publish",
				"iot:RetainPublish"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:topic/will"
			]
		}
	]
}
```

## 保持されたメッセージを一覧表示して取得するためのポリシー
<a name="retained-message-policy-examples-list-get"></a>

サービスとアプリケーションは、MQTT クライアントをサポートしなくても、[https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_ListRetainedMessages.html](https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_ListRetainedMessages.html)および[https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_GetRetainedMessage.html](https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_GetRetainedMessage.html)を呼び出す事によって保持されたメッセージにアクセスする事ができます。これらのアクションを呼び出すサービスとアプリケーションは、次の例のようなポリシーを使用して認証される必要があります。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:ListRetainedMessages"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:client/device1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:GetRetainedMessage"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/foo"
            ]
        }
    ]
}
```