セルフマネージド Web アプリケーションに Managed Service for OpenTelemetry コンソールページを埋め込むことができます。このようにして、システムを切り替えたり、Managed Service for OpenTelemetry コンソールにログオンしたりすることなく、アプリケーションからコンソールページを表示できます。
概要
期待される結果
このトピックに基づいてセルフマネージド Web アプリケーションに Managed Service for OpenTelemetry コンソールページを埋め込むと、次の操作を実行できます。
システムにログオンし、埋め込まれたコンソールページでアプリケーション、アプリケーションの詳細、トレースに関する情報を表示できます。
Managed Service for OpenTelemetry コンソールページの上部ナビゲーションバーと左側のナビゲーションペインを非表示にできます。
Resource Access Management (RAM) を使用して、Managed Service for OpenTelemetry コンソールページの権限を管理できます。たとえば、フル権限を読み取り専用権限に変更できます。
アクセスプロセス
次の図は、Managed Service for OpenTelemetry コンソールページへのアクセス方法を示しています。
ステップ 1: RAM ユーザーを作成し、RAM ユーザーに権限を付与する
Alibaba Cloud アカウントを使用して RAM ユーザーを作成し、Security Token Service (STS) の AssumeRole 操作を呼び出す権限を RAM ユーザーに付与します。
管理権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを使用して、RAM コンソール にログオンします。
左側のナビゲーションペインで、 を選択します。
ユーザー ページで、ユーザーの作成 をクリックします。
ユーザーの作成 ページで、ログオン名表示名ユーザーアカウント情報 セクションの アクセスモード永続的なアクセスキーを使用したアクセスOK パラメーターと パラメーターを設定します。 セクションで、 を選択し、 をクリックします。
重要RAM は、RAM ユーザーの AccessKey ペアを自動的に生成します。このようにして、RAM ユーザーは Managed Service for OpenTelemetry コンソールにアクセスするための操作を呼び出すことができます。セキュリティ上の理由から、RAM コンソールで AccessKey シークレットを表示またはダウンロードできるのは 1 回だけです。したがって、AccessKey ペアを作成するときは、AccessKey シークレットを厳重に管理する必要があります。
ユーザー ページで、必要な RAM ユーザーを見つけ、アクセス許可を追加アクション 列の をクリックします。
複数の RAM ユーザーを選択し、ページの下部にある 権限の追加 をクリックして、一度に RAM ユーザーに権限を付与することもできます。
権限の付与 パネルで、RAM ユーザーに 1 つ以上の権限を付与します。
リソーススコープ を設定します。
アカウント: 権限は現在の Alibaba アカウントに適用されます。
リソースグループ: 権限は特定のリソースグループに適用されます。リソースグループに権限を付与する方法については、リソースグループを使用して RAM ユーザーに特定の ECS インスタンスを管理する権限を付与する を参照してください。
重要リソーススコープ を リソースグループ に設定する前に、関連するクラウドサービスとリソースがリソースグループをサポートしていることを確認してください。詳細については、リソースグループで動作するサービス を参照してください。
プリンシパル を設定します。
プリンシパルは、権限を付与する RAM ユーザーです。システムは、現在の RAM ユーザーグループをプリンシパルとして自動的に選択します。
ポリシー セクションで、AliyunSTSAssumeRoleAccess を選択します。
権限の付与 をクリックします。
閉じる をクリックします。
ステップ 2: RAM ロールを作成し、RAM ロールに権限を付与する
RAM ロールを作成し、Managed Service for OpenTelemetry コンソールにアクセスする権限を RAM ロールに付与します。このようにして、作成した RAM ユーザーはこの RAM ロールを引き受けて Managed Service for OpenTelemetry コンソールにアクセスできます。
管理権限を持つ RAM ユーザーとして RAM コンソール にログオンします。
左側のナビゲーションペインで、 を選択します。
ロール ページで、ロールの作成 をクリックします。
ロールの作成 ページで、次の操作を実行します。
ロールタイプの選択 ステップで、信頼できるエンティティの選択 パラメーターを Alibaba Cloud アカウント に設定し、次へ をクリックします。
ロールの設定 ステップで、RAM ロール名 パラメーターを設定し、OK をクリックします。
完了 ステップで、RAM ロールに権限を追加 をクリックします。
表示されるページで、[権限] タブの [権限の付与] をクリックします。ポリシーの選択 セクションの 権限の付与 パネルで、検索ボックスにキーワードを入力して RAM ロールにアタッチするポリシーを検索し、ポリシーをクリックして右側の 選択済み リストに追加し、OK をクリックします。
RAM ロールに Managed Service for OpenTelemetry のフル権限を付与するには、AliyunTracingAnalysisFullAccess ポリシーを選択します。
RAM ロールに Managed Service for OpenTelemetry の読み取り専用権限を付与するには、AliyunTracingAnalysisReadOnlyAccess ポリシーを選択します。
権限の付与 パネルで、承認結果を確認し、完了 をクリックします。
ステップ 3: 一時的な AccessKey ペアと STS トークンを取得する
セルフマネージド Web アプリケーションにログオンし、Web アプリケーションサーバーから STS の AssumeRole 操作を呼び出して、一時的な AccessKey ペアと STS トークンを取得します。次のいずれかの方法を使用して、この操作を呼び出すことができます。
OpenAPI エクスプローラー を使用します。
Java 用 RAM SDK を使用します。
サンプルコード の次のパラメーターの値を実際の値に置き換える必要があります。
String akId = "<accessKeyId>"; // AccessKey ID
String ak = "<accessKeySecret>"; // AccessKey シークレット
String roleArn = "<roleArn>"; // ロールの ARN
<accessKeyId> 変数と <accessKeySecret> 変数を、ステップ 1 で作成した RAM ユーザーの AccessKey ID と AccessKey シークレットに置き換えます。詳細については、AccessKey ペアの作成 を参照してください。
<roleArn> 変数を、作成した RAM ロールの Alibaba Cloud Resource Name (ARN) に置き換えます。ARN は、RAM コンソールの RAM ロールの詳細ページで取得できます。
ステップ 4: ログオン トークンを取得する
STS の AssumeRole 操作を呼び出して一時的な AccessKey ペアと STS トークンを取得した後、GetSigninToken 操作を呼び出してログオン トークンを取得します。
一時的な STS トークンには特殊文字が含まれている場合があります。トークンを使用する前に、URL エンコード方式を使用して特殊文字をエンコードする必要があります。
リクエスト例:
http://signin4service.aliyun.com/federation?Action=GetSigninToken
&AccessKeyId=<STS によって返される一時的な AccessKey ID> // 一時的な AccessKey ID
&AccessKeySecret=<STS によって返される一時的な AccessKey シークレット> // 一時的な AccessKey シークレット
&SecurityToken=<STS によって返されるトークン> // STS トークン
セルフマネージド Web アプリケーションがパートナーのクラウドプラットフォームにデプロイされている場合は、&TicketType=mini
パラメーターを追加する必要があります。
ステップ 5: ログオン不要 URL を生成する
取得したログオン トークンと、埋め込む Managed Service for OpenTelemetry コンソールページの URL を使用して、ログオン不要 URL を生成します。この URL を使用すると、セルフマネージド Web アプリケーションからコンソールページにアクセスできます。このようにして、Managed Service for OpenTelemetry コンソールにログオンする必要はありません。
一時トークンは 3 時間有効です。セルフマネージド Web アプリケーションで URL を設定して、リクエストごとに新しいログオン トークンを生成し、コンソールページに 302 リダイレクトを実行することをお勧めします。
Managed Service for OpenTelemetry コンソールで、埋め込むコンソールページの URL を取得します。たとえば、次の URL は、中国 (杭州) リージョンの アプリケーション ページの URL です。
https://tracing-analysis.console.aliyun.com/?hideTopbar=true&hideSidebar=true#/appList/cn-hangzhou
説明Managed Service for OpenTelemetry コンソールページの上部ナビゲーションバーと左側のナビゲーションペインを非表示にするには、hideTopbar パラメーターと hideSidebar パラメーターを true に設定します。
取得したログオン トークンと Managed Service for OpenTelemetry コンソールページの URL を使用して、ページのログオン不要 URL を生成します。リクエスト例:
http://signin.aliyun.com/federation?Action=Login &LoginUrl=<ログオンに失敗し、セルフマネージド Web サイトで 302 HTTP ステータスコードが返されたときにリダイレクトされる URL> // 失敗時のリダイレクト URL &Destination=<Managed Service for OpenTelemetry コンソールページの URL> // コンソールページの URL &SigninToken=<取得したログオン トークン> // ログオン トークン
サンプルコード
このトピックで使用されているサンプルコードは、Java 用 SDK に基づいています。サンプルコードは、Managed Service for OpenTelemetry コンソールの [アプリケーション] ページをセルフマネージド Web アプリケーションに埋め込むために使用されます。
ダウンロードリンク: サンプルコード。