2017-02-09 15 views
4

azure関数からデータファクトリパイプラインをプログラムで呼び出しようとしました。その次のエラーを投げる。オブジェクトIDを持つクライアントに、操作 'Microsoft.DataFactory/datafactories/datapipines/read'をスコープで実行する権限がありません。

リンク: http://eatcodelive.com/2016/02/24/starting-an-azure-data-factory-pipeline-from-c-net/

AuthorizationFailed:実行する権限を持っていないオブジェクトID 'XXX829e05'XXXX-XXXXX' がクライアントのXXXX-XXXXX-XXXX 'アクション 「Microsoft.DataFactory/datafactories/dataapipines/read 'スコープを超えて ' /subscriptions/XXXXXX-4bf5-84c6-3a352XXXXXX/resourcegroups/fffsrg/providers/Microsoft.DataFactory/datafactories/ADFTestFFFS/datapipeline/ADFTutorialPipelineCustom 'を参照してください。

類似の問題を検索しようとしましたが、検索結果のいずれも私の問題を解決できませんでした。

目的は、ファイルがBLOBに追加されるたびにデータファクトリパイプラインを実行することです。結果を達成するために、BLOBトリガーを使用して紺関数からデータファクトリパイプラインを呼び出そうとしています。

この点に関するお手伝いが大変ありがとうございます。

おかげ

答えて

0

は、あなたがのDataFactoryに関連する権限を持っていないので、あなたがパイプラインの範囲にわたって「Microsoft.DataFactory/datafactories/datapipelines /読み」アクションを実行する権限がありませんエラーが発生します。

&のデータファクトリリソースまたは子リソースを作成するには、「コントリビュータ」/「DataFactoryContributor」権限が必要です。次のリンクで紺碧のRBACの役割の詳細:顧客がAzureの機能の中からADFクライアントを使用しようとしているので

https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-built-in-roles

、勧告は、ADFの認証のためのAADアプリケーションとサービスプリンシパルを使用することですクライアント。あなたはここにAADのアプリケーションとサービスプリンシパルを作成するための手順を見つけることができます。

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authenticate-service-principal

Active Directoryのアプリケーション、サービスプリンシパルを作成する方法についての指示に従って、その後のデータの工場寄稿者の役割に割り当ててください。 ADFクライアントでサービスプリンシパルを使用するための次のリンクとコードサンプル。

0

ソリューション:

  1. ステップ1:AzureのActive Directoryにアプリを登録します。
  2. 手順2:同じアプリに「データファクトリコントリビュータ」の役割を割り当てます。パワーシェルを使用することでこれを実現できます。

以下のコードは私のために働きます。 Azureの資格情報でログインした後、パワーシェルで試してみてください。
実装:

  1. ステップ1:$azureAdApplication = New-AzureRmADApplication -DisplayName <AppName> -HomePage <URL> -IdentifierUris <URL with domain> -Password <Password>
  2. ステップ2:New-AzureRmRoleAssignment -RoleDefinitionName "Data Factory Contributor" -ServicePrincipalName $azureAdApplication.ApplicationId
関連する問題