Azure RBAC のトラブルシューティング
この記事では、Azure ロールベースのアクセス制御 (Azure RBAC) に関連する問題の一般的なソリューションについて説明します。
Azure でのロールの割り当て
現象 - ロールの割り当ての追加オプションが無効になっている
[追加]>[ロールの割り当ての追加] オプションが無効になっているため、アクセス制御 (IAM) で Azure portal でロールを割り当てることができません
原因
現在、選択したスコープでロールを割り当てるアクセス許可を持たないユーザーでサインインしています。
ソリューション
ロールを割り当てようとしているスコープで、ロール ベース アクセスの制御管理者 などの Microsoft.Authorization/roleAssignments/write
アクセス許可を持つロールが割り当てられているユーザーが現在サインインしていることを確認してください。
現象 - ロールまたはプリンシパルが一覧に表示されない
Azure portal でロールを割り当てようとすると、一部のロールまたはプリンシパルが一覧に表示されません。 たとえば、[ロール] タブでは、ロールのセットが減っています。
または、[メンバーを選択します] ウィンドウで、プリンシパルのセットが減っています。
原因
追加できるロールの割り当てには制限があります。 たとえば、ロールの割り当が可能なロールで制約を受ける、またはロールの割り当が可能なプリンシパルで制約を受けます。
解決方法
自分に割り当てられているロールを表示します。 追加できるロールの割り当てを制限する条件があるかどうかを確認します。 詳細については、「Azure アクセス管理を他のユーザーに委任する」をご覧ください。
症状 -ロールを割り当てることができない
ロールを割り当てることができないため、次のようなエラーが表示されます。
Failed to add {securityPrincipal} as {role} for {scope} : The client '{clientName}' with object id '{objectId}' does not have authorization or an ABAC condition not fulfilled to perform action 'Microsoft.Authorization/roleAssignments/write' over scope '/subscriptions/{subscriptionId}/Microsoft.Authorization/roleAssignments/{roleAssignmentId}' or the scope is invalid. If access was recently granted, please refresh your credentials.
原因 1
現在、選択したスコープでロールを割り当てるアクセス許可を持たないユーザーでサインインしています。
解決策 1
ロールを割り当てようとしているスコープで、ロール ベース アクセスの制御管理者 などの Microsoft.Authorization/roleAssignments/write
アクセス許可を持つロールが割り当てられているユーザーが現在サインインしていることを確認してください。
原因 2
追加できるロールの割り当てには制限があります。 たとえば、ロールの割り当が可能なロールで制約を受ける、またはロールの割り当が可能なプリンシパルで制約を受けます。
解決策 2
自分に割り当てられているロールを表示します。 追加できるロールの割り当てを制限する条件があるかどうかを確認します。 詳細については、「Azure アクセス管理を他のユーザーに委任する」をご覧ください。
現象 - Azure CLI でサービス プリンシパルを使用してロールを割り当てることができない
サービス プリンシパルを使用して Azure CLI でロールを割り当てると、次のエラーが発生します。
Insufficient privileges to complete the operation
たとえば、所有者ロールが割り当てられたサービス プリンシパルがあり、Azure CLI を使用して、次のロールの割り当てをサービスプリンシパルとして作成しようとするとします。
az login --service-principal --username "SPNid" --password "password" --tenant "tenantid"
az role assignment create --assignee "userupn" --role "Contributor" --scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}"
原因
Azure CLI が Microsoft Entra ID で割り当て先 ID を検索しようとしている可能性が高く、サービス プリンシパルが既定で Microsoft Entra ID を読み取ることができません。
解決方法
このエラーを解決する可能性がある 2 つの方法があります。 最初の方法は、ディレクトリ内のデータを読み取ることができるように、Directory Readers ロールをサービス プリンシパルに割り当てることです。
このエラーを解決する 2 番目の方法は、--assignee
ではなく --assignee-object-id
パラメーターを使用して、ロールの割り当てを作成することです。 --assignee-object-id
を使用すると、Azure CLI は Microsoft Entra 検索をスキップします。 ロールを割り当てるユーザー、グループ、またはアプリケーションのオブジェクト ID を取得する必要があります。 詳細については、「Azure CLI を使用して Azure ロールを割り当てる」を参照してください。
az role assignment create --assignee-object-id 11111111-1111-1111-1111-111111111111 --role "Contributor" --scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}"
現象 - 新しいプリンシパルへのロールの割り当てが失敗する場合がある
新しいユーザー、グループまたはサービス プリンシパルを作成し、すぐにそのプリンシパルにロールを割り当てようとすると、ロールの割り当てが失敗することがあります。 次のエラーのようなメッセージが表示されます。
PrincipalNotFound
Principal {principalId} does not exist in the directory {tenantId}. Check that you have the correct principal ID. If you are creating this principal and then immediately assigning a role, this error might be related to a replication delay. In this case, set the role assignment principalType property to a value, such as ServicePrincipal, User, or Group. See https://aka.ms/docs-principaltype
原因
その理由は、レプリケーションの遅延である可能性があります。 プリンシパルは 1 つのリージョンに作成されます。ただし、ロールの割り当ては、プリンシパルがまだレプリケートされていない別のリージョンで発生する可能性があります。
解決策 1
REST API または ARM テンプレートを使用して新しいユーザーまたはサービス プリンシパルを作成する場合は、ロールの割り当て - 作成 API を使用してロールの割り当てを作成するときに principalType
プロパティを設定します。
principalType | apiVersion |
---|---|
User |
2020-03-01-preview 以降 |
ServicePrincipal |
2018-09-01-preview 以降 |
詳細については、「REST API を使用して新しいサービス プリンシパルに Azure ロールを割り当てる」または「Azure Resource Manager テンプレートを使用して新しいサービス プリンシパルに Azure ロールを割り当てる」を参照してください。
解決策 2
Azure PowerShell を使用して新しいユーザーまたはサービス プリンシパルを作成する場合は、New-AzRoleAssignment を使用してロールの割り当てを作成するときに、ObjectType
パラメータを User
または ServicePrincipal
に設定します。 ソリューション 1 と同じ基になる API バージョンの制限が引き続き適用されます。 詳細については、「Azure PowerShell を使用して Azure ロールを割り当てる」を参照してください。
解決策 3
新しいグループを作成する場合は、数分待ってからロールの割り当てを作成します。
現象 - ARM テンプレート ロールの割り当てが BadRequest 状態を返す
サービス プリンシパルにロールを割り当てる Bicep ファイルまたは ARM テンプレートをデプロイしようとすると、次のエラーが発生します。
Tenant ID, application ID, principal ID, and scope are not allowed to be updated. (code: RoleAssignmentUpdateNotPermitted)
たとえば、マネージド ID のロールの割り当てを作成し、そのマネージド ID を削除して再作成すると、新しいマネージド ID のプリンシパル ID は異なるものになります。 ロールの割り当てを再度デプロイし、同じロールの割り当て名を使用しようとすると、デプロイは失敗します。
原因
ロールの割り当て name
は、一意ではなく、更新と見なされます。
ロールの割り当ては、グローバル一意識別子 (GUID) である名前によって一意に識別されます。 異なる Azure サブスクリプション内であっても、同じ名前で 2 つのロールの割り当てを作成することはできません。 また、既存のロールの割り当てのプロパティを変更することもできません。
解決方法
ロールの割り当て name
にべき等の一意の値を指定します。 スコープ、プリンシパル ID、ロール ID を組み合わせて使用する GUID を作成することをお勧めします。 次の例のように、guid()
関数を使用して、ロール割り当て名の決定的な GUID を作成することをお勧めします。
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-10-01-preview' = {
name: guid(resourceGroup().id, principalId, roleDefinitionId)
properties: {
roleDefinitionId: roleDefinitionId
principalId: principalId
principalType: principalType
}
}
詳細については、「Bicep を使用して Azure RBAC リソースを作成する」を参照してください。
現象 - ID を持つロールの割り当てが見つからない
Azure portal のロールの割り当ての一覧で、セキュリティ プリンシパル (ユーザー、グループ、サービス プリンシパル、またはマネージド ID) が、不明な種類の見つからない ID として表示されている場合があります。
Azure PowerShell を使用してこのロールの割り当てを一覧表示すると、空の DisplayName
と SignInName
、または Unknown
という ObjectType
の値が表示される場合があります。 たとえば、Get-AzRoleAssignment では、次の出力のようなロールの割り当てが返されます。
RoleAssignmentId : /subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
Scope : /subscriptions/11111111-1111-1111-1111-111111111111
DisplayName :
SignInName :
RoleDefinitionName : Storage Blob Data Contributor
RoleDefinitionId : ba92f5b4-2d11-453d-a403-e96b0029c9fe
ObjectId : 33333333-3333-3333-3333-333333333333
ObjectType : User
CanDelegate : False
同様に、Azure CLI を使用してこのロールの割り当てを一覧表示すると、空の principalName
が表示される場合があります。 たとえば、az role assignment list では、次の出力のようなロールの割り当てが返されます。
{
"canDelegate": null,
"id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222",
"name": "22222222-2222-2222-2222-222222222222",
"principalId": "33333333-3333-3333-3333-333333333333",
"principalName": "",
"roleDefinitionId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe",
"roleDefinitionName": "Storage Blob Data Contributor",
"scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"type": "Microsoft.Authorization/roleAssignments"
}
原因 1
最近、ロールの割り当てを作成するときにユーザーを招待しましたが、このセキュリティ プリンシパルはリージョン間でのレプリケーション プロセス中である可能性があります。
解決策 1
しばらく待ってから、ロールの割り当ての一覧を更新してください。
原因 2
ロールの割り当てを持つセキュリティ プリンシパルを削除しました。 ロールをセキュリティ プリンシパに割り当てた後、最初にロールの割り当てを削除せずにそのセキュリティ プリンシパルを削除した場合、そのセキュリティ プリンシパルは ID が見つからない [不明] な種類として表示されます。
解決策 2
セキュリティ プリンシパルが削除されているこれらのロールの割り当てを残しておくのは問題ではありません。 必要であれば、他のロールの割り当てと同様の手順を使用して、これらのロールの割り当てを削除できます。 ロールの割り当てを削除する方法の詳細については、「Azure ロールの割り当ての削除」を参照してください。
PowerShell では、オブジェクト ID とロール定義名を使ってロールの割り当てを削除しようとし、複数のロールの割り当てがパラメータに一致する場合、The provided information does not map to a role assignment
のエラー メッセージを受け取ります。 次の出力は、エラー メッセージの例を示しています。
PS C:\> Remove-AzRoleAssignment -ObjectId 33333333-3333-3333-3333-333333333333 -RoleDefinitionName "Storage Blob Data Contributor"
Remove-AzRoleAssignment : The provided information does not map to a role assignment.
At line:1 char:1
+ Remove-AzRoleAssignment -ObjectId 33333333-3333-3333-3333-333333333333 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Remove-AzRoleAssignment], KeyNotFoundException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Resources.RemoveAzureRoleAssignmentCommand
このエラー メッセージを受け取る場合は、-Scope
パラメーターまたは -ResourceGroupName
パラメーターも指定するようにしてください。
PS C:\> Remove-AzRoleAssignment -ObjectId 33333333-3333-3333-3333-333333333333 -RoleDefinitionName "Storage Blob Data Contributor" -Scope /subscriptions/11111111-1111-1111-1111-111111111111
現象 - 最後の所有者のロールの割り当てを削除できない
サブスクリプションの最後の所有者ロールの割り当てを削除しようとすると、次のエラーが表示されます。
Cannot delete the last RBAC admin assignment
原因
サブスクリプションの最後の所有者ロールの割り当ては、サブスクリプションの孤立化を回避するため、削除できません。
解決方法
サブスクリプションを取り消す場合、「Azure サブスクリプションの取り消し」を参照してください。
テナントのグローバル管理者またはサブスクリプションのクラシック管理者 (サービス管理者または共同管理者) である場合は、サブスクリプション スコープで最後の所有者 (またはユーザー アクセス管理者) ロールの割り当てを削除できます。 この場合、削除の制約はありません。 ただし、呼び出しが他のプリンシパルから行われた場合、サブスクリプション スコープで最後の所有者ロールの割り当てを削除することはできません。
現象 - リソースの移動後にロールの割り当てが移動されない
原因
Azure ロールがリソース (または子リソース) に直接割り当てられているリソースを移動する場合、ロールの割り当ては移動されず、孤立します。
解決方法
リソースを移動した後、ロールの割り当てを再作成する必要があります。 最終的に、孤立したロールの割り当ては自動的に削除されますが、ベスト プラクティスとして、リソースを移動する前にロールの割り当てを削除しておくことをお勧めします。 リソースの移動方法について詳しくは、「リソースを新しいリソース グループまたはサブスクリプションに移動する」をご覧ください。
現象 - ロールの割り当ての変更が検出されない
ロールの割り当てを最近追加または更新しましたが、変更が検出されません。 メッセージ Status: 401 (Unauthorized)
が表示される場合があります。
原因 1
Azure Resource Manager は、パフォーマンスを高めるために構成やデータをキャッシュすることがあります。
解決策 1
ロールを割り当てる、またはロールの割り当てを削除する場合、変更が有効になるまでに最大 10 分かかることがあります。 Azure portal、Azure PowerShell、Azure CLI のいずれかを使用している場合は、一度サインアウトしてからサインインすることで、ロールの割り当てを強制的に最新の情報に更新し、その変更を有効にできます。 REST API 呼び出しでロールの割り当てを変更する場合は、アクセス トークンを更新することによって、最新の情報への更新を強制することができます。
原因 2
マネージド ID をグループに追加し、そのグループにロールを割り当てました。 マネージド ID のバックエンド サービスは、リソース URI ごとのキャッシュを約 24 時間保持します。
解決策 2
マネージド ID のグループまたはロール メンバーシップの変更が有効になるまでには数時間かかる場合があります。 詳細については、認可のためのマネージド ID の使用の制限に関するページを参照してください。
現象 - 管理グループ スコープでのロールの割り当ての変更が検出されない
最近管理グループ スコープで、ロールの割り当てを追加または更新しましたが、変更は検出されません。
原因
Azure Resource Manager は、パフォーマンスを高めるために構成やデータをキャッシュすることがあります。
解決方法
ロールを割り当てる、またはロールの割り当てを削除する場合、変更が有効になるまでに最大 10 分かかることがあります。 管理グループのスコープで組み込みロールの割り当てを追加または削除し、組み込みロールに DataActions
がある場合、データ プレーンへのアクセスが数時間更新されない可能性があります。 これは、管理グループのスコープとデータ プレーンにのみ適用されます。 DataActions
が含まれるカスタム ロールを管理グループのスコープで割り当てることはできません。
現象 - 管理グループの変更に対するロールの割り当てが検出されない
新しい子管理グループを作成し、親管理グループのロールの割り当てが子管理グループに対して検出されていません。
原因
Azure Resource Manager は、パフォーマンスを高めるために構成やデータをキャッシュすることがあります。
解決方法
子管理グループのロールの割り当てが有効になるまでに最大 10 分かかることがあります。 Azure portal、Azure PowerShell、Azure CLI のいずれかを使用している場合は、一度サインアウトしてからサインインすることで、ロールの割り当てを強制的に最新の情報に更新し、その変更を有効にすることができます。 REST API 呼び出しでロールの割り当てを変更する場合は、アクセス トークンを更新することによって、最新の情報への更新を強制することができます。
現象 - PowerShell を使用したロールの割り当ての削除に数分かかる
Remove-AzRoleAssignment コマンドを使用して、ロールの割り当てを削除します。 次に、Get-AzRoleAssignment コマンドを使用して、セキュリティ プリンシパルのロールの割り当てが削除されたことを確認します。 次に例を示します。
Get-AzRoleAssignment -ObjectId $securityPrincipalObject.Id
Get-AzRoleAssignment コマンドは、ロールの割り当てが削除されなかったことを示します。 しかし、5 - 10 分待って Get-AzRoleAssignment をもう一度実行すると、ロールの割り当てが削除されたことを示す出力が表示されます。
原因
ロールの割り当ては削除されています。 ただし、パフォーマンスを向上させるために、PowerShell ではロールの割り当てを一覧表示するときにキャッシュが使用されます。 キャッシュが更新されるまでに約 10 分の遅延が発生する可能性があります。
解決方法
セキュリティ プリンシパルのロールの割り当てを一覧表示する代わりに、サブスクリプション スコープのすべてのロールの割り当てを一覧表示し、出力をフィルター処理します。 たとえば、次のコマンドでは次の処理が行われます。
$validateRemovedRoles = Get-AzRoleAssignment -ObjectId $securityPrincipalObject.Id
これを、代わりに次のコマンドに置き換えることができます。
$validateRemovedRoles = Get-AzRoleAssignment -Scope /subscriptions/$subId | Where-Object -Property ObjectId -EQ $securityPrincipalObject.Id
カスタム ロール
現象 - カスタム ロールを更新または削除できない
既存のカスタム ロールを更新または削除することはできません。
原因 1
現在、カスタム ロールを更新または削除するアクセス許可を持たないユーザーでサインインしています。
解決策 1
現在サインインしているユーザーに Microsoft.Authorization/roleDefinitions/write
アクセス許可を持つロール (ユーザー アクセス管理者など) が割り当てられていることを確認してください。
原因 2
カスタム ロールには、割り当て可能なスコープ内のサブスクリプションが含まれており、そのサブスクリプションは無効な状態です。
解決策 2
無効なサブスクリプションを再アクティブ化し、必要に応じてカスタム ロールを更新します。 詳細については、「無効な Azure サブスクリプションを再度有効にする」を参照してください。
症状 - カスタム ロールを作成または更新できない
カスタム ロールを作成または更新しようとすると、次のようなエラーが表示されます。
The client '<clientName>' with object id '<objectId>' has permission to perform action 'Microsoft.Authorization/roleDefinitions/write' on scope '/subscriptions/<subscriptionId>'; however, it does not have permission to perform action 'Microsoft.Authorization/roleDefinitions/write' on the linked scope(s)'/subscriptions/<subscriptionId1>,/subscriptions/<subscriptionId2>,/subscriptions/<subscriptionId3>' or the linked scope(s)are invalid
原因
通常、このエラーは、カスタム ロール内の 1 つ以上の割り当て可能なスコープに対するアクセス許可がないことを示しています。
解決方法
次の操作を試してみてください。
- カスタム ロールを作成、削除、更新、または表示できるユーザーを確認し、割り当て可能なすべてのスコープに対してカスタム ロールを作成または更新するためのアクセス許可があることを確認します。
- アクセス許可がない場合は、割り当て可能なスコープの範囲で、ユーザー アクセス管理者など、
Microsoft.Authorization/roleDefinitions/write
アクションを備えているロールを割り当てるように管理者に依頼します。 - カスタム ロール内のすべての割り当て可能なスコープが有効であることを確認します。 そうでない場合は、無効な割り当て可能なスコープを削除します。
詳細については、Azure portal、Azure PowerShell、または Azure CLI を使用したカスタム ロールのチュートリアルを参照してください。
症状 - カスタム ロールを削除できない
カスタム ロールを削除できず、次のエラーメッセージが表示されます。
There are existing role assignments referencing role (code: RoleDefinitionHasAssignments)
原因
カスタムロールを使用しているロールの割り当てがまだあります。
解決方法
カスタム ロールを使用するロールの割り当てを削除し、カスタム ロールの削除を再試行してください。 詳細については、「カスタム ロールを削除するロールの割り当てを検索する」を参照してください。
症状 - 複数の管理グループを割り当て可能なスコープとして追加できない
カスタムロールを作成または更新しようとした場合、複数の管理グループを割り当て可能なスコープとして追加することはできません。
原因
カスタム ロールの AssignableScopes
に定義できる管理グループは 1 つだけです。
解決方法
カスタムロールの AssignableScopes
に 1 つの管理グループを定義します。 カスタム ロールと管理グループについて詳しくは、「Azure 管理グループでリソースを整理する」をご覧ください。
症状 - カスタム ロールにデータ アクションを追加できない
カスタム ロールを作成または更新しようとすると、データ アクションを追加できないか、次のメッセージが表示されます。
You cannot add data action permissions when you have a management group as an assignable scope
原因
データ アクションと管理グループを割り当て可能なスコープとして含むカスタム ロールを作成しようとしています。 DataActions
が含まれるカスタム ロールを管理グループのスコープで割り当てることはできません。
解決方法
割り当て可能なスコープとして 1 つ以上のサブスクリプションを持つカスタム ロールを作成します。 カスタム ロールと管理グループについて詳しくは、「Azure 管理グループでリソースを整理する」をご覧ください。
アクセス拒否またはアクセス許可エラー
現象 - 承認に失敗しました
リソースを作成しようとすると、次のエラー メッセージが表示されます。
The client with object id does not have authorization to perform action over scope (code: AuthorizationFailed)
原因 1
現在、選択したスコープのリソースに対する書き込みアクセス許可を持たないユーザーでサインインしています。
解決策 1
選択したスコープのリソースに対する書き込みアクセス許可を持つロールが割り当てられているユーザーで現在サインインしていることを確認してください。 たとえば、リソース グループ内の仮想マシンを管理するには、そのリソース グループ (または親スコープ) に対する仮想マシン共同作成者ロールを持っている必要があります。 各組み込みロールに対するアクセス許可の一覧については、「Azure 組み込みロール」を参照してください。
原因 2
現在サインインしているユーザーには、次の条件を持つロールの割り当てがあります。
- ロールに Microsoft.Storage データ アクションが含まれている
- ロールの割り当てには、GUID 比較演算子を使用する ABAC 条件が含まれている
解決策 2
現時点では、Microsoft.Storage データ アクションと GUID 比較演算子を使用する ABAC 条件を使用してロールを割り当てることはできません。 このエラーを解決するには、次の 2 つのオプションがあります。
- ロールがカスタム ロールの場合は、Microsoft.Storage データ アクションをすべて削除する
- GUID 比較演算子を使用しないようにロールの割り当て条件を変更する
現象 - ゲスト ユーザーが認可に失敗する
ゲスト ユーザーがリソースにアクセスしようとすると、次のようなエラー メッセージが表示されます。
The client '<client>' with object id '<objectId>' does not have authorization to perform action '<action>' over scope '<scope>' or the scope is invalid.
原因
ゲスト ユーザーには、選択したスコープのリソースに対するアクセス許可がありません。
解決方法
ゲスト ユーザーに、選択したスコープのリソースに対する最小限の特権アクセス許可を持つロールが割り当てられていることを確認します。 詳細については、Azure portal を使用して外部ユーザーに Azure ロールを割り当てるをご覧ください。
症状 - サポート要求を作成でききない
サポート チケットを作成または更新しようとすると、次のエラー メッセージが表示されます。
You don't have permission to create a support request
原因
現在、サポート リクエストの作成に対するアクセス許可を持たないユーザーでサインインしています。
解決方法
サポート リクエスト共同作成者などの Microsoft.Support/supportTickets/write
アクセス許可を持つロールが割り当てられているユーザーで、現在サインインしていることを確認してください。
Azure の機能が無効になっている
症状 - 一部の Web アプリの機能が無効になっている
ユーザーは Web アプリへの読み取りアクセス権を持っており、一部の機能は無効になっています。
原因
Web アプリへの読み取りアクセス権をユーザーに付与すると、予期しない機能の一部が無効になります。 次の管理機能は、Web アプリへの書き込みアクセスを必要とし、読み取り専用のシナリオでは利用できません。
- コマンド (開始や停止など)
- 一般的な構成、スケール設定、バックアップ設定、監視設定などの設定の変更。
- 発行資格情報およびその他の機密情報 (アプリケーション設定や接続文字列など) へのアクセス。
- ストリーミング ログ
- リソース ログの構成
- コンソール (コマンド プロンプト)
- アクティブな最新のデプロイ (ローカル Git の継続的デプロイの場合)
- 所要時間の見積もり
- Web テスト
- 仮想ネットワーク (書き込みアクセス権を持つユーザーが仮想ネットワークを事前に構成している場合のみ閲覧者が参照できる)。
解決方法
Web アプリの書き込みアクセス許可を持つ 共同作成者または別の Azure 組み込みロール を割り当てます。
症状 - 一部の Web アプリ リソースが無効になっている
ユーザーは Web アプリへの書き込みアクセス権を持ち、一部の機能は無効になっています。
原因
相互作用する数種類のリソースがあると、Web アプリは複雑になります。 複数の Web サイトから成る代表的なリソース グループを以下に示します。
結果として、Web アプリのみに対するアクセス権を付与すると、Azure Portal の Web サイト ブレード上の多数の機能が使用できなくなります。
これらの項目には、Web サイトに対応する App Service プランへの書き込みアクセスが必要です。
- Web アプリの価格レベル (Free または Standard) の表示
- スケールの構成 (インスタンスの数、仮想マシンのサイズ、自動スケールの設定)
- クォータ (ストレージ、帯域幅、CPU)
以下の項目には、Web サイトが含まれるリソース グループ全体に対する書き込みアクセス権が必要です。
- TLS/SSL 証明書とバインド (TLS/SSL 証明書は同じリソース グループや地理的な場所にあるサイト間で共有できるため)
- アラート ルール
- 自動スケールの設定
- Application Insights コンポーネント
- Web テスト
解決方法
App Service プラン またはリソース グループに対する書き込みアクセス許可を持つ Azure 組み込みロールを割り当てます。
症状 - 一部の仮想マシン機能が無効になっている
ユーザーは仮想マシンにアクセスでき、一部の機能は無効になっています。
原因
Web アプリと同様、仮想マシン ブレード上の機能にも、仮想マシンかリソース グループ内の他のリソースに対する書き込みアクセス権が必要なものがあります。
仮想マシンは、ドメイン名、仮想ネットワーク、ストレージ アカウント、アラート ルールなどのリソースと関連しています。
以下の項目には、仮想マシンに対する書き込みアクセス権が必要です。
- エンドポイント
- IP アドレス
- ディスク
- 拡張機能
これらには、仮想マシンと、仮想マシンが存在するリソース グループ (およびドメイン名) の両方への書き込みアクセスが必要です。
- 可用性セット
- 負荷分散セット
- アラート ルール
これらのタイルのいずれにもアクセスできない場合、管理者に問い合わせてリソース グループに対する共同作成者アクセス権を入手してください。
解決方法
仮想マシンまたはリソース グループに対する書き込みアクセス許可を持つ Azure 組み込みロールを割り当てます。
症状 - 一部の機能アプリの機能が無効になっている
ユーザーは関数アプリにアクセスでき、一部の機能は無効になっています。 たとえば、[プラットフォーム機能] タブをクリックし、[すべての設定] をクリックして機能アプリ (Web アプリに類似) に関連するいくつかの設定を表示できますが、これらの設定を変更することはできません。
原因
Azure Functions の一部の機能では、書き込みアクセスが必要です。 たとえば、ユーザーに閲覧者ロールが割り当てられている場合、そのユーザーは関数アプリ内の関数を表示できません。 ポータルが (アクセスなし) を表示します。
ソリューション
関数アプリまたはリソース グループに対する書き込みアクセス許可を持つ Azure 組み込みロール を割り当てます。
サブスクリプションを別のディレクトリに譲渡する
現象 - サブスクリプションの譲渡後にすべてのロールの割り当てが削除される
原因
Azure サブスクリプションを別の Microsoft Entra ディレクトリに転送すると、すべてのロールの割り当てはソースの Microsoft Entra ディレクトリから完全に削除され、ターゲットの Microsoft Entra ディレクトリには移行されません。
解決方法
ターゲット ディレクトリでロールの割り当てを再作成する必要があります。 また、Azure リソースのマネージド ID を手動で再作成する必要もあります。 詳細については、「Azure サブスクリプションを別の Microsoft Entra ディレクトリに移転する」と、「マネージド ID に関する FAQ と既知の問題」をご覧ください。
症状 - サブスクリプションの転送後にサブスクリプションにアクセスできない
解決方法
ディレクトリ間で移転された後のサブスクリプションに Microsoft Entra 全体管理者がアクセスできない場合、[Azure リソースのアクセス管理] トグルを使用して、一時的にアクセス権を昇格させて、サブスクリプションにアクセスします。
従来のサブスクリプション管理者
重要
2024 年 8 月 31 日から、Azure クラシック管理者ロールは (Azure クラシック リソースおよび Azure Service Manager とともに) 廃止され、サポートされなくなりました。 まだアクティブな共同管理者またはサービス管理者ロールの割り当てがある場合は、すぐにこれらのロール割り当てを Azure RBAC に変換してください。
詳しくは、「Azure の従来のサブスクリプション管理者」をご覧ください。