システムポリシーがビジネス要件を満たしていない場合は、最小権限の原則を実装するためにカスタムポリシーを作成できます。カスタムポリシーを使用すると、権限をきめ細かく管理し、リソースアクセスセキュリティを向上させることができます。このトピックでは、Simple Message Queue (formerly MNS)のカスタムポリシーが使用されるシナリオについて説明します。また、カスタムポリシーの例も示します。
カスタムポリシーとは
Resource Access Management (RAM )ポリシーは、システムポリシーとカスタムポリシーに分類されます。カスタムポリシーは自分で管理する必要があります。
カスタムポリシーを作成した後、RAM ユーザー、ユーザーグループ、または RAM ロールにアタッチする必要があります。これにより、ポリシーで指定された権限がプリンシパルに付与されます。
プリンシパルにアタッチされていない RAM ポリシーは削除できます。RAM ポリシーがプリンシパルにアタッチされている場合は、RAM ポリシーを削除する前に、プリンシパルからデタッチする必要があります。
カスタムポリシーはバージョン管理をサポートしています。RAM が提供するバージョン管理メカニズムに基づいて、カスタムポリシーのバージョンを管理できます。
関連情報
SMQ コンソールでのカスタムポリシーの作成
Simple Message Queue (formerly MNS)リソースに [SMQ コンソール] からアクセスするか、SMQ API を呼び出すことで、以下のカスタムポリシーを作成できます。
キュー管理
操作 | 説明 | アクション | リソース |
キューのリストを照会します。 | mns:ListQueue | acs:mns:${regionId}:${accountId}:/queues | |
キューを作成します。 | mns:CreateQueue | acs:mns:${regionId}:${accountId}:/queues/${queueName} | |
| キューを削除します。 | mns:DeleteQueue | acs:mns:${regionId}:${accountId}:/queues/${queueName} | |
| キューの属性を照会します。 | mns:GetQueueAttributes | acs:mns:${regionId}:${accountId}:/queues/${queueName} | |
| キューの属性を設定します。 | mns:SetQueueAttributes | acs:mns:${regionId}:${accountId}:/queues/${queueName} |
トピック管理
操作 | 説明 | アクション | リソース |
トピックのリストを照会します。 | mns:ListTopic | acs:mns:${regionId}:${accountId}:/topics | |
トピックを作成します。 | mns:CreateTopic | acs:mns:${regionId}:${accountId}:/topics/${topicName} | |
| トピックを削除します。 | mns:DeleteTopic | acs:mns:${regionId}:${accountId}:/topics/${topicName} | |
| トピックの属性を照会します。 | mns:GetTopicAttributes | acs:mns:${regionId}:${accountId}:/topics/${topicName} | |
| トピックの属性を設定します。 | mns:SetTopicAttributes | acs:mns:${regionId}:${accountId}:/topics/${topicName} |
サブスクリプション管理
操作 | 説明 | アクション | リソース |
サブスクリプションのリストを照会します。トピック名を指定すると、SMQ はトピック名に基づいてサブスクリプションをフィルタリングします。 | mns:ListSubscriptionByTopic | acs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions | |
サブスクリプションの属性を照会します。 | mns:GetSubscriptionAttributes | acs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions/${subscriptionName} | |
| サブスクリプションの属性を設定します。 | mns:SetSubscriptionAttributes | acs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions/${subscriptionName} | |
| 特定のトピックのメッセージをサブスクライブします。 | mns:Subscribe | acs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions/${subscriptionName} | |
| 特定のトピックのメッセージのサブスクリプションを解除します。 | mns:Unsubscribe | acs:mns:${regionId}:${accountId}:/topics/${topicName}/subscriptions/${subscriptionName} |
カスタムポリシーの例
クライアント SDK を使用したカスタムポリシーの作成
クライアント SDK を使用してメッセージを送受信する場合、Simple Message Queue (formerly MNS)は、以下のカスタムポリシーをサポートしています。詳細については、「関数別の操作リスト」をご参照ください。
キュー関連のメッセージング
操作 | 説明 | アクション | リソース |
キューにメッセージを送信します。 | mns:SendMessage | acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages | |
| 一度に複数のメッセージをキューに送信します。 | mns:SendMessage | acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages | |
| キューからメッセージを受信します。 | mns:ReceiveMessage | acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages | |
| 一度に複数のメッセージをキューから受信します。 | mns:ReceiveMessage | acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages | |
| 消費されたメッセージを削除します。 | mns:DeleteMessage | acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages | |
| 一度に複数のメッセージをキューから削除します。 | mns:DeleteMessage | acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages | |
| メッセージを照会します。 | mns:PeekMessage | acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages | |
| 一度に複数のメッセージを照会します。 | mns:PeekMessage | acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages | |
| 非アクティブ状態のままになっている消費済みメッセージが再び消費できるようになるまでの期間を変更します。 | mns:ChangeMessageVisibility | acs:mns:${regionId}:${accountId}:/queues/${queueName}/messages |
トピック関連のメッセージング
操作 | 説明 | アクション | リソース |
特定のトピックにメッセージをパブリッシュします。 | mns:PublishMessage | acs:mns:${regionId}:${accountId}:/topics/${topicName}/messages |