コンテンツにスキップ
これは最新の機能を備えた最新リリースですが、長期サポートは提供されません。サポートを継続するには、新しいリリースごとにアップグレードするか、四半期ごとの安定版リリースをご利用ください。

For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.

アーティファクト承認

Page as Markdown

管理者以外のユーザーがレジストリカタログから AI アーティファクトを作成、更新、または削除する前に管理者の承認を必要とします。

アーティファクト承認モードについて

レジストリ管理者ユーザーは、Solo Enterprise for agentregistry でアーティファクト承認モードを有効にできます。承認モードを有効にすると、管理者以外のユーザーはレジストリ管理者ユーザーの承認なしにレジストリカタログで AI アーティファクトを作成、更新、または削除できません。すべての AI アーティファクト変更リクエストはステージングされます。管理者はステージングされた変更を確認し、AI アーティファクトの更新がすべてのレジストリユーザーに表示される前にリクエストを承認または却下する必要があります。

管理者ユーザーは常に、最初に承認を取得せずに AI アーティファクトに対して作成、更新、または削除操作を実行できます。

Note

承認モードはエージェントや MCP サーバーなどの AI アーティファクトにのみ適用されます。管理者以外のユーザーがステージングされた AI アーティファクトを参照するデプロイを作成した場合、そのデプロイは管理者ユーザーがステージングされたアーティファクトを承認するまで保留状態になります。管理者が AI アーティファクトの更新を却下した場合、デプロイは保留状態のままとなり、削除するか承認済みのアーティファクトを参照するよう更新する必要があります。すでに承認済みのエージェントに対するデプロイはステージングされず、すぐに適用されます。

次の図は、AI アーティファクト変更リクエストのライフサイクルと、アーティファクト承認モードが有効な場合に管理者または管理者以外のユーザーが実行できる操作を示しています。

    sequenceDiagram
    participant NA as 管理者以外のユーザー
    participant AR as agentregistry
    participant A as 管理者

    Note over NA,A: AI アーティファクトをステージングする
    NA->>AR: AI アーティファクトを作成、更新、または削除する
    AR-->>NA: アーティファクトの更新が承認待ち

    Note over NA,A: 承認キューを管理する
    A->>AR: 承認キューを表示する(UI)
    AR-->>A: すべての保留中のリクエスト

    alt 管理者がリクエストを承認
        A->>AR: リクエストを承認する(UI)
        AR-->>A: 承認済み
        AR->>AR: レジストリカタログで AI アーティファクトを更新する
    else 管理者以外のユーザーがリクエストを撤回
        NA->>AR: リクエストを撤回する(UI)
        AR->>AR: キューからリクエストを削除する
        AR-->>NA: リクエストが削除された
    else 管理者がリクエストを撤回
        A->>AR: リクエストを撤回する(UI)
        AR->>AR: キューからリクエストを削除する
        AR-->>A: リクエストが削除された
    end

    Note over NA,A: 承認済み AI アーティファクトを削除する
    A->>AR: 承認済みのアーティファクトを表示する
    AR-->>A: すべてのアーティファクト
    A->>AR: アーティファクトを削除する
    AR->>AR: レジストリからアーティファクトを削除する
    AR-->>A: 削除された

    Note over NA,A: 保留中のアーティファクトをデプロイする
    NA->>AR: 保留中のアーティファクトのデプロイを作成する
    AR-->>NA: デプロイが保留中
    alt 管理者がアーティファクトを承認
        A->>AR: アーティファクトを承認する(UI)
        AR->>AR: アーティファクトをレジストリカタログに適用する
        AR->>AR: デプロイを再調整する
        AR-->>NA: デプロイが適用された
    else 管理者がアーティファクトを撤回
        A->>AR: アーティファクトを撤回する(UI)
        AR-->>NA: デプロイは保留状態のまま
    end
  

始める前に

  1. OIDC プロバイダーをセットアップして、ユーザーがレジストリで認証できるようにします。

  2. Solo Enterprise for agentregistry をインストールし、arctl CLI をセットアップします。

  3. まだ実行していない場合は、Solo Enterprise for agentregistry サーバーをポート 12121 でポートフォワードします。レジストリはデフォルトでは外部に公開されないため、ローカルマシンから到達するにはポートフォワードが必要です。

    kubectl -n agentregistry-system port-forward svc/agentregistry-enterprise-server 12121:12121
  1. レジストリアクセスを制限するガイドに従って、管理者以外のユーザー (dev-user) をセットアップし、そのユーザーにレジストリへの読み取り、公開、デプロイの権限を付与する AccessPolicy を適用します。たとえば、次のような AccessPolicy を適用できます。

    cat <<EOF | arctl apply -f-
    apiVersion: ar.dev/v1alpha1
    kind: AccessPolicy
    metadata:
      name: developers
    spec:
      principals:
        - kind: Role
          name: developers
      rules:
        - actions:
            - "registry:read"
            - "registry:publish"
            - "registry:edit"
            - "registry:deploy"
          resources:
            - kind: agent
              name: "*"
            - kind: server
              name: "*"
            - kind: runtime
              name: "*"
    EOF

ステップ 1: 承認モードを有効にする

  1. 省略可能: 参照用に現在の Helm 値をファイルに保存します。

    helm get values agentregistry --namespace agentregistry-system -o yaml > agentregistry-values.yaml
  2. Helm リリースをアップグレードして承認モードを有効にします。--reuse-values フラグは前のリリースのすべての値を自動的に再適用します。

    helm upgrade -i agentregistry \
      oci://us-docker.pkg.dev/solo-public/agentregistry-enterprise/helm/agentregistry-enterprise \
      --namespace agentregistry-system \
      --reuse-values \
      --set config.requireCreateApproval="true"
  3. Solo Enterprise for agentregistry のすべてのコントロールプレーン Pod が起動して実行されていることを確認します。

    kubectl get pods -n agentregistry-system
  4. UI を開き、Catalog ページに移動します。Administrative Requests カードが表示されることを確認します。

ステップ 2: 承認フローをトリガーする(管理者以外のユーザー)

  1. 現在の CLI セッションからログアウトします。

    arctl user logout
  2. dev-user というユーザー名と password で Solo Enterprise for agentregistry にログインします。プロンプトが表示されたらデバイス認可付与を完了します。

    arctl user login
  3. エージェントをレジストリカタログに公開します。エージェントがステージングされ、直接適用されないことを確認します。

    arctl apply -f- <<EOF          
    apiVersion: ar.dev/v1alpha1
    kind: Agent
    metadata:
     name: approval-agent
    spec:
      source:
        image: localhost:5001/myagent:latest
        repository:
          url: https://github.com/solo-io/doc-examples
          subfolder: agentregistry/myagent
      modelProvider: bedrock
      modelName: us.anthropic.claude-sonnet-4-6
      description: myagent agent
      mcpServers:
        - kind: MCPServer
          name: mymcp
    EOF

    出力例:

    ✓ Agent/approval-agent (latest) staged
    
  4. 環境内のエージェントを一覧表示し、まだ approval-agent が表示されないことを確認します。

    arctl get agent 
  5. ステージングされたエージェントのデプロイを作成します。

    arctl apply -f- <<EOF
    apiVersion: ar.dev/v1alpha1
    kind: Deployment
    metadata:
      name: approval-agent
    spec:
      targetRef:
        kind: Agent
        name: approval-agent
      runtimeRef:
        kind: Runtime
        name: agentcore
      deploymentRefs:
        - name: mymcp
      runtimeConfig:
        region: $AWS_REGION
        workdir: agentregistry/myagent
    EOF

    出力例:

    ✓ Deployment/approval-agent created
    
  6. approval-agent アーティファクトがまだ承認されていないため、デプロイが保留状態のままであることを確認します。

    arctl get deployment approval-agent

    出力例:

    NAME                     TARGET           VERSION   TYPE    RUNTIME      STATUS
    default/approval-agent   approval-agent             agent   agentcore    pending
    

ステップ 3: 承認キューを管理する(管理者)

管理者として、ステージングされたすべてのリクエストを確認し、次のいずれかのアクションを実行できます。

  • 承認: ステージングされた AI アーティファクトを適用し、レジストリカタログに追加します。アーティファクトは読み取りアクセス権を持つユーザーに即座に表示されるようになります。ステージングされたアーティファクトを参照していたデプロイが開始されます。
  • 撤回: ステージングされたリクエストを適用せずに削除します。アーティファクトはレジストリカタログに公開されません。ステージングされたアーティファクトを参照するデプロイは保留状態のままです。
  1. 管理者ユーザーとして admin-user というユーザー名と password で Solo Enterprise for agentregistry UI にログインし、Catalog に移動します。

  2. Administrative requests ビューを開き、approval-agent エージェントが表示されることを確認します。エージェントを選択して Approve をクリックします。次に OK をクリックして承認を確定します。

    同様に、リクエストを却下する場合は Withdraw をクリックし、ポップアップウィンドウで却下を確定します。エージェントはレジストリカタログに追加されず、ステージングされたエージェントを参照するデプロイは保留状態のままになることに注意してください。

  3. エージェントがカタログに追加されたことを確認します。

  4. Instances ビューに移動し、デプロイが開始されたことを確認します。

Note

以前に承認した AI アーティファクトを、後からカタログから削除できます。AI アーティファクトを削除するには、まずそのアーティファクトを参照するすべてのデプロイメントを削除する必要があります。その後、Catalog に移動し、削除するアーティファクトを選択して Delete をクリックします。