サービスプリンシパル
注記
この機能はパブリックプレビュー版です。
このリリースでは、サービスプリンシパルを使用して、Server上のAIツールでワークフローを設定および実行できます。詳細については、Use AI Tools on Server (ServerでAIツールを使用する)を参照してください。
機能性とユーザー体験は、今後も体験の向上と改善に努めていく中で変更される可能性があります。
サービスプリンシパルは、ユーザーに依存することなく自動化されたプロセスがAlteryx Oneに安全にアクセスできるようにする、非人間IDです。
これは、ユーザーベースの自動化と資格情報の共有がリスクとなる規制環境で特に重要となります。
必要条件
サービスプリンシパルは、エンタープライズエディションで使用できます。詳細については、エンタープライズエディションの機能を参照してください。
ワークスペース管理者ロール、またはサービスプリンシパル機能を含むカスタムロールが割り当てられている必要があります。詳細については、Custom Roles (カスタムロール)を参照してください。
作成
サービスプリンシパルを作成して、このワークスペースへの安全な非人間アクセスを可能にします。
[新規]を選択します。
[名前]を入力します。この名前で、サービスプリンシパルをワークスペース内で識別します。
(オプション) [説明]を入力します。これは他の管理者にも表示されます。
[有効期間(日数)]ドロップダウンを使用して、クライアントシークレットの有効期間を定義します。
[ロール]ドロップダウンを使用してアクセス権を割り当てます。
サービスプリンシパルには、既定ではアクセス権は付与されていません。
ヒント
リスクを最小限に抑えるには、目的のユースケースに必要な権限のみを含むカスタムロールを作成して割り当てます。
[作成]を選択します。
ダイアログに、サービスプリンシパルに関する以下の資格情報が表示されます。
トークンエンドポイント
クライアントID
クライアントシークレット
警告
クライアントシークレットを安全にコピーして保存します。
このダイアログを閉じると、クライアントシークレットを再度表示することはできなくなります。
アクセストークンの取得
サービスプリンシパルとして認証するには、サービスプリンシパルのクライアント資格情報を使用して、Alteryx Oneのトークンエンドポイントからアクセストークンを要求します。
リクエスト
トークンエンドポイントにPOSTリクエストを送信します。
POST https://<your-base-url>/as/token
ヘッダー
Content-Type: application/x-www-form-urlencoded
本文(x-www-form-urlencoded)
キー | 値 |
|---|---|
grant_type | client_credentials |
client_id | <クライアントID> |
client_secret | <クライアントシークレット> |
例
grant_type=client_credentials &client_id=YOUR_CLIENT_ID &client_secret=YOUR_CLIENT_SECRET
応答
応答には以下のアクセストークンが含まれます。
{
"access_token": "<ACCESS_TOKEN>",
"token_type": "Bearer",
"expires_in": 300
}以下のようにaccess_tokenを使用してAPIリクエストを認証します。
Authorization: Bearer <ACCESS_TOKEN>
編集
サービスプリンシパルを編集してアクセス権を更新するには、次のいずれかの方法に従います。
[サービスプリンシパル]ページで、サービスプリンシパルの横にある三点リーダーメニュー(⋮)を選択し、[サービスプリンシパルの編集]を選択します。
[サービスプリンシパル]ページで、サービスプリンシパルを選択して詳細ページを開き、[編集]を選択します。
必要なフィールドを更新し、[保存]を選択します。
無効にする
サービスプリンシパルを無効にするには、以下のいずれかの方法に従います。
[サービスプリンシパル]ページで、サービスプリンシパルの横にある三点リーダーメニュー(⋮)を選択し、[無効にする]を選択します。
[サービスプリンシパル]ページで、サービスプリンシパルを選択して詳細ページを開き、[サービスプリンシパルを無効にする]を選択します。
無効にすると、サービスプリンシパルはプロセスを認証または実行できなくなります。割り当てられたアクセス権と所有するアセットは保持されます。
削除
サービスプリンシパルを削除するには、次のいずれかの方法に従います。
[サービスプリンシパル]ページで、サービスプリンシパルの横にある三点リーダーメニュー(⋮)を選択し、[削除]を選択します。
[サービスプリンシパル]ページで、サービスプリンシパルを選択して詳細ページを開き、[サービスプリンシパルの削除]を選択します。
確認ダイアログで、「DELETE」と入力して操作を確定します。
[削除]を選択します。
警告
サービスプリンシパルを削除すると、自動化されたワークフローや統合などの、サービスプリンシパルを利用する外部プロセスが中断されます。
シークレットのローテーション
サービスプリンシパルは、一度に最大2つの有効なシークレットを持つことができるため、新しいシークレットを生成してから古いシークレットを削除することができます。これにより、メンテナンス実行時のダウンタイムが短縮されます。
新しいシークレットの生成
[サービスプリンシパル]ページからサービスプリンシパルを選択して、詳細ページを開きます。
[シークレットの生成]を選択します。
新しいシークレットをコピーして安全に保存します。
新しいシークレットの生成後、元のシークレットは最大30日後、または元の有効期限日のうち、いずれか早く到来する日まで有効になります。
ヒント
中断を避けるため、サービスプリンシパルを使用するすべての外部プロセスが新しいシークレットで更新されていることを確認してから、古いシークレットを削除するか、期限切れになるようにしてください。
古いシークレットの削除
サービスプリンシパルに2つの有効なシークレットがある場合は、外部システムを更新した後に、オプションで古いシークレットを削除できます。
サービスプリンシパルの詳細ページで、[シークレットのローテーション]の横にある三点リーダーメニュー(⋮)を選択し、[削除]を選択します。
このオプションは、シークレットが2つある場合にのみ使用できます。
使用
サービスプリンシパルにロールを割り当てても、ユーザーシートは消費されません。
サービスプリンシパルがワークフローを実行すると、自動実行が消費されます。
監査イベント
サービスプリンシパルによって実行されたアクションは、監査ログに次のように表示されます。
agent_type = SERVICE_PRINCIPAL