3.3. 権限とテナントの設定
TempoStack
または TempoMonolithic
インスタンスをインストールする前に、1 つ以上のテナントを定義し、テナントの読み取りおよび書き込みアクセス権を設定する必要があります。このような認可設定は、Kubernetes のロールベースアクセス制御 (RBAC) のクラスターロールとクラスターロールバインディングを使用して設定できます。デフォルトでは、どのユーザーにも読み取り権限または書き込み権限は付与されません。詳細は、「テナントの読み取り権限の設定」および「テナントの書き込み権限の設定」を参照してください。
Red Hat build of OpenTelemetry の OpenTelemetry Collector は、データの書き込み用のサービスアカウントと RBAC を使用して、トレースデータを TempoStack
または TempoMonolithic
インスタンスに送信できます。
コンポーネント | Tempo Gateway サービス | OpenShift OAuth | TokenReview API | SubjectAccessReview API |
---|---|---|---|---|
認証 | X | X | X | |
認可 | X | X |
3.3.1. テナントの読み取り権限の設定 リンクのコピーリンクがクリップボードにコピーされました!
テナントの読み取り権限は、Web コンソールの Administrator ビューまたはコマンドラインから設定できます。
前提条件
-
cluster-admin
ロールを持つクラスター管理者として、OpenShift Container Platform Web コンソールにログインしている。 -
Red Hat OpenShift Dedicated の場合、
dedicated-admin
ロールを持つアカウントを使用してログインしている。
手順
任意の値を指定した
tenantName
およびtenantId
パラメーターをTempoStack
カスタムリソース (CR) に追加して、テナントを定義します。TempoStack
CR のテナントの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow トレースを読み取るための読み取り (
get
) 権限を持つクラスターロールにテナントを追加します。ClusterRole
リソースの RBAC 設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記ステップのクラスターロールのクラスターロールバインディングを定義して、認証されたユーザーにトレースデータの読み取り権限を付与します。
ClusterRoleBinding
リソースの RBAC 設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 認証されたユーザー全員に、トレースデータの読み取り権限を付与します。
3.3.2. テナントの書き込み権限の設定 リンクのコピーリンクがクリップボードにコピーされました!
テナントの書き込み権限は、Web コンソールの Administrator ビューまたはコマンドラインから設定できます。
前提条件
-
cluster-admin
ロールを持つクラスター管理者として、OpenShift Container Platform Web コンソールにログインしている。 -
Red Hat OpenShift Dedicated の場合、
dedicated-admin
ロールを持つアカウントを使用してログインしている。 - OpenTelemetry Collector をインストールし、権限を持つ許可済みのサービスアカウントを使用するように Collector を設定した。詳細は、Red Hat build of OpenTelemetry ドキュメントの「必要な RBAC リソースの自動作成」を参照してください。
手順
OpenTelemetry Collector で使用するためのサービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector namespace: <project_of_opentelemetry_collector_instance>
apiVersion: v1 kind: ServiceAccount metadata: name: otel-collector namespace: <project_of_opentelemetry_collector_instance>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow トレースを書き込むための書き込み (
create
) 権限を持つクラスターロールにテナントを追加します。ClusterRole
リソースの RBAC 設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTelemetry Collector のサービスアカウントを割り当てるためのクラスターロールバインディングを定義して、OpenTelemetry Collector に書き込み権限を付与します。
ClusterRoleBinding
リソースの RBAC 設定の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 前のステップで作成したサービスアカウント。これは、クライアントがトレースデータをエクスポートするときに使用されます。
OpenTelemetryCollector
カスタムリソースを次のように設定します。-
トレーシングパイプラインサービスに、
bearertokenauth
エクステンションと有効なトークンを追加します。 -
otlp/otlphttp
エクスポーターにテナント名をX-Scope-OrgID
ヘッダーとして追加します。 有効な認証局ファイルを使用して TLS を有効にします。
OpenTelemetry CR 設定のサンプル
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 書き込み権限が設定されたサービスアカウント。
- 2
- サービスアカウントトークンを使用するためのベアラートークンエクステンション。
- 3
- サービスアカウントトークン。このトークンは、ベアラートークンヘッダーとして、クライアントによりトレーシングパイプラインサービスに送信されます。
- 4
- OTLP gRPC Exporter (
otlp/dev
) または OTLP HTTP Exporter (otlphttp/dev
) のいずれかを指定します。 - 5
- 有効なサービス CA ファイルを使用して TLS を有効にします。
- 6
- テナント名を含むヘッダー。
- 7
- OTLP gRPC Exporter (
otlp/dev
) または OTLP HTTP Exporter (otlphttp/dev
) のいずれかを指定します。 - 8
- CR の
exporters
セクションで指定したエクスポーター。
-
トレーシングパイプラインサービスに、