Application Real-Time Monitoring Service (ARMS) コンソールページをセルフマネージド Web アプリケーションに埋め込むことができます。この方法では、アプリケーションと ARMS コンソールを切り替えることなく、ページに直接アクセスできます。
背景情報
ARMS コンソールページをセルフマネージド Web アプリケーションに埋め込むことで、次のことが可能になります。
アプリケーションリスト、アプリケーションの詳細、およびトレースを参照できます。
ARMS コンソールの上部ナビゲーションバーと左側のナビゲーションウィンドウを非表示にできます。詳細については、「ステップ 5:ログオンフリー URL の生成」をご参照ください。
Resource Access Management (RAM) を使用して ARMS コンソールの権限を管理する(フルアクセス権限を読み取り専用権限に変更するなど)ことができます。
ワークフロー
次の図は、外部システムから ARMS にアクセスするプロセスを示しています。
ステップ 1:RAM ユーザーを作成し、RAM ユーザーに権限を付与する
Alibaba Cloud アカウントを使用して RAM ユーザーを作成し、RAM ユーザーが Security Token Service (STS) を呼び出して RAM ロールを偽装することを承認します。
RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。
RAM ユーザーに AliyunSTSAssumeRoleAccess 権限を付与します。詳細については、「RAM ユーザーへの権限の付与」をご参照ください。
ステップ 2:RAM ロールを作成し、RAM ロールに権限を付与する
RAM ロールを作成し、ARMS コンソールにアクセスするための権限を RAM ロールに付与します。その後、RAM ユーザーは RAM ロールを偽装して ARMS コンソールにアクセスできます。
RAM ロールを作成します。詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールの作成」をご参照ください。
RAM ロールにフルアクセス権限または読み取り専用権限を付与します。詳細については、「RAM ロールへの権限の付与」をご参照ください。
AliyunARMSFullAccess: ARMS のフルアクセス権限
AliyunARMSReadOnlyAccess: ARMS の読み取り専用権限
重要特定のリソースグループにすべての ARMS 機能に対する読み取り専用権限を付与するには、AliyunARMSReadOnlyAccess ポリシーをアタッチし、ReadTraceApp 権限をリソースグループに付与する必要があります。そうでない場合、ARMS は認証されたリソースグループに属するアプリケーションリストを表示できません。
ステップ 3:一時的な AccessKey ペアと STS トークンを取得する
アプリケーションにログインし、STS の AssumeRole 操作を呼び出して、一時的な AccessKey ペアと STS トークンを取得します。これらは一時的な認証情報として使用されます。 AssumeRole 操作の詳細については、「AssumeRole」をご参照ください。
次のいずれかの方法を使用して、AssumeRole 操作を呼び出すことができます。
OpenAPI Explorer を使用する。
RAM SDKの概要 を使用する。
ここでは、Java 用 RAM SDK を例として使用します。
Java 用 SDK を使用する場合、次のパラメーターを設定します。
String accessKey = "<accessKeyId>"; // RAM ユーザーの AccessKey ID。
String accessSecret = "<accessKeySecret>"; // RAM ユーザーの AccessKey シークレット。
String roleArn = "<roleArn>"; // RAM ロールの Alibaba Cloud Resource Name (ARN)。
RAM ユーザーの AccessKey ID と AccessKey シークレットは、RAM ユーザーの作成時に提供されます。詳細については、「AccessKey ペアの作成」をご参照ください。
RAM ロールの ARN を取得するには、次の手順を実行します。
RAM コンソール に管理権限を持つ RAM ユーザーとしてログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ロール] ページで、作成した RAM ロールの名前をクリックします。
表示されたページの [基本情報] セクションで、[ARN] パラメーターの値をコピーします。
ステップ 4:ログイントークンを取得する
AssumeRole 操作を呼び出して一時的な AccessKey ペアと STS トークンを取得した後、GetSigninToken 操作を呼び出してログイントークンを取得します。
一時的な STS トークンには、特殊文字が含まれている場合があります。トークンを使用する前に、URL エンコード方式を使用して特殊文字をエンコードする必要があります。
リクエスト例:
https://signin.alibabacloud.com/federation?Action=GetSigninToken
&AccessKeyId=<Temporary AccessKey ID returned by STS>
&AccessKeySecret=<Temporary AccessKey secret returned by STS>
&SecurityToken=<Token returned by STS>
&TicketType=mini
ステップ 5:ログオンフリー URL の生成
取得したログイントークンと埋め込みたいページの URL を使用して、ログオンフリー URL を生成します。
ログイントークンは 3 時間有効です。アプリケーションで URL を構成して、リクエストごとに新しいログイントークンを生成することをお勧めします。
ARMS コンソールで、ページの URL を取得します。
中国 (杭州) リージョンの URL 例:
https://arms4service.console.aliyun.com/apm?iframeMode=true&pid=${pid}®ionId=${regionId}#/${pid}/home
各リージョンのエンドポイント:
中国:
従来のコンソール: arms4service.console.aliyun.com
新しいコンソール: armsnext4service.console.aliyun.com
日本: arms-jp4service.console.aliyun.com
東南アジア: arms-sg4service.console.aliyun.com
米国: arms-us4service.console.aliyun.com
ヨーロッパ: arms-eu4service.console.aliyun.com
説明URL は、アプリケーション監視またはブラウザ監視に属するコンソールアドレスである必要があります。
{pid}
パラメーターと{regionId}
パラメーターの値は、実際の URL から取得できます。ARMS コンソールの上部ナビゲーションバーと左側のナビゲーションウィンドウを非表示にするには、URL の検索セクションで
iframeMode
パラメーターを true に設定します。上部ナビゲーションバーのみを非表示にするには、URL の検索セクションで
hideTopbar
パラメーターを true に設定します。左側のナビゲーションウィンドウのみを非表示にするには、URL の検索セクションでhideSidebar
パラメーターを true に設定します。両方のパラメーターを true に設定することは、iframeMode
パラメーターを true に設定することと同じです。URL にシャープ記号#
を含むハッシュ値が含まれている場合は、このパラメーターを記号の前に配置します。例:https://trace4service.console.aliyun.com/?hideTopbar=true&hideSidebar=true/#/tracing/${regionId}/list?from=now-3h&to=now&refresh=off
。
ログイントークンとページの URL を使用して、ページのログオンフリー URL を生成します。
https://signin.alibabacloud.com/federation?Action=Login &LoginUrl=<The URL to which you are redirected when the logon fails and the 302 HTTP status code is returned on your self-managed website> &SigninToken=<The logon token you obtained> &Destination=<The URL of the ARMS console page>
ログオンフリー URL を使用して、ブラウザでページにアクセスします。
FAQ
iframe を使用するときに「frame-ancestors 'self' *.aliyun.com」エラーメッセージが表示された場合はどうすればよいですか?
仮想ネットワーク オペレーターによってデプロイされたアプリケーションに iframe を使用して ARMS コンソールページを埋め込む場合は、セキュリティのために &TicketType=mini
パラメーターを追加する必要があります。パラメーターを追加する方法については、「ステップ 4」をご参照ください。 https://arms4service.console.aliyun.com
で始まるログオンフリー URL を指定する方法については、「ステップ 5」をご参照ください。