RAMの操作
RAMユーザーを作成する
Alibaba Cloudコンソールにログオンし、左側のナビゲーションバーからResource Access Managementをクリックして、RAMコンソールを開きます。
RAMコンソールで[ユーザー]をクリックします。
[ユーザー管理]ページで[ 新規ユーザー ]をクリックします。
ログイン名とその他の詳細を入力し、このユーザーのAccesskeyを自動生成にチェックを入れ、 [OK] をクリックします。
AK情報を保存をクリックして、AKファイルをダウンロードします。
RAMポリシーを作成する
RAMコンソールで 権限付与ポリシー管理> カスタマイズ権限付与ポリシー> 権限付与ポリシーを作成 をクリックします。
ポップアップダイアログで空白のテンプレートを選択します。
ポリシーを編集して注釈に記入し、権限ポリシーを作成をクリックします。
メッセージサービスのポリシーの例:
{
"Statement": [
{
"Action": "mns:*",
"Effect": "Allow",
"Resource": "acs:mns:*:*:*"
}
],
"Version": "1"
}
ポリシー形式の詳細については、RAMドキュメントを参照してください。
ポリシーを使用してRAMユーザーを認証する
RAMコンソールの左側のバーで[ユーザー]をクリックします。
RAMユーザーを見つけ、右側のアクションリストで[許可]をクリックします。
ポップアップダイアログでポリシーを探し、それを選択して右クリックし、[OK] をクリックします。
RAMユーザーによるMNSへのアクセスをテストします。ここにpython SDKがあります:
- Python SDKの最新バージョンをダウンロードします。
- AK()とエンドポイントを使用してsample.cfg構成ファイルを設定します。
- $ python sample.py を実行します。
- RAMユーザは、エラーがなければメッセージサービスにアクセスできます。
ポリシーサンプル
サンプル1:メッセージサービスにアクセスするための送信元IPに制限を追加する。
メッセージサービスでは、42.120.88.0/24と42.120.66.0/24からアクセスできます。
{
"Statement": [
{
"Action": "mns:*",
"Effect": "Allow",
"Resource": "acs:mns:*:*:*"
}
],
"Version": "1",
"Condition":{
"IpAddress": {
"acs:SourceIp": ["42.120.88.0/24", "42.120.66.0/24"]
}
}
}
Sample2:送信元IPを拒否します。
メッセージサービスは発信元IP 42.120.88.0 / 24 からの操作でないものを拒否します。
{
"Statement": [
{
"Action": "mns:*",
"Effect": "Deny",
"Resource": "acs:mns:*:*:*"
}
],
"Version": "1",
"Condition":{
"NotIpAddress": {
"acs:SourceIp": ["42.120.88.0/24"]
}
}
}
Sample3:RAMユーザーを読み取り専用にします。
クエリキュー/トピック操作のみが許可されます。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"mns:ListQueue",
"mns:ListTopic",
"mns:GetQueueAttributes",
"mns:GetTopicAttributes"
],
"Resource": "acs:mns:*:*:*"
}
]
}
ポリシーアクションマッピングへのAPI
メッセージサービスAPI | ポリシーアクション | リソース |
---|---|---|
ListQueue | mns:ListQueue | acs:mns:$region:$accountid:/queues |
CreateQueue | mns:CreateQueue | acs:mns:$region:$accountid:/queues/$queueName |
DeleteQueue | mns:DeleteQueue | ACS:MNS:$ リージョン :$のアカウントID:/キュー/ $のQUEUENAME |
SetQueueAttributes | mns:SetQueueAttributes | acs:mns:$region:$accountid:/queues/$queueName |
GetQueueAttributes | mns:GetQueueAttributes | acs:mns:$region:$accountid:/queues/$queueName |
SendMessage/BatchSendMessage | mns:SendMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
ReceiveMessage/BatchReceiveMessage | mns:ReceiveMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
DeleteMessage | mns:DeleteMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
PeekMessage/BatchPeekMessage | mns:PeekMessage | acs:mns:$region:$accountid:/queues/$queueName/messages |
ChangeMessageVisibility | mns:ChangeMessageVisibility | acs:mns:$region:$accountid:/queues/$queueName/messsages |
ChangeMessageVisibility | mns:ChangeMessageVisibility | acs:mns:$region:$accountid:/queues/$queueName/messsages |
CreateTopic | mns:CreateTopic | acs:mns:$region:$accountid:/topics/$topicName |
CreateTopic | mns:CreateTopic | acs:mns:$region:$accountid:/topics/$topicName |
SetTopicAttributes | mns:SetTopicAttributes | acs:mns:$region:$accountid:/topics/$topicName |
GetTopicAttributes | mns:GetTopicAttributes | acs:mns:$region:$accountid:/topics/$topicName |
ListSubscriptionByTopic | mns:ListSubscriptionByTopic | acs:mns:$region:$accountid:/topics/$topicName/subscriptions |
Subscribe | mns:Subscribe | acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
Unsubscribe | mns:Unsubscribe | acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
SetSubscriptionAttributes | mns:SetSubscriptionAttributes | acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
GetSubscriptionAttributes | mns:GetSubscriptionAttributes | acs:mns:$region:$accountid:/topics/$topicName/subscriptions/$subscriptionName |
PublishMessage | mns:PublishMessage | acs:mns:$region:$accountid:/topics/$topicName/messages |