ApsaraMQ for RabbitMQ は、オープンソースモードと RAM モードの 2 つの認証および権限モードを提供します。オープンソースクライアントを使用して ApsaraMQ for RabbitMQ サーバーにアクセスする場合、認証のためにユーザー名とパスワードを提供する必要があります。正常に認証された後にのみ、サーバーにアクセスできます。
背景情報
ApsaraMQ for RabbitMQ は、[オープンソースの認証と権限管理] と [Alibaba Cloud Resource Access Management (RAM)] の 2 つの認証および権限モードをサポートしています。インスタンスを作成するときに選択できるモードは 1 つだけで、後でモードを変更することはできません。次の表は、2 つのモードを比較したものです。
認証および権限モード | 説明 | 範囲 | 長所と短所 |
カスタムのユーザー名とパスワードを作成し、ユーザーに権限を付与できます。 | クライアント SDK |
| |
ユーザー名とパスワードは、Alibaba Cloud Resource Access Management (RAM) の AccessKey ID と AccessKey Secret を使用して生成できます。詳細については、「静的なユーザー名とパスワードの作成」をご参照ください。 |
|
|
使用上の注意
オープンソースの認証および権限管理モード
この機能は、新規に購入した専用クラスタータイプのサーバーレスインスタンスでのみ利用可能です。既存のインスタンスはサポートされていません。
漏洩を防ぐため、単純なパスワードは使用しないでください。
デフォルトのゲストアカウントを無効にしてください。
Alibaba Cloud Resource Access Management (RAM)
ApsaraMQ for RabbitMQ コンソールにログインするために使用するアカウントは、Alibaba Cloud アカウント、または少なくとも静的なユーザー名とパスワードの表示、作成、削除の権限が付与された RAM ユーザーである必要があります。必要な権限とその付与方法の詳細については、「RAM アクセスポリシー」および「RAM ユーザーへの権限付与」をご参照ください。
静的なユーザー名とパスワードを作成または削除するインスタンスは、In Service 状態である必要があります。
AccessKey ペアはアカウントレベルの認証を提供し、同じ Alibaba Cloud アカウント配下の複数のインスタンスで共有できます。ただし、同じ AccessKey ペアを使用している場合でも、インスタンスごとに一意のユーザー名とパスワードが生成されます。
静的なユーザー名とパスワードを更新する場合は、既存のペアを削除して新しいペアを作成する必要があります。
SDK を使用してクライアントでメッセージを送受信する場合は、持続的接続を使用することをお勧めします。これにより、クライアントがメッセージごとに新しい接続を確立する必要がなくなります。頻繁に接続を確立すると、大量のネットワークリソースとブローカーリソースが消費され、ブローカーで SYN フラッド攻撃保護がトリガーされる可能性があります。詳細については、「接続」をご参照ください。
オープンソースの認証と権限管理モード
ユーザー名とパスワードの作成
ApsaraMQ for RabbitMQ コンソールにログインします。左側のナビゲーションウィンドウで、インスタンスリスト をクリックします。
インスタンスリスト ページのトップナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスリストで、管理するインスタンスの名前をクリックします。
左側のナビゲーションウィンドウで、ユーザーと権限の管理 をクリックします。
ユーザーと権限の管理 ページで、ユーザ名とパスワードの作成 をクリックします。
ユーザ名とパスワードの作成 パネルで、ユーザ名、パスワード、および パスワードの確認 フィールドに入力し、[OK] をクリックします。
ユーザーパスワードの編集
ユーザーと権限の管理 ページで、編集するユーザーを見つけ、操作 列の 編集 をクリックします。
ユーザー名とパスワードの編集 パネルで、パスワード と パスワードの確認 フィールドにパスワードを入力し、[OK] をクリックします。
ユーザーの削除
ユーザーを削除すると、そのユーザーの認証情報を使用して ApsaraMQ for RabbitMQ に接続するクライアントはアクセスを拒否されます。
ユーザーと権限の管理 ページで、削除するユーザーを見つけ、操作 列で 削除 をクリックします。
削除 ダイアログボックスで、[OK] をクリックします。
権限管理
ApsaraMQ for RabbitMQ のオープンソース認証および権限管理モードは、仮想ホスト (Vhost) レベルで権限を付与します。ユーザー権限は、ユーザーが属する Vhost 内でのみ適用されます。正規表現 (regex) を使用して、exchange と queue に対する操作の詳細な権限を設定できます。詳細については、「オープンソースの認証と権限管理」をご参照ください。
権限の追加
ユーザーと権限の管理 ページで、対象のユーザーを見つけ、操作 列で 権限の管理 をクリックします。
権限の管理 パネルで、権限の新規追加 をクリックします。
ドロップダウンリストから設定する Vhost を選択し、対応する操作の正規表現を入力して、OK をクリックします。
正規表現は exchange と queue に一致します。
.*はすべてのリソースに一致します。^$は空の文字列にのみ一致します。これは他のすべてのリソース権限を上書きし、ユーザーが操作を実行できないようにします。'^(amq\.gen.*|amq\.default)$'は、システムリソースとデフォルトの exchange へのアクセスを許可します。
重要パブリックエンドポイントを使用する場合は、権限を設定した後に パブリック IP アドレスのホワイトリスト も設定する必要があります。
権限の更新
ユーザーの [Virtual Host] に対する権限を変更すると、そのユーザーの認証情報を使用してその [Virtual Host] に接続するクライアントで、メッセージの送信または消費時にエラーが発生する可能性があります。
権限の管理 パネルで、対象の [Virtual Host] を見つけ、操作 列で 更新 をクリックします。
操作を変更するための正規表現を入力し、OK をクリックします。
権限の削除
ユーザーの [Virtual Host] に対する権限を削除すると、そのユーザーの認証情報を使用してその [Virtual Host] に接続するクライアントはアクセスを拒否されます。
権限の管理 パネルで、削除する [Virtual Host] を見つけ、操作 列の 削除 をクリックします。
削除 ダイアログボックスで、[OK] をクリックします。
Alibaba Cloud Resource Access Management (RAM)
静的なユーザー名とパスワードの作成
ApsaraMQ for RabbitMQ コンソールにログインします。左側のナビゲーションウィンドウで、インスタンスリスト をクリックします。
インスタンスリスト ページのトップナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスリストで、管理するインスタンスの名前をクリックします。
左側のナビゲーションウィンドウで、ユーザーと権限の管理 をクリックします。
ユーザーと権限の管理 ページで、ユーザ名とパスワードの作成 をクリックします。
ユーザ名とパスワードの作成 パネルで、[AccessKey ID] と [AccessKey Secret] を入力し、[OK] をクリックします。
説明Alibaba Cloud の RAM コンソール から [AccessKey ID] と [AccessKey Secret] を取得できます。詳細については、「AccessKey ペアの作成」をご参照ください。
作成された静的なユーザー名とパスワードのペアが ユーザーと権限の管理 ページに表示されます。パスワードはマスクされています。

作成された静的なユーザー名とパスワードの パスワード 列で、パスワードの表示 をクリックしてパスワードを表示します。
RAM ユーザーの AccessKey を使用して静的なユーザー名とパスワードを作成し、ApsaraMQ for RabbitMQ にアクセスする場合は、RAM ユーザーにメッセージを送受信するために必要な権限が付与されていることを確認してください。詳細については、「RAM アクセスポリシー」をご参照ください。
静的なユーザー名とパスワードの削除
静的なユーザー名とパスワードのペアが削除された場合、またはそれを作成するために使用された AccessKey ペアが無効化または削除された場合、認証情報は無効になります。これらの認証情報を使用して ApsaraMQ for RabbitMQ に接続しようとするクライアントは拒否されます。
ユーザーと権限の管理 ページで、削除する静的なユーザー名とパスワードのペアを見つけ、操作 列の 削除 をクリックします。
[注意] ダイアログボックスで、メッセージを注意深く読み、[OK] をクリックします。
削除された静的なユーザー名とパスワードのペアは、ユーザーと権限の管理 ページに表示されなくなります。
関連操作
ユーザー名とパスワードを作成した後、オープンソースの RabbitMQ クライアントを使用して ApsaraMQ for RabbitMQ に接続できます。詳細については、「SDK リストとサンプルコード」をご参照ください。