問題タブ [azure-rbac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
618 参照

azure - 「提供された情報が AD オブジェクト ID にマップされていません」というエラーが表示されるのはなぜですか? サービス プリンシパルを使用して New-AzRoleAssignment を実行するときは?

Azure DevOps パイプラインで Powershell を使用して、キー コンテナーのプリンシパルにロールStorage Account Key Operator Service Roleをストレージ アカウントに割り当てようとしています。

コマンドライン

コマンド ラインは、サービス プリンシパルを使用して Azure に接続した後に実行されます。

実行するコマンドラインは次のとおりです。

どこ:

  • $keyVaultServicePrincipalIdKey Vaultの事前登録済みプリンシパル IDです。その値はcfa8b339-82a2-471a-a3c9-0fc0be7a4093です。
  • $resourceGroupNameストレージが配置されているリソース グループの名前です。その値はaccountsmanager-test-global-rgです。
  • $storageAccountName私のストレージアカウントの名前です。その値はaccountsmanagertestです。

サービスプリンシパル

コマンドが実行されるサービス プリンシパルのアクセス許可は次のとおりです。

サービス プリンシパルのアクセス許可

コマンドは、サブスクリプションで所有者ロールを持つサービス プリンシパルとして実行されます。

サブスクリプションの所有者

そのサブスクリプションで作成されたリソース グループも、そのサービス プリンシパルによって所有されます。

リソース グループの所有者

質問

コマンドを実行すると、次のエラーが表示されます。

The provided information does not map to an AD object id.コマンドの実行時にエラーが発生するのはなぜNew-AzRoleAssignmentですか?

0 投票する
1 に答える
327 参照

python-3.x - Azure AD のプリンシパル ID をユーザー、サービスに解決する

プリンシパル ID のリストをユーザー/サービスの名前などの詳細に解決しようとしています。私は次のコードを持っています -

stackoverflow ページの 1 つでアドバイスに従ってみましたが、エラーが発生しました (以下を参照)。これらのプリンシパル ID を人間が理解できる形式に解決する方法についてのガイダンスをいただければ幸いです。

エラー -

azure.graphrbac.models.graph_error_py3.GraphErrorException: プロパティ 'principal_id' は、宣言されたプロパティまたは拡張プロパティとして存在しません。

エラー -

msrest.exceptions.SerializationError: モデルを構築できません: オブジェクトに逆シリアル化できません: 型、AttributeError: 'str' オブジェクトに属性 'get' がありません, DeserializationError: オブジェクトに逆シリアル化できません: 型、AttributeError: 'str' オブジェクトが持っています属性「get」はありません

0 投票する
1 に答える
1430 参照

azure-functions - Azure Python 関数とマネージド ID を使用してストレージ アカウントからダウンロードする

Azure Data Lake / Storage にデータをアップロードおよびダウンロードする必要がある Python で記述された "transformerfunction" という Azure 関数を作成しました。また、システム割り当てマネージド ID を有効にし、ストレージ アカウントで "Storage Blob Data Contributor" ロール アクセス許可を関数に付与しました。

ここに画像の説明を入力

ファイルを認証してダウンロードするには、基本的にこれらのドキュメントに従って、コードのこの部分を使用します。

私の理解が正しければ、Azure は関数の ID を認証に使用する必要があり、この ID にはストレージに対する Storage Blob Data Contributor のアクセス許可があるため、ダウンロードは機能するはずです。

ただし、関数を呼び出してログを確認すると、次のように表示されます。

これは、関数がブロブをダウンロードする権利を持っていないことを明確に示しています。しかし、なぜ?どうすればいいですか?

編集:

問題の原因がわかりました。ネットワーク設定で Data Lake ストレージを次のように制限しました。

ここに画像の説明を入力

私の仮定では、「信頼できる Microsoft サービスにこのストレージ アカウントへのアクセスを許可する」は、Azure で実行されている Functions が、選択されているかどうか、またはどのネットワークが選択されているかに関係なく、常にストレージにアクセスできるようにするというものでした。これは事実ではありません。