# 機能と権限

Source: https://openflow.run/ja/docs/design/permissions/
Language: ja
Product version: 0.1.0-beta.77

タスクに必要なアカウント、ツール、ランタイム機能をワークフローに許可します。

ワークフロー定義は、使用する機能を宣言します。デプロイ先は処理の受付時と実行時に、認証済みの操作者、フローの所有者、選択されたアカウント、現在の認可を確認します。

## 接続

外部の認証情報は Connector が管理します。ノードは Connection を選択し、アクセストークンをリビジョンに埋め込みません。同じサービスの 2 つのアカウントでも権限は別々です。一方の失敗を理由に、もう一方を使う権限は得られません。

フロー共通のアクセス設定はグラフとは別に保存されます。公開版と実行は、必要な認可主体とスナップショットを固定します。ただし、提供元で認可が取り消されれば、後続の呼び出しが拒否される場合があります。

## Agent のツール

Agent が呼び出せるのは宣言されたツールだけです。ツール宣言で、アクションまたはワークフロー、アカウント、固定引数、モデルが指定する引数、承認ポリシーを選択します。プロンプトで権限を拡張することはできません。

設定の詳細は [Agent](https://openflow.run/ja/docs/nodes/agent/index.md) と [Connector](https://openflow.run/ja/docs/nodes/connector/index.md) を参照してください。

## Code の機能

コードは隔離環境で動きます。組み込みモジュールを使っても、ホストのファイル、認証情報、任意のネットワークにはアクセスできません。外部アクション、ワークフロー呼び出し、HTTP ホストは、対応する機能インターフェースで宣言します。

## 変数と機密データ

変数はアカウント所有の設定です。値をワークフロー定義に直接書かずに済みますが、ユーザーコードは受け取った値を返したり、記録したり、送信したりできます。エクスポート不可能な秘密を保証する仕組みではありません。

現在のタスクに必要なデータと権限だけを渡してください。機密値を扱うフローでは、出力とログも確認します。

## 参照元

*   [docs/architecture.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/architecture.md#4-identity-and-capability-boundaries)
*   [docs/control/flow-authorization.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/flow-authorization.md)
