Skip to content

アプリケーションを管理

レジストリのアプリケーションページには、すべてのアプリケーションタブで使用可能なすべてのカスタムアプリケーションが一覧表示されます。 次の表は、このページの要素と使用可能なアクションを示します。

  要素 説明
1 アプリケーション名 アプリケーション名。
2 バージョン アプリケーションまたはソースのバージョン番号を一覧表示します。
3 開く クリックすると、アプリケーションまたはソースが開きます。
4 アクションメニュー アプリケーションを共有、制御、または削除します。
5 検索 リスト内の特定のアプリケーションを検索するために使用します。
6 「アプリケーション」タブ 構築されたアプリケーションまたはアプリケーションソースの表示を選択します。
7 ドロップダウンを追加 追加ドロップダウンを使用して、カスタムアプリケーションをアップロードするか、または新しいアプリケーションソースを作成します。

アプリケーションの共有

共有機能は権限を管理し、ユーザー、グループ、組織、およびDataRobot以外の受信者とアプリケーションを共有できます。 この機能は、アプリケーションを作成するための専門知識のないユーザーに既存のアプリケーションの使用を許可する場合などに便利です。

注意

複数のユーザーが同じアプリケーションにアクセスできる場合、各ユーザーは、別のユーザーが行った変更や予測を表示、編集、上書きしたり、アップロードしたデータセットを見たりすることができます。 この動作は、カスタムアプリケーションの性質によって異なります。

すべてのアプリケーションタブで共有機能にアクセスするには、共有したいアプリの横にあるアクションメニュー をクリックし、共有)を選択します。

これにより共有ウィンドウが開き、ユーザーとその役割がリストされます。 エディターは、1つ以上のユーザーまたはグループ、組織全体でアプリケーションを共有できます。 さらに、共有リンクを使ってアプリケーションを外部と共有できます。

  1. 次と共有フィールドにユーザー名、グループ、または組織を入力します。

  2. 権限の設定には、ドロップダウンからロールを選択します。

  3. 通知を送信を選択してEメール通知を送信し、メモを追加を選択して通知に詳細を追加します。

  4. 共有をクリックします。 グループまたは組織と共有している場合、アプリの共有先およびロールの適用先は、指定されたグループまたは組織のすべてのメンバーです。

外部共有では、リンク経由でDataRobotにアクセスできないエンドユーザーとカスタムアプリケーションを共有できます。 DataRobot以外のユーザーとカスタムアプリを共有するには:

  1. 外部共有リンクタブをクリックします。 タブ名の横にあるアイコンは、外部共有が現在有効かどうかを示します。
  2. 外部共有を有効にするをオンに切り替えます。 追加のフィールドが以下に表示されます。
  3. アプリケーションにアクセスできるようにしたいすべてのメールドメインとアドレスを追加します。 メールアドレスとドメインは正しい形式(例:@datarobot.com)で入力する必要があります。また、ここにリストされているユーザーのみが共有リンク経由でアプリにアクセスできます。

  4. アプリケーションリンクをコピーをクリックし、このリンクを前の手順で指定したすべてのユーザーに送信します。 該当のユーザーにはDataRobotから招待メールが届きます。確認にはこのリンクが必要になります。 招待メールは、ユーザーに送信されてから1時間後に有効期限が切れます。 ユーザーが認証を受け入れると、作成された認証トークンは30日後に失効します。

アプリケーションのアクセス権を取り消す

外部共有を有効にするをオフに切り替えることで、いつでも共有リンクへのすべてのアクセス権を取り消すことができます。 また、許可されたフィールドからメールドメインとアドレスを削除することで、個々のアクセス権を取り消すこともできます。

セルフマネージド環境での外部共有

セルフマネージド環境でアプリケーションを外部ユーザーと共有するには、簡易メール転送プロトコル(SMTP)サーバーを設定する必要があります。

DRApps CLIを使用して、カスタムアプリケーションをプログラムで共有することもできます。

共有ダイアログでは、次のアクションも使用できます。

  • ユーザーを削除するには、削除するユーザーの役割の右側にある「X」ボタンをクリックします。
  • ユーザーの役割を再度割り当てるには、割り当てられた役割をクリックして、ドロップダウンから新しい役割を割り当てます。

アプリケーションのAPIキー

カスタムアプリケーションの共有に加えて、アプリケーション内からデータにアクセスして使用する機能をユーザーに付与することもできます。 アプリケーションのAPIキーは、DataRobotのパブリックAPIに対して必要なアクセス権をアプリケーションに付与します。 共有ロールは、DataRobot内のエンティティとしてアプリケーションの制御を許可し、アプリケーションのAPIキーは、ユーザーがアクセスしたときにアプリが実行できるリクエストの制御を許可します。

ユーザーがアプリケーションにアクセスすると、アプリケーションのWebサーバーは、ユーザーのブラウザーからリクエストを受信します。 アプリケーションのAPIキーは、アプリケーションが使用できるように、アプリケーションに対して行われるリクエストのヘッダーに含まれます。

アプリケーションキーは、カスタムアプリケーションを構築する際に自動的に作成されます。 アプリケーションのAPIキーを設定するには、以下の手順に従います。

  1. キーが付与するアクセスのスコープを編集するには、アプリケーションソースに移動し、新しいバージョンを作成します。

  2. リソースセクションで、編集をクリックします。

  3. リソースを更新モーダルから、必要なキースコープレベルドロップダウンを使用して、アプリケーションAPIキーのアクセスレベルを編集できます。 キーの使用時にアプリケーションがDataRobotのパブリックAPIにアクセスできるレベルを定義するロールを選択します。

    各ロールタイプには、次のアクセス権があります。

    役割 アクセス
    なし アクセス権がない。 このロールを選択すると、アプリケーションのAPIキーは提供されません。
    閲覧者 読み取り専用
    ユーザー 作成、読み取り、書き込み
    管理 作成、読み取り、書き込み、削除
  4. ロールを選択したら、更新をクリックします。 設定したソースからカスタムアプリケーションを構築すると、選択したロールで定義されたアクセス範囲を持つアプリケーションAPIキーが自動的に提供されます。

ユーザーがアプリケーションにアクセスして使用すると、そのアプリケーションによって行われたリクエストのヘッダーにアプリケーションAPIキーが含まれます。

スコープ付きトークン

スコープ付きトークンを使うと、アプリケーションへのアクセス権をユーザーと共有する際に、権限やリソースを(ロールの形で)より細かく制御できます。

アプリケーションは、オーナーのAPIキー(DATAROBOT_API_TOKEN環境変数を使用)およびビジターのAPIキー(x-datarobot-api-keyリクエストヘッダーを使用)が使えるように設定できます。 以下の例は、ローカル開発者によるスコープ付きトークンの操作をStreamlitとFastAPIの両方について示しています。

# Work with owner API key

endpoint = os.environ.get("DATAROBOT_ENDPOINT")
owner_api_key = os.environ.get("DATAROBOT_API_TOKEN")  # owner API key

with datarobot.Client(token=visitor_api_key, endpoint=endpoint) as client:
    deployments = datarobot.Deployment.list()  # get list of visitor datasets


# Work with visitor API key
## Streamlit

endpoint = os.environ.get("DATAROBOT_ENDPOINT")
headers = streamlit.context.headers  # request headers
visitor_api_key = headers.get('x-datarobot-api-key')  # visitor API key from request headers

with datarobot.Client(token=visitor_api_key, endpoint=endpoint) as client:
    datasets = datarobot.Dataset.list()  # get list of visitor datasets


## FastAPI

_router = fastapi.APIRouter(tags=["Datasets"])

@_router.get("/datasets")
async def chat_completion(request: fastapi.Request) -> Any:
    endpoint = os.environ.get("DATAROBOT_ENDPOINT")
    visitor_api_key = request.headers.get('x-datarobot-api-key')  # visitor API key from request headers

    with datarobot.Client(token=visitor_api_key, endpoint=endpoint) as client:
        datasets = datarobot.Dataset.list()  # get list of visitor datasets 

カスタムアプリケーションをワークベンチの ユースケースにリンクするには、アプリケーションのアクションメニュー で、 ユースケースへのリンクをクリックします。

ユースケースへのリンクモーダルで、次のいずれかのオプションを選択します。

オプション 説明
ユースケースの選択 ユースケース名ドロップダウンリストをクリックして既存のユースケースを選択してから、ユースケースへのリンクをクリックします。
ユースケースの作成 新しいユースケース名とオプションの説明を入力し、ユースケースの作成をクリックして、ワークベンチで新しいユースケースを作成します。
リンクされたユースケースの管理 ユースケースの横にあるマイナスアイコン をクリックしてアセットとのリンクを解除してから、選択されたリンクを解除をクリックします。

アプリケーションの削除

適切な権限がある場合、アクションメニュー をクリックし、削除)をクリックすることで、アプリケーションを削除できます。

アプリケーションログ

DataRobotでは、カスタムアプリケーションのために2種類のログを記録します。ビルドおよびランタイムログとアクセスログです。 これらのログを通じて、アプリケーションのビルドおよびランタイムタスクを監視し、アプリケーションのユーザーアクセス履歴を確認できます。

ログの閲覧権限

アプリケーションのログにアクセスするには、カスタムアプリケーションのオーナーまたはエディター権限が必要です。 オーナーはすべてのログを閲覧できますが、エディターはビルドおよびランタイムログのみを閲覧でき、アクセスログは閲覧できません。

ビルドログとランタイムログ

カスタムアプリケーションのビルドおよびランタイムタスクの履歴を詳細に記録したログを閲覧できます。 アプリケーションページから、ログを表示したいアプリのアクションメニュー を開き、ログを表示をクリックします。

ログモーダルには、カスタムアプリケーションのコンパイル、構築、および実行の履歴の詳細が表示されます。 これには、依存関係のチェック、パッケージ化、および発生した警告やエラーが含まれます。

アクセスログ

アクセスログを閲覧して、カスタムアプリケーションを開いたり操作したりしたユーザーの履歴を監視します。 アクセスログを表示するには、アプリケーションページに移動して、ログを表示したいアプリのアクションメニュー を開き、アクセスログを表示をクリックします。

また、アプリケーションソースから直接アクセスログを表示することもできます。 アプリケーションのソースページに移動して、カスタムアプリケーションのアプリケーションソースを見つけ、ドロップダウンを展開して、ソースから構築されたアプリケーションを表示します。 次に、アクセスログを表示したいカスタムアプリケーションをクリックすると、詳細表示にアクセスできます。

カスタムアプリケーションの詳細表示から、アクセスログセクションまでスクロールダウンします。

アクセスログには、メールアドレス、ユーザーID、アクセス日時、アプリケーションに対するユーザーのロールなど、ユーザーによるアプリケーションへのアクセスの詳細が記録されます。

利用状況のロギング間隔

最初のアクセスイベントに加えて、アプリケーションへのアクセスまたは使用が、24時間ごとに個別のアクセスとして記録されます。 たとえば、ユーザーがアプリケーションを開くとアクセスイベントがログに記録され、そのユーザーセッションが24時間を超えて継続的にアクセスまたは使用されると、別のアクセスイベントがログに記録されます。 これにより、カスタムアプリケーションを24時間1分アクセスすると、2つのアクセスイベントが記録されます。 セルフマネージドAIプラットフォーム環境では、この間隔はアプリケーション設定のCUSTOM_APP_USAGE_METRIC_PUBLISH_MAX_FREQによって変更可能です。