AzureWebアプリサービスの[承認]の一部として使用するカスタムAzureADロールを作成することを検討しています。「アクション」のリストを含める場合、その役割内にも権限を作成していますか?
「アクション」を空にすることはできますか?コントローラでロールをテストし、そこからデータアクセスを制御したいとしますか?「アクション」セクションに本当に何か必要ですか?
2つの非常に異なる概念があります。
あなたの質問に基づいて、2番目の質問、つまりアプリケーションの役割を詳しく調べる必要があります。定義の一部として「アクション」のリストはありません。明確にするために、以下の1と2の両方についてもう少し詳しく説明します。
Microsoftドキュメント-Azureのカスタムロール
目的-Azureは、割り当てられた役割に基づいてAzure Portalのリソースへのアクセスを管理するために、AzurePortalの一部として組み込みの役割を既に提供しています。組み込みの役割のいずれも要件を満たしていないシナリオがある場合は、カスタムの役割を作成できますが、その目的は、プロビジョニングされたものを管理/操作できるように、このカスタムの役割を誰かに割り当てることです。 Azureのリソース。たとえば、AzureSQLデータベースサーバーまたは1つ以上の仮想マシンの所有者またはリーダー。これらのロールは、Azureポータル/ PowerShell / CLIなどから使用します。
これらの役割は、誰もがAzureサブスクリプションレベルで所有者/管理者になることはできませんが、一部のAzureサブスクリプションリソース(データベース、vms、ロジックアプリなど)にのみ詳細なレベルでアクセスを許可できる大規模な組織で非常に役立ちます、ストレージアカウント、またはAzureサブスクリプションで利用可能なすべてのもの)。これは、portal / PowerShell / CLIを介したロールベースのアクセス制御を介して行われます。
例
{
"Name": "Virtual Machine Operator",
"Id": "88888888-8888-8888-8888-888888888888",
"IsCustom": true,
"Description": "Can monitor and restart virtual machines.",
"Actions": [
"Microsoft.Storage/*/read",
"Microsoft.Network/*/read",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Authorization/*/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Support/*"
],
"NotActions": [
],
"DataActions": [
],
"NotDataActions": [
],
"AssignableScopes": [
"/subscriptions/{subscriptionId1}",
"/subscriptions/{subscriptionId2}",
"/subscriptions/{subscriptionId3}"
]
}
Microsoftドキュメント-アプリケーションの役割
目的-これらのロールは、組織が開発していてAzure ActiveDirectoryに登録されているアプリケーションのアプリケーションマニフェストで定義されています。これらのロールはアプリケーションに非常に固有であり、アプリケーションのコードで使用して、認証されたユーザーの承認ロジックを実装できます。
「allowedMemberTypes」を使用すると、これらのロールを(ユーザー、グループ、さらにはアプリケーションに)割り当てることができるユーザーを制御できます。
その後、AzurePortalからまたはプログラムで役割を割り当てることができます。簡単な方法の1つは、以下のスクリーンショットに示すようなものです-
承認ロジックを実装しようとすると、これらのロールはロールの「クレーム」として使用できるようになります。したがって、以下のようなコードで役割を確認できます
if (context.User.HasClaim(ClaimTypes.Role, "Admin")) { ... }
アプリケーションの役割を作成し、AzureAD アプリケーションの役割と役割の要求を使用してWebアプリで承認承認に使用するサンプルアプリケーション
例これは、アプリケーションマニフェストの一部として使用されるJSONです。
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "Creators can create Surveys",
"displayName": "SurveyCreator",
"id": "1b4f816e-5eaf-48b9-8613-7923830595ad",
"isEnabled": true,
"value": "SurveyCreator"
},
{
"allowedMemberTypes": [
"User"
],
"description": "Administrators can manage the Surveys in their tenant",
"displayName": "SurveyAdmin",
"id": "c20e145e-5459-4a6c-a074-b942bbd4cfe1",
"isEnabled": true,
"value": "SurveyAdmin"
}
]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加