{"id":6002,"date":"2023-12-04T23:02:06","date_gmt":"2023-12-04T14:02:06","guid":{"rendered":"https:\/\/engineer-chanpu.blog\/?p=6002"},"modified":"2024-05-05T09:58:54","modified_gmt":"2024-05-05T00:58:54","slug":"azure-bicep-targetscope-tenant-%eb%b0%b0%ed%8f%ac-%ea%b6%8c%ed%95%9c-%eb%ac%b8%ec%a0%9c-%eb%ac%b4%eb%a3%8c-azure-%ed%99%98%ea%b2%bd","status":"publish","type":"post","link":"https:\/\/engineer-chanpu.blog\/?p=6002","title":{"rendered":"Azure Bicep: targetScope = &#8216;tenant&#8217; \ubc30\ud3ec \uad8c\ud55c \ubb38\uc81c"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">tagetScope = &#8216;tenant&#8217;<\/h1>\n\n\n\n<p>\ubc30\ud3ec \ubc94\uc704\ub97c \ud14c\ub10c\ud2b8(Azure Entra ID, \uc774\uc804 Azure AD)\ub85c \uc9c0\uc815\ud55c \uc774\uc720\ub294, \uac01 \ub9ac\uc18c\uc2a4\ub4e4\uc774 \ub3d9\uc77c\ud55c \uad6c\ub3c5, \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc774 \uc544\ub2cc \ub2e4\ub978 \uad6c\ub3c5 \ubc0f \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc5d0 \ubc30\ud3ec\ud560 \ud544\uc694\uac00 \uc788\uc5b4\uc11c\uc774\ub2e4. <\/p>\n\n\n\n<p>\ud604\uc7ac \ucc38\uc5ec\ud558\ub294 \ud504\ub85c\uc81d\ud2b8\uc758 Azure \ud658\uacbd\uc740 \ud558\ub098\uc758 <code>Hub subscription<\/code> \uacfc \uc5ec\ub7ec <code>Spoke subscription<\/code> \uc73c\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\ub2e4. Azure PaaS \uc11c\ube44\uc2a4\ub294 \ub300\uccb4\ub85c Private Endpoint\ub97c \uc0ac\uc6a9\ud558\uba70, Hub subsription\uc758 Private DNS Zone\uc5d0 DNS \ud1b5\ud569<code>(DNS Integration) <\/code> \uc758 \ud544\uc694\uc131\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<p>\ucd94\uac00\uc801\uc73c\ub85c, \ub124\ud2b8\uc6cc\ud06c \ub9ac\uc18c\uc2a4(ex: virtual network, network security group, private endpoint etc)\ub294 Network \uc804\uc6a9 \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc5d0 \ubc30\ud3ec\ud560 \ud544\uc694\uac00 \uc788\ub2e4. \u203b\uba87 \uac00\uc9c0 \ubd80\ubd84\uc5d0\uc11c \uad49\uc7a5\ud788 \ube44\ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud558\uace0 \uc788\ub2e4\ub294 \uc0dd\uac01\uc774 \ub4e0\ub2e4.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282c34\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"\/\/ \uad6c\ub3c5(Subscription)\uc73c\ub85c \ubc94\uc704 \uc9c0\uc815\n\ntargetScope = 'tenant'\n\nparam subscriptionID string\n\n@description('create resources at subscription level')\nmodule  'module.bicep' = {\n  name: 'deployToSub'\n  scope: subscription(subscriptionID)\n}\n\n\/\/ \ub9ac\uc18c\uc2a4 \uadf8\ub8f9(Resource group)\uc73c\ub85c \ubc94\uc704 \uc9c0\uc815\n\ntargetScope = 'tenant'\n\nparam resourceGroupName string\nparam subscriptionID string\n\n@description('create resources at resource group level')\nmodule  'module.bicep' = {\n  name: 'deployToRG'\n  scope: resourceGroup(subscriptionID, resourceGroupName)\n}\n\" style=\"color:#abb2bf;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki one-dark-pro\" style=\"background-color: #282c34\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #7F848E; font-style: italic\">\/\/ \uad6c\ub3c5(Subscription)\uc73c\ub85c \ubc94\uc704 \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E06C75\">targetScope<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #56B6C2\">=<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&#39;tenant&#39;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E06C75\">param<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #E06C75\">subscriptionID<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #E06C75\">string<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ABB2BF\">@<\/span><span style=\"color: #61AFEF\">description<\/span><span style=\"color: #ABB2BF\">(<\/span><span style=\"color: #98C379\">&#39;create resources at subscription level&#39;<\/span><span style=\"color: #ABB2BF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C678DD\">module<\/span><span style=\"color: #ABB2BF\">  <\/span><span style=\"color: #98C379\">&#39;module.bicep&#39;<\/span><span style=\"color: #ABB2BF\"> = {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ABB2BF\">  <\/span><span style=\"color: #E06C75\">name<\/span><span style=\"color: #ABB2BF\">: <\/span><span style=\"color: #98C379\">&#39;deployToSub&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ABB2BF\">  <\/span><span style=\"color: #E06C75\">scope<\/span><span style=\"color: #ABB2BF\">: <\/span><span style=\"color: #61AFEF\">subscription<\/span><span style=\"color: #ABB2BF\">(<\/span><span style=\"color: #E06C75\">subscriptionID<\/span><span style=\"color: #ABB2BF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ABB2BF\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #7F848E; font-style: italic\">\/\/ \ub9ac\uc18c\uc2a4 \uadf8\ub8f9(Resource group)\uc73c\ub85c \ubc94\uc704 \uc9c0\uc815<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E06C75\">targetScope<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #56B6C2\">=<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&#39;tenant&#39;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #E06C75\">param<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #E06C75\">resourceGroupName<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #E06C75\">string<\/span><\/span>\n<span class=\"line\"><span style=\"color: #E06C75\">param<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #E06C75\">subscriptionID<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #E06C75\">string<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ABB2BF\">@<\/span><span style=\"color: #61AFEF\">description<\/span><span style=\"color: #ABB2BF\">(<\/span><span style=\"color: #98C379\">&#39;create resources at resource group level&#39;<\/span><span style=\"color: #ABB2BF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C678DD\">module<\/span><span style=\"color: #ABB2BF\">  <\/span><span style=\"color: #98C379\">&#39;module.bicep&#39;<\/span><span style=\"color: #ABB2BF\"> = {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ABB2BF\">  <\/span><span style=\"color: #E06C75\">name<\/span><span style=\"color: #ABB2BF\">: <\/span><span style=\"color: #98C379\">&#39;deployToRG&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ABB2BF\">  <\/span><span style=\"color: #E06C75\">scope<\/span><span style=\"color: #ABB2BF\">: <\/span><span style=\"color: #61AFEF\">resourceGroup<\/span><span style=\"color: #ABB2BF\">(<\/span><span style=\"color: #E06C75\">subscriptionID<\/span><span style=\"color: #ABB2BF\">, <\/span><span style=\"color: #E06C75\">resourceGroupName<\/span><span style=\"color: #ABB2BF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ABB2BF\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\uadf8\ub798\uc11c <code>targetScope<\/code>\ub97c \uc190\ubd10\uc57c \ud558\ub294\ub370, \uae30\ubcf8\uc801\uc73c\ub85c \ubc94\uc704\ub97c \uc9c0\uc815\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0\uc5d0\ub294 \ub9ac\uc18c\uc2a4 \uadf8\ub8f9 \ubc94\uc704\uac00 \uc790\ub3d9\uc801\uc73c\ub85c \uc801\uc6a9\ub41c\ub2e4. <\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282c34\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"az deployment group create --template-file .\/main.bicep --parameters .\/main.bicepparm --resource-group myResourceGroup\" style=\"color:#abb2bf;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki one-dark-pro\" style=\"background-color: #282c34\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #61AFEF\">az<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">deployment<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">group<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">create<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #D19A66\">--template-file<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">.\/main.bicep<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #D19A66\">--parameters<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">.\/main.bicepparm<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #D19A66\">--resource-group<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">myResourceGroup<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><em>Tip. \uc704\uc640 \uac19\uc774, \uae30\ubcf8\uc801\uc73c\ub85c Bicep \ucf54\ub4dc\uc5d0 \uae30\uc7ac\ub41c \ub9ac\uc18c\uc2a4\ub294 \ub2e8\uc77c \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc5d0 \ubc30\ud3ec\ud558\ub3c4\ub85d \uc9dc\uc5ec\uc838 \uc788\ub2e4.<\/em><\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Error: \uad8c\ud55c \ubd80\uc5ec \uc2e4\ud328<\/h2>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/ko-kr\/azure\/azure-resource-manager\/bicep\/deploy-to-tenant?tabs=azure-cli&amp;source=docs\">Bicep \ud30c\uc77c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud14c\ub10c\ud2b8 \ubc30\ud3ec<\/a><\/p>\n\n\n\n<p>\ubc30\ud3ec\uc5d0 \ud544\uc694\ud55c \uba85\ub839\uc5b4 \ubc0f \uad8c\ud55c\uc744 Microsoft Azure \uc758 \ubb38\uc11c\ub97c \ud1b5\ud574 \ud655\uc778\ud560 \uc218 \uc788\uc5c8\ub294\ub370, \ubb38\uc81c\ub294 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd \ud588\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282c34\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\" C:\\Users\\xxxx\\OneDrive\\Vscode\\azure-bicep&gt; az role assignment create --assignee &quot;xxxxxx-xxxxxx-xxxxxx-xxxxxx&quot; --scope &quot;\/&quot; --role &quot;Owner&quot;                                                             \n\n(AuthorizationFailed) The client 'live.com#xxx@xxx.xxx' with object id 'xxxxxx-xxxxxx-xxxxxx-xxxxxx' does not have authorization to perform action 'Microsoft.Authorization\/roleAssignments\/write' over scope '\/providers\/Microsoft.Authorization\/roleAssignments\/xxxxxx-xxxxxx-xxxxxx-xxxxxx' or the scope is invalid. If access was recently granted, please refresh your credentials.\n\nCode: AuthorizationFailed\n\nMessage: The client 'live.com#xxx@xxx.xxx' with object id 'xxxxxx-xxxxxx-xxxxxx-xxxxxx' does not have authorization to perform action 'Microsoft.Authorization\/roleAssignments\/write' over scope '\/providers\/Microsoft.Authorization\/roleAssignments\/xxxxxx-xxxxxx-xxxxxx-xxxxxx' or the scope is invalid. If access was recently granted, please refresh your credentials.\" style=\"color:#abb2bf;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki one-dark-pro\" style=\"background-color: #282c34\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #61AFEF\">C:\\Users\\xxxx\\OneDrive\\Vscode\\azure-bicep&gt;<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">az<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">role<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">assignment<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">create<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #D19A66\">--assignee<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&quot;xxxxxx-xxxxxx-xxxxxx-xxxxxx&quot;<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #D19A66\">--scope<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&quot;\/&quot;<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #D19A66\">--role<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&quot;Owner&quot;<\/span><span style=\"color: #ABB2BF\">                                                             <\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #ABB2BF\">(<\/span><span style=\"color: #61AFEF\">AuthorizationFailed<\/span><span style=\"color: #ABB2BF\">) The client <\/span><span style=\"color: #98C379\">&#39;live.com#xxx@xxx.xxx&#39;<\/span><span style=\"color: #ABB2BF\"> with object id <\/span><span style=\"color: #98C379\">&#39;xxxxxx-xxxxxx-xxxxxx-xxxxxx&#39;<\/span><span style=\"color: #ABB2BF\"> does not have authorization to perform action <\/span><span style=\"color: #98C379\">&#39;Microsoft.Authorization\/roleAssignments\/write&#39;<\/span><span style=\"color: #ABB2BF\"> over scope <\/span><span style=\"color: #98C379\">&#39;\/providers\/Microsoft.Authorization\/roleAssignments\/xxxxxx-xxxxxx-xxxxxx-xxxxxx&#39;<\/span><span style=\"color: #ABB2BF\"> or the scope is invalid. If access was recently granted, please refresh your credentials.<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #61AFEF\">Code:<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">AuthorizationFailed<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #61AFEF\">Message:<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">The<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">client<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&#39;live.com#xxx@xxx.xxx&#39;<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">with<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">object<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">id<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&#39;xxxxxx-xxxxxx-xxxxxx-xxxxxx&#39;<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">does<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">not<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">have<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">authorization<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">to<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">perform<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">action<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&#39;Microsoft.Authorization\/roleAssignments\/write&#39;<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">over<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">scope<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&#39;\/providers\/Microsoft.Authorization\/roleAssignments\/xxxxxx-xxxxxx-xxxxxx-xxxxxx&#39;<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">or<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">the<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">scope<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">is<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">invalid.<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">If<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">access<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">was<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">recently<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">granted,<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">please<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">refresh<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">your<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">credentials.<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ubb38\uc81c\uc810 \ud655\uc778 \ubc0f \ud574\uacb0 \ubc29\ubc95<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"194\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-1024x194.png\" alt=\"\" class=\"wp-image-6017\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-1024x194.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-300x57.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-768x145.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-1536x290.png 1536w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image.png 2000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">\uad00\ub9ac\uc790 \uacc4\uc815 <code>Global Administrator<\/code><\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Microsoft Learn \ucc38\uace0<\/h3>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/ko-kr\/azure\/azure-resource-manager\/bicep\/deploy-to-tenant?tabs=azure-cli#required-access\">Bicep\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud14c\ub10c\ud2b8\uc5d0 \ub9ac\uc18c\uc2a4 \ubc30\ud3ec: \ud544\uc694\ud55c \uc561\uc138\uc2a4<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud15c\ud50c\ub9bf\uc744 \ubc30\ud3ec\ud558\ub294 \uc8fc\uccb4\ub294 \ud14c\ub10c\ud2b8 \ubc94\uc704\uc5d0\uc11c \ub9ac\uc18c\uc2a4\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub294 \uad8c\ud55c\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. \ubcf4\uc548 \uc8fc\uccb4\ub294 \ubc30\ud3ec \uc791\uc5c5(<code>Microsoft.Resources\/deployments\/*<\/code>)\uc744 \uc2e4\ud589\ud558\uace0 \ud15c\ud50c\ub9bf\uc5d0 \uc815\uc758\ub41c \ub9ac\uc18c\uc2a4\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub294 \uad8c\ud55c\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uad00\ub9ac \uadf8\ub8f9\uc744 \ub9cc\ub4e4\ub824\uba74 <span style=\"text-decoration: underline;\">\ubcf4\uc548 \uc8fc\uccb4\uc5d0 \ud14c\ub10c\ud2b8 \ubc94\uc704\uc758 \uae30\uc5ec\uc790 \uad8c\ud55c<\/span>\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc5ed\ud560 \ud560\ub2f9\uc744 \ub9cc\ub4e4\ub824\uba74 \ubcf4\uc548 \uc8fc\uccb4\uc5d0 \uc18c\uc720\uc790 \uad8c\ud55c\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>Microsoft Entra ID\uc758 <code>Global Administrator<\/code>\uc5d0\ub294 \uc5ed\ud560\uc744 \ud560\ub2f9\ud560 \uc218 \uc788\ub294 \uad8c\ud55c\uc774 <span style=\"text-decoration: underline;\">\uc790\ub3d9\uc73c\ub85c \uc5c6\uc2b5\ub2c8\ub2e4<\/span>. \ud14c\ub10c\ud2b8 \ubc94\uc704\uc5d0\uc11c \ud15c\ud50c\ub9bf \ubc30\ud3ec\ub97c \uc0ac\uc6a9\ud558\ub3c4\ub85d \uc124\uc815\ud558\ub824\uba74 Global Administrator\uac00 \ub2e4\uc74c \ub2e8\uacc4\ub97c \uc218\ud589\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uacc4\uc815 \uc561\uc138\uc2a4 \uad8c\ud55c\uc744 \uc2b9\uaca9\ud558\uc5ec \uc804\uc5ed \uad00\ub9ac\uc790\uac00 \uc5ed\ud560\uc744 \ud560\ub2f9\ud560 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740&nbsp;<a href=\"https:\/\/learn.microsoft.com\/ko-kr\/azure\/role-based-access-control\/elevate-access-global-admin\">\ubaa8\ub4e0 Azure \uad6c\ub3c5 \ubc0f \uad00\ub9ac \uadf8\ub8f9\uc744 \uad00\ub9ac\ud560 \uc218 \uc788\ub3c4\ub85d \uc561\uc138\uc2a4 \uad8c\ud55c \uc0c1\uc2b9<\/a>\uc744 \ucc38\uc870\ud558\uc138\uc694.<\/li>\n\n\n\n<li>\ud15c\ud50c\ub9bf\uc744 \ubc30\ud3ec\ud574\uc57c \ud558\ub294 \ubcf4\uc548 \uc8fc\uccb4\uc5d0 \uc18c\uc720\uc790 \ub610\ub294 \uae30\uc5ec\uc790\ub97c \ud560\ub2f9\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\uc544\ub798\uc640 \uac19\uc774, Global Aministrator \uacc4\uc815\uc758 \uad8c\ud55c \uc0c1\uc2b9\uc774 \ud544\uc694\ud558\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"785\" height=\"709\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-1.png\" alt=\"\" class=\"wp-image-6020\" style=\"width:548px;height:auto\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-1.png 785w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-1-300x271.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-1-768x694.png 768w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud14c\ub10c\ud2b8 \uc811\uadfc \uad8c\ud55c \ud5c8\uc6a9<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"920\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-3-1024x920.png\" alt=\"\" class=\"wp-image-6022\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-3-1024x920.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-3-300x270.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-3-768x690.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-3.png 1252w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Microsoft Entra ID &#8211; Properties \uc811\uadfc \uad8c\ud55c\uc744 \ud65c\uc131\ud654<\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ubcf4\uc548 \uc8fc\uccb4(Principal)\uc5d0 \uc18c\uc720\uc790(Owner) \uad8c\ud55c \ubd80\uc5ec<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282c34\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"az role assignment create --assignee &quot;[userId]&quot; --scope &quot;\/&quot; --role &quot;Owner&quot;\" style=\"color:#abb2bf;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki one-dark-pro\" style=\"background-color: #282c34\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #61AFEF\">az<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">role<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">assignment<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">create<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #D19A66\">--assignee<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&quot;[userId]&quot;<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #D19A66\">--scope<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&quot;\/&quot;<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #D19A66\">--role<\/span><span style=\"color: #ABB2BF\"> <\/span><span style=\"color: #98C379\">&quot;Owner&quot;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"657\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-4-1024x657.png\" alt=\"\" class=\"wp-image-6023\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-4-1024x657.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-4-300x193.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-4-768x493.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2023\/12\/image-4.png 1274w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">User Object ID \ud655\uc778<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>tagetScope = &#8216;tenant&#8217; \ubc30\ud3ec \ubc94\uc704\ub97c \ud14c\ub10c\ud2b8(Azure Entra ID, \uc774\uc804 Azure AD)\ub85c \uc9c0\uc815\ud55c \uc774\uc720\ub294, \uac01 \ub9ac\uc18c\uc2a4\ub4e4\uc774 \ub3d9\uc77c\ud55c \uad6c\ub3c5, \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc774 \uc544\ub2cc \ub2e4\ub978 \uad6c\ub3c5 \ubc0f \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc5d0 \ubc30\ud3ec\ud560 \ud544\uc694\uac00 \uc788\uc5b4\uc11c\uc774\ub2e4. \ud604\uc7ac \ucc38\uc5ec\ud558\ub294 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":6025,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[107,33],"tags":[123,185,169],"class_list":["post-6002","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-tech-notes","tag-azure","tag-bicep","tag-devops"],"_links":{"self":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/6002","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6002"}],"version-history":[{"count":16,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/6002\/revisions"}],"predecessor-version":[{"id":6305,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/6002\/revisions\/6305"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/media\/6025"}],"wp:attachment":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6002"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}