私はVSTS REST APIを使用して、PATCH要求を使用して添付ファイルをワークアイテムにアップロードしました。今、同じチームプロジェクト内の別のユーザーを使用して作業項目から添付ファイルにアクセスすると、Unauthorized Read Accessと表示されます。VSTS REST APIを使用してアップロードされた添付ファイルは他のユーザーには利用できません
{"$id":"1","innerException":null,"message":"VS402330: Unauthorized Read access to the attachment under the areas ","typeName":"Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemUnauthorizedAttachmentException, Microsoft.TeamFoundation.WorkItemTracking.Server","typeKey":"WorkItemUnauthorizedAttachmentException","errorCode":0,"eventId":3200}
注:私は使用しています、他のユーザーがデフォルトのドメイン上のAzure ADに作成されている - すなわち - ここ[email protected]
は再現手順です:
Prerequsites
- いくつかのユーザーをVSTSに追加する - (AzurePortalでデフォルトドメイン(xxxx.onmicrosoft.com)を使用して5人のユーザーを作成したので、ユーザーIDは[email protected]と同じです)
- これらのユーザーを追加してください
-
:コレクション・レベルのセキュリティエリア内のコレクションレベルのユーザー・グループへ
- は、ステップ2
再現手順で作成しgropupを使用して、プロジェクト・レベルのセキュリティエリアに「チーム」にこれらのユーザーを追加します。
VSTSに添付ファイルをアップロードする。C# Client Libraries hereを使用する。アップロードするには、何らかの形式の認証を使用する必要があります。プロジェクトはCredentialCache.DefaultCredentialsを使用するVssCredentialsを使用します。私はvstsユーザーセキュリティエリア内の任意のユーザー用に作成できるPersonal Access Tokenと同様にこれを試しました。
アップロードが成功すると、APIは参照URLを返します。 URLを取得します。
ブラウザにURLを貼り付け、アップロードに使用したのと同じアカウントを使用してファイルを取得しようとします。ファイルは、showup/downloadを正常に実行する必要があります。
vstsからログオフし、前提条件で作成した他のユーザーの1人としてログインします。
添付ファイルのURLをブラウザに貼り付けてもう一度ファイルを取得しようとすると、
ファイルをダウンロードする代わりに、不正な読み取りアクセスが発生します。
{ "$id": "1", "innerException": null, "message": "VS402330: Unauthorized Read access to the attachment under the areas ", "typeName": "Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemUnauthorizedAttachmentException, Microsoft.TeamFoundation.WorkItemTracking.Server", "typeKey": "WorkItemUnauthorizedAttachmentException", "errorCode": 0, "eventId": 3200 }
この問題は再現できません。 (作業項目を開く>添付ファイル>開いている添付ファイル、REST APIによる添付ファイルのダウンロード、添付ファイルを作業項目に関連付ける)。そのユーザーは添付ファイルにどのようにアクセスしますか?そのユーザーの詳細な許可は何ですか?この問題を再現するための詳細な手順を提供することができます。 –
starain-MSFT、私はすべての必要な情報で投稿を更新しました。希望が役立ちます。 –
私の最終目標は、pngファイルの場合はプレビュー、そうでない場合はハイパーリンクとして記述内に添付ファイルを置くことです。読者は「Description」で必要なものだけを得ることができます。 UIを使用してその作業を行うと、スクリーンカットを貼り付けるように機能します。だから私は、そのようなUIアクションの結果として生成されたHTMLを模倣し、APIを介して説明でそれを送りたいと思っていました。そのようなプレビュー/リンクは他のユーザーに見られない! - すべての添付ファイルに悪い名前が付いていて、2500以上の作業項目を移行する必要があるため、インラインリンクや画像を持たずに、タブ間のストーリーの切り替えを理解するのは苦労します。 –