0

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

コマンドライン

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

$credentials = New-Object -TypeName System.Management.Automation.PSCredential($servicePrincipalApplicationId, $clientSecret)

Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant $tenantId

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

New-AzRoleAssignment -ApplicationId $keyVaultServicePrincipalId -ResourceGroupName $resourceGroupName -ResourceName $storageAccountName -ResourceType "Microsoft.Storage/storageAccounts" -RoleDefinitionName "Storage Account Key Operator Service Role"

どこ:

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

サービスプリンシパル

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

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

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

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

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

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

質問

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

New-AzRoleAssignment: The provided information does not map to an AD object id.

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

4

1 に答える 1