OAuth スコープ
スコープは、アクセストークンに許可される操作を定義します。Altium 365 API はすべてのリクエストでスコープを検証し、ある操作に必要なスコープを持たないトークンには認可エラーが返されます。
スコープは、トークンが発行されるコンテキストに基づいてプラットフォームによって割り当てられます。スコープを手動で選択することはありませんが、トークンを確認するときや API を扱うときに目にすることになります。スコープがどのように構成されているかを理解することで、そのトークンに何が許可されているのかを解釈し、アクセス境界を把握しやすくなります。
JWT トークン内のスコープ
アクセストークンは JWT であり、デコードしてクレームを確認できます。scope クレームには、そのトークンの発行時に付与されたすべてのスコープが一覧表示されます。たとえば、Workspace アクセス用に発行されたトークンは次のようになります。
{
"scope": [
"openid",
"profile",
"a365:workspace:a9a01426-ac92-480e-9f80-97fe0f8ba344"
]
}
スコープ a365:workspace:{workspace-id} は、アクセス領域と、そのトークンが有効な特定の Workspace の両方をエンコードしています。
命名規則
Altium OAuth スコープは次のパターンに従います。
area[:resource][.action]
-
area– 広範なプラットフォームドメイン(例:workspace、global、supply) -
resource– 任意。領域内の特定の境界づけられたコンテキストまたはデータドメイン(例:design、library、app) -
action– 任意。操作タイプ(例:read、write、execute)
この命名の背景にあるいくつかの原則は次のとおりです。
-
領域名は製品ベースではなくドメインベースです。
workspaceでありa365ではない、supplyでありoctopartではありません。 -
リソース名は、境界づけられたコンテキストと確立されたドメイン語彙に対応しています。
-
スコープは機能中心ではなく、データ中心です。
スコープ |
意味 |
|
Workspace 内の設計データへの読み取りアクセス |
|
アプリ登録の作成と管理 |
|
サプライデータへの読み取りアクセス |
標準 OIDC スコープ
トークンには、ID とセッション管理に使用される標準 OIDC スコープが含まれる場合もあります。
スコープ |
目的 |
|
OIDC 認証フローに必要 |
|
基本的なユーザープロファイル情報へのアクセス |
|
ユーザーのグループ所属データへのアクセス |
|
リフレッシュトークンの発行を可能にする |
Workspace スコープ
Workspace データへのアクセスは、現在、すべての Workspace リソースをカバーする単一の a365:workspace:{workspace-id} スコープとして表現されています。プラットフォームは、アクセスを特定の境界づけられたコンテキストに限定できる、より細かなモデルへ移行しつつあります。
スコープ |
対象 |
|
PCB プロジェクト、回路図、バリアント、リリース |
|
コンポーネント、シンボル、フットプリント、部品データ |
|
部品表、BOM 項目 |
|
コメント、タスク、注釈 |
|
Workspace メンバーシップとグループ |
|
Workspace インサイトと分析 |
|
PLM 統合 |
|
ワークフロー定義と実行 |
|
要件管理 |
各きめ細かなスコープは、.read および .write アクションをサポートします。より細かなモデルは段階的に展開されており、API の bounded context model と整合することで、統合に対して実際に必要なデータのみにアクセスを許可できるようになります。