PI Web APIを用いたエレメントの作成について

PI Web APIを用いてエレメントの作成を行いたいのですが、403 Forbiddenエラーで失敗しています。

 

親となるエレメントのwebIdの取得とエレメントの作成には次のAPIを使用しています。

https://techsupport.osisoft.com/Documentation/PI-Web-API/help/controllers/element/actions/getbypath.html

https://techsupport.osisoft.com/Documentation/PI-Web-API/help/controllers/element/actions/createelement.html

 

webIdの取得や 既に作成済みのエレメントのアトリビュートの値の取得には成功しています。

 

エラーの原因と解決方法、確認する必要のある設定を知りたいです。

よろしくお願いします。

Parents
  • HTTPSのプロトコルではGet/POST/Putリクエストなどができますが、POSTリクエストを使用しているのでしょうか?リクエストのBodyもシェアしていただければ確認しやすいです。

    そのほかエレメントの作成権限がPIWebAPIのサービスユーザーにあるか、Kerberos委任であればアプリケーション側の実行ユーザーにあるかも関連するかもしれません。

  • ご回答ありがとうございます。

    webIdの取得にはGETリクエスト、エレメントの作成にはPOSTリクエストを使用しております。

    POSTリクエストのBodyは下記の通りです(hoge_Templateは作成済み)

    {

      "Name": "hogehoge",

      "Description": "",

      "TemplateName": "hoge_Template",

      "CategoryNames": [

      ],

      "ExtendedProperties": {}

    }

    認証方法はAnonymous認証としています。

     

    エレメントの作成権限がPIWebAPIのサービスユーザーにあるかの確認はどのように行えばよろしいでしょうか?

  • エレメントの作成権限を確認するにはPI System Explorerで指定のデータベースに右クリックをしてセキュリティページを開きます。


    pastedImage_4.png.png

    エレメントを作成したい場合はデータベースにwriteアクセスが必要です。エレメント作成のみに権限を制限したい場合はElementsとElement Templatesのみにwriteアクセスを設定します。


    pastedImage_6.png.png

    あと、PI Web APIのPI Identityにちゃんとサービスユーザーがマッピングされているかご確認ください。マッピング設定はIdentityに右クリックをしてプロパティを開くと確認できます。

Reply
  • エレメントの作成権限を確認するにはPI System Explorerで指定のデータベースに右クリックをしてセキュリティページを開きます。


    pastedImage_4.png.png

    エレメントを作成したい場合はデータベースにwriteアクセスが必要です。エレメント作成のみに権限を制限したい場合はElementsとElement Templatesのみにwriteアクセスを設定します。


    pastedImage_6.png.png

    あと、PI Web APIのPI Identityにちゃんとサービスユーザーがマッピングされているかご確認ください。マッピング設定はIdentityに右クリックをしてプロパティを開くと確認できます。

Children
No Data