注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
プラットフォーム内での Functions の作成と実行は、多くの種類のパーミッションチェックが必要です。このセクションでは、把握しておくべきパーミッションの種類と、よく遭遇する問題について説明します。
Functions のリポジトリには、以下の作業を行うための適切なパーミッションが必要です。
リポジトリのパーミッションは明示的に付与する必要があり、ユーザーのアカウントに付与されたパーミッションとは異なることに注意してください。その結果、リポジトリを含むプロジェクトにオブジェクトタイプ、リンクタイプ、バッキングデータソースをインポートする特定の手順を踏む必要があります。
これらの手順についてのチュートリアルは、このセクションを参照してください。以下では、インポートされた特定のリソースとそれらのリソースに付与されたパーミッションについて説明します。
リポジトリでは、チェックが実行されたり Code Assist が起動したりするたびに、Functions プラグインがリポジトリのパーミッションに基づいて最新のオントロジーをロードし、ロードされたすべてのオブジェクトタイプとリンクタイプのコードバインディングを生成します。ロードされるオブジェクトタイプとリンクタイプのセットは、以下のリソースタイプのインポートに依存します。
Functions リポジトリでは、設定 > オントロジーに移動して、必要なオントロジーリソースをインポートできます。このインターフェースを使用すると、プロジェクトにインポートするオブジェクトタイプとリンクタイプを選択できます。
ユーザーアカウントが複数のオントロジーにアクセスできる場合は、使用するオントロジーを選択することもできます。現在、1つのプロジェクトに複数のオントロジーをインポートすることはサポートされていません。
上記のインターフェースは Functions リポジトリ内に表示されますが、インポートしたオントロジー、オブジェクトタイプ、リンクタイプはすべて プロジェクト レベルで追加されます。これは、1つのリポジトリでインポートを変更すると、同じプロジェクト内の他のリポジトリに影響を及ぼす可能性があることを意味します。異なるオントロジーエンティティに依存する2つのリポジトリを持つ場合は、それらを異なるプロジェクトに分けるべきです。
リポジトリ内の Functions ヘルパーは、ユーザーが Functions を2つの方法で実行することを可能にします。公開された Function を実行するか、Live Preview でコードを実行するかです。Live Preview で実行すると、Functions のコードが Code Assist でコンパイルされ実行されます。Code Assist は、コード作成者が素早く反復処理を行えるように設計されたインフラストラクチャです。
Code Assist はリポジトリに関連付けられているため、上記で説明したコード生成と同じパーミッション要件が適用されます。これは、Live Preview で Function を実行する際に、使用する各オブジェクトタイプのバッキングデータソースをプロジェクトにインポートする必要があることを意味します。
Functions ヘルパーでは、対応するデータソースがインポートされていないオブジェクトタイプがプロジェクトにインポートされている場合、Live Preview に警告が表示され、インポートを更新するように促されます。
ほとんどのオブジェクトタイプの場合、バッキングデータソースのインポート ダイアログは、Foundry データセットをインポートするように促します。行レベルセキュリティが有効になっているオブジェクトタイプの場合、制限付きビューをインポートするように促されます。
Function が公開されると、より多くのユーザーが使用でき、Workshop や Actions などのアプリケーションで実行するように設定できます。ただし、公開 Function を実行するためのパーミッションについては、いくつか考慮すべき点があります。
Function を実行するためには、ユーザーは Function が公開されたリポジトリに対して Viewer ロールを持っている必要があります。通常、最適なのは、そのリポジトリ内の Functions に依存するエンドユーザーアプリケーションと同じプロジェクト内に Functions リポジトリを配置することです。これらのアプリケーションは、Workshop、Slate、または他のツールを使用して作成されます。ユーザーが Function の読み取りに必要なパーミッションが不足していることを示すエラーに遭遇した場合は、リポジトリへの読み取りアクセスがあるかどうかを確認します。リソースの移動と共有について詳しく学ぶ
サイドバーの アクセス確認 パネルは、Workshop や Slate アプリケーションへの誰かのアクセス、依存する functions へのアクセスを確認するために使用できます。詳細については、アクセス確認パネルのドキュメンテーションを参照してください。
Function-backed Actionsは特殊なケースで、エンドユーザーがそれを使用する Action を適用するために必ずしも Function の読み取りアクセスが必要なわけではありません。管理ユーザーは、Action を使用するように設定する際に Function への読み取りアクセスを持っている必要があります。その後、ユーザーは Action-level permissionsに基づいて Action を適用できるようになります。
Function がオブジェクトデータをロードする際、パラメーターとしてまたはオブジェクト検索を通じて、Function を実行するエンドユーザーのパーミッションがどのオブジェクトがロードされるかを決定します。行レベルのパーミッションを使用してセキュリティが確保されたオブジェクトタイプの場合、同じ Function を実行する異なるユーザーが異なる結果を得ることがあります。この挙動は意図的なものであり、ユーザーは自分がアクセスできるオブジェクトのみを見るべきであり、この挙動により、個々のオブジェクトへの異なるアクセスを持つユーザーに対して単一の Function が機能するようになります。