<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>제로빅의 블로그</title>
    <link>https://zerobig-k8s.tistory.com/</link>
    <description>쿠버네티스(Kubernetes) 공식 튜토리얼 실습기</description>
    <language>ko</language>
    <pubDate>Wed, 6 May 2026 14:50:55 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>zerobig-k8s</managingEditor>
    <item>
      <title>AZ-104 핸즈온 : Microsoft Entra ID ID 관리 P3 - Azure Policy ３</title>
      <link>https://zerobig-k8s.tistory.com/168</link>
      <description>&lt;h1 id=&quot;핸즈온2--:-Azure-Policy와-DevOps-연계-&amp;ndash;-배포-전-Azure-Policy-준수-검사&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;22&quot;&gt;핸즈온2 : Azure Policy와 DevOps 연계 &amp;ndash; 배포 전 Azure Policy 준수 검사&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;81&quot; data-ke-size=&quot;size16&quot;&gt;Azure DevOps 파이프라인 내에서 &lt;b&gt;Azure Policy 준수 여부를 자동으로 확인하고&lt;/b&gt;, &lt;b&gt;비준수 시 배포를 중단&lt;/b&gt;하는 보안/거버넌스 실습을 시행해 보자.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;171&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;사전-준비-사항&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;173&quot; data-ke-size=&quot;size26&quot;&gt;사전 준비 사항&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-testid=&quot;table-container&quot; data-layout=&quot;custom&quot;&gt;
&lt;div data-vc=&quot;table-node-wrapper&quot; data-table-width=&quot;760&quot; data-table-local-id=&quot;e9e7717f-da56-435d-86c1-1cc348cacca5&quot; data-autosize=&quot;false&quot; data-layout=&quot;default&quot; data-number-column=&quot;false&quot;&gt;
&lt;div style=&quot;text-align: center;&quot; data-align=&quot;center&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot; data-align=&quot;center&quot;&gt;
&lt;p data-renderer-start-pos=&quot;192&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-layout=&quot;default&quot; data-table-width=&quot;760&quot; data-number-column=&quot;false&quot; data-testid=&quot;renderer-table&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: center;&quot;&gt;&lt;span&gt;항목&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: center;&quot;&gt;&lt;span&gt;설명&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;200&quot;&gt;&lt;span&gt;Azure DevOps 프로젝트&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;560&quot;&gt;&lt;span&gt;Azure DevOps 프로젝트가 있어야 하며 Service Connection 구성 필요&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;a style=&quot;color: #1868db;&quot; href=&quot;https://learn.microsoft.com/ko-kr/azure/devops/organizations/projects/create-project?AZ-MVP-5004005&quot; data-testid=&quot;link-with-safety&quot; data-is-router-link=&quot;false&quot; data-renderer-mark=&quot;true&quot;&gt;프로젝트 만들기&lt;/a&gt; 참조 및 &lt;a style=&quot;color: #1868db;&quot; href=&quot;https://learn.microsoft.com/ko-kr/azure/devops/pipelines/library/connect-to-azure?AZ-MVP-5004005&quot; data-testid=&quot;link-with-safety&quot; data-is-router-link=&quot;false&quot; data-renderer-mark=&quot;true&quot;&gt;Service Connection&lt;/a&gt; 참조&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;200&quot;&gt;&lt;span&gt;Azure Policy 정의&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;560&quot;&gt;&lt;span&gt;하나 이상의 정책 정의 및 할당 필요 (예: NSG에 모든 포트를 열지 말 것)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;200&quot;&gt;&lt;span&gt;Service Principal 권한&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;560&quot;&gt;&lt;span&gt;DevOps의 Service Connection에 Policy Insights Reader 권한 필요&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;200&quot;&gt;&lt;span&gt;Azure CLI 설치&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;560&quot;&gt;&lt;span&gt;DevOps Agent에 설치되어 있어야 함&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div data-vc=&quot;table-sticky-scrollbar-container&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;514&quot; data-ke-size=&quot;size16&quot;&gt;Azure CLI 환경에서 진행할 예정이니, &lt;a style=&quot;color: #1868db;&quot; href=&quot;https://zerobig-k8s.tistory.com/152&quot; data-testid=&quot;link-with-safety&quot; data-is-router-link=&quot;false&quot; data-renderer-mark=&quot;true&quot;&gt;Azure SA 업무 환경 구성 - Part 1&lt;/a&gt;, &lt;a style=&quot;color: #1868db;&quot; href=&quot;https://zerobig-k8s.tistory.com/153&quot; data-testid=&quot;link-with-safety&quot; data-is-router-link=&quot;false&quot; data-renderer-mark=&quot;true&quot;&gt;Azure SA 업무 환경 구성 - Part 2&lt;/a&gt;를 참조하여 환경을 작업 구성한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;614&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;616&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;예시-시나리오&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;618&quot; data-ke-size=&quot;size26&quot;&gt;예시 시나리오&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;배포 대상 region: &lt;span style=&quot;background-color: #dddddd;&quot;&gt;eastus&lt;/span&gt; (정책에 의해 &lt;b&gt;차단&lt;/b&gt;됨)&lt;/li&gt;
&lt;li&gt;policyAssignmentName과 &lt;span style=&quot;background-color: #dddddd;&quot;&gt;subscriptionId&lt;/span&gt;를 기준으로 &lt;b&gt;정책 상태 쿼리 &amp;rarr; &lt;/b&gt;파이프라인에서 정책 위반 시 즉시 &lt;b&gt;배포 중단&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;az policy state list 명령으로 &lt;b&gt;비정상 리소스 탐지 &amp;rarr; &lt;/b&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;exit 1&lt;/span&gt;로 배포 중단&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;804&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;806&quot; data-ke-size=&quot;size16&quot;&gt;이 시나리오는 단순한 실습을 넘어 &lt;b&gt;클라우드 거버넌스 자동화(Governance as Code)&lt;/b&gt;, &lt;b&gt;보안 및 거버넌스 조기 검증(Shift-Left）&lt;/b&gt;, &lt;b&gt;DevOps와 정책의 통합(Policy-as-Code)&lt;/b&gt;이라는 큰 의미를 가진다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;806&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;806&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;1.-Azure-Policy-정의&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;939&quot; data-ke-size=&quot;size26&quot;&gt;1. &lt;b&gt;Azure Policy 정의 &lt;/b&gt;&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;960&quot; data-ke-size=&quot;size16&quot;&gt;1. 먼저 &quot;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;Allowed locations&lt;/span&gt;&quot; 정책의 &lt;b&gt;Policy Definition ID&lt;/b&gt;를 확인한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;
&lt;pre id=&quot;code_1754261800895&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;az policy definition list --query &quot;[?displayName=='Allowed locations'].{name:name, id:id}&quot; -o table​&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;pre id=&quot;code_1754261819524&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Azure-HandsOn-Demo# az policy definition list --query &quot;[?displayName=='Allowed locations'].{name:name, id:id}&quot; -o table
Name
------------------------------------
e56962a6-4747-49cd-b67b-bf8b01975c4c&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1322&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1322&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1324&quot; data-ke-size=&quot;size16&quot;&gt;2. &lt;span style=&quot;background-color: #dddddd;&quot;&gt;koreacentral&lt;/span&gt;만 리소스 배포 허용하는 내용의 Azure Policy를 할당한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;
&lt;div style=&quot;background-color: #ffffff;&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre id=&quot;code_1754261841432&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;az policy assignment create \
  --name 'allow-koreacentral-only' \
  --display-name 'Allow only koreacentral location' \
  --policy &amp;lt;YOUR_Policy_Definition_ID&amp;gt; \
  --params '{ &quot;listOfAllowedLocations&quot;: { &quot;value&quot;: [&quot;koreacentral&quot;] } }' \
  --scope &quot;/subscriptions/&amp;lt;YOUR_SUBSCRIPTION_ID&amp;gt;&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3346&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1754261853649&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Azure-HandsOn-Demo# az policy assignment create \
&amp;gt; --name 'allow-koreacentral-only' \
&amp;gt; --display-name 'Allow only koreacentral location' \
&amp;gt; --policy e56962a6-4747-49cd-b67b-bf8b01975c4c \
&amp;gt; --params '{ &quot;listOfAllowedLocations&quot;: { &quot;value&quot;: [&quot;koreacentral&quot;] } }' \
&amp;gt; --scope &quot;/subscriptions/3864xxxx-xxxx-xxxxx-xxxx-4a08ac96xxxx&quot;
Readonly attribute scope will be ignored in class &amp;lt;class 'azure.mgmt.resource.policy.v2021_06_01.models._models_py3.PolicyAssignment'&amp;gt;
{
  &quot;description&quot;: null,
  &quot;displayName&quot;: &quot;Allow only koreacentral location&quot;,
  &quot;enforcementMode&quot;: &quot;Default&quot;,
  &quot;id&quot;: &quot;/subscriptions/3864xxxx-xxxx-xxxxx-xxxx-4a08ac96xxxx/providers/Microsoft.Authorization/policyAssignments/allow-koreacentral-only&quot;,
  &quot;identity&quot;: null,
  &quot;location&quot;: null,
  &quot;metadata&quot;: {
    &quot;createdBy&quot;: &quot;6b1063b6-302b-4141-afe1-82917f102a7b&quot;,
    &quot;createdOn&quot;: &quot;2025-08-03T08:46:06.4521179Z&quot;,
    &quot;updatedBy&quot;: null,
    &quot;updatedOn&quot;: null
  },
  &quot;name&quot;: &quot;allow-koreacentral-only&quot;,
  &quot;nonComplianceMessages&quot;: null,
  &quot;notScopes&quot;: null,
  &quot;parameters&quot;: {
    &quot;listOfAllowedLocations&quot;: {
      &quot;value&quot;: [
        &quot;koreacentral&quot;
      ]
    }
  },
  &quot;policyDefinitionId&quot;: &quot;/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c&quot;,
  &quot;scope&quot;: &quot;/subscriptions/3864xxxx-xxxx-xxxxx-xxxx-4a08ac96xxxx&quot;,
  &quot;systemData&quot;: {
    &quot;createdAt&quot;: &quot;2025-08-03T08:46:06.220901+00:00&quot;,
    &quot;createdBy&quot;: &quot;zerobig.kim@gmail.com&quot;,
    &quot;createdByType&quot;: &quot;User&quot;,
    &quot;lastModifiedAt&quot;: &quot;2025-08-03T08:46:06.220901+00:00&quot;,
    &quot;lastModifiedBy&quot;: &quot;zerobig.kim@gmail.com&quot;,
    &quot;lastModifiedByType&quot;: &quot;User&quot;
  },
  &quot;type&quot;: &quot;Microsoft.Authorization/policyAssignments&quot;
}
Azure-HandsOn-Demo#&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3346&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3346&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3346&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;2.-Azure-DevOps-파이프라인-구성-(YAML)&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3348&quot; data-ke-size=&quot;size26&quot;&gt;2. &lt;b&gt;A&lt;/b&gt;zure DevOps 파이프라인 구성 (YAML)&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 id=&quot;Service-Connection-생성&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3381&quot; data-ke-size=&quot;size23&quot;&gt;Service Connection 생성&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3404&quot; data-ke-size=&quot;size16&quot;&gt;1. &lt;a style=&quot;color: #1868db;&quot; href=&quot;https://learn.microsoft.com/ko-kr/azure/devops/organizations/projects/create-project?AZ-MVP-5004005&quot; data-testid=&quot;link-with-safety&quot; data-is-router-link=&quot;false&quot; data-renderer-mark=&quot;true&quot;&gt;프로젝트 만들기&lt;/a&gt; 참여 새 프로젝트를 생성한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3435&quot; data-ke-size=&quot;size16&quot;&gt;2. 좌측 하단의 &lt;b&gt;Project Settings&lt;/b&gt; &amp;gt; &lt;b&gt;Service connections&lt;/b&gt;을 선택하고 C&lt;b&gt;reate service connection&lt;/b&gt;을 선택한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEdzFh/btsPGH3CWCZ/xpe7q7b16htvlgnSK9N4o1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEdzFh/btsPGH3CWCZ/xpe7q7b16htvlgnSK9N4o1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEdzFh/btsPGH3CWCZ/xpe7q7b16htvlgnSK9N4o1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEdzFh%2FbtsPGH3CWCZ%2Fxpe7q7b16htvlgnSK9N4o1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;598&quot; height=&quot;242&quot; data-origin-width=&quot;598&quot; data-origin-height=&quot;242&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3527&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3527&quot; data-ke-size=&quot;size16&quot;&gt;3. &lt;b&gt;New service connection&lt;/b&gt;에서 &lt;b&gt;Azure Resource Manager&lt;/b&gt; 체크하고 &lt;b&gt;Next&lt;/b&gt;를 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3597&quot; data-ke-size=&quot;size16&quot;&gt;4. &lt;b&gt;New Azure service connection&lt;/b&gt; 에서 대상 구독을 선택하고 로그인 수행 후, &lt;b&gt;Service Connection Name&lt;/b&gt;을 입력하고 하단 &lt;b&gt;Security&lt;/b&gt;의 &lt;b&gt;Grant access permission to all pipelines&lt;/b&gt;를 체크하고 &lt;b&gt;Save&lt;/b&gt; 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;325&quot; data-origin-height=&quot;656&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIHOTG/btsPHflsXli/RjnPZIj7JgIJ8dw7RXKbkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIHOTG/btsPHflsXli/RjnPZIj7JgIJ8dw7RXKbkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIHOTG/btsPHflsXli/RjnPZIj7JgIJ8dw7RXKbkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIHOTG%2FbtsPHflsXli%2FRjnPZIj7JgIJ8dw7RXKbkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;325&quot; height=&quot;656&quot; data-origin-width=&quot;325&quot; data-origin-height=&quot;656&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;Azure-Repos-구성&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3759&quot; data-ke-size=&quot;size23&quot;&gt;Azure Repos 구성&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3775&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Repos &amp;gt; Files&lt;/b&gt;에서 화면 하단에&lt;b&gt; Initialize&lt;/b&gt;를 클릭하여 초기화 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biCqxV/btsPE2gymcZ/LG7ndzmILmyn14AnQKHuU0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biCqxV/btsPE2gymcZ/LG7ndzmILmyn14AnQKHuU0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biCqxV/btsPE2gymcZ/LG7ndzmILmyn14AnQKHuU0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiCqxV%2FbtsPE2gymcZ%2FLG7ndzmILmyn14AnQKHuU0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;599&quot; height=&quot;429&quot; data-origin-width=&quot;599&quot; data-origin-height=&quot;429&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;Azure-Pipeline-구성&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3829&quot; data-ke-size=&quot;size23&quot;&gt;Azure Pipeline 구성&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3848&quot; data-ke-size=&quot;size16&quot;&gt;1. 좌측 하단의 &lt;b&gt;Pipelines&lt;/b&gt;을 선택 후 &lt;b&gt;Create Pipeline&lt;/b&gt;을 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3899&quot; data-ke-size=&quot;size16&quot;&gt;2. &lt;b&gt;Connect&lt;/b&gt; 화면에서 &lt;b&gt;Azure Repos GIT&lt;/b&gt;을 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3939&quot; data-ke-size=&quot;size16&quot;&gt;3. &lt;b&gt;Select&lt;/b&gt; 화면에서 앞에서 생성한 리포지토리를 선택한다. 예) PRJ-ADO-AzurePolicy-Demo&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4004&quot; data-ke-size=&quot;size16&quot;&gt;4. &lt;b&gt;Configure &lt;/b&gt;화면에서 &lt;b&gt;Starter pipeline&lt;/b&gt;을 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4047&quot; data-ke-size=&quot;size16&quot;&gt;5. 기본 제공되는 코드를 삭제하고 다음 코드를 붙여넣는다.&lt;/p&gt;
&lt;pre id=&quot;code_1754261973800&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;trigger:
  - main

pool:
  vmImage: 'ubuntu-latest'

variables:
  subscriptionId: '3864b016-4594-40ad-a96b-4a08ac96b537'
  azureRegion: 'eastus'  # koreacentral이 아니므로 정책 위반 예상
  policyAssignmentName: 'allow-koreacentral-only'

steps:
- task: AzureCLI@2
  displayName: 'Check Azure Policy Compliance'
  inputs:
    azureSubscription: 'Azure-MVP-Subscription'
    scriptType: 'bash'
    scriptLocation: 'inlineScript'
    inlineScript: |
      echo &quot;INFO: Checking Azure Policy compliance for assignment: $(policyAssignmentName)&quot;
      
      # az cli 쿼리를 통해 지난 하루 전에 비준수 리소스의 '개수'만 직접 가져오기
      # 지난 30일간 조회
      NON_COMPLIANT=$(az policy state list \
        --subscription ${{ variables.subscriptionId }} \
        --policy-assignment &quot;allow-koreacentral-only&quot; \
        --from $(date -u -d '1 days ago' +%Y-%m-%dT%H:%M:%SZ) \
        --to $(date -u +%Y-%m-%dT%H:%M:%SZ) \
        --query &quot;[?complianceState=='NonCompliant']&quot; \
        --output json)
      
      echo &quot;$NON_COMPLIANT&quot; &amp;gt; policy_check.json
      COUNT=$(jq length policy_check.json)
      
      echo &quot;INFO: Non-compliant resource count: $COUNT&quot;
      
      # 개수가 0보다 큰지 비교하여 파이프라인 실패 처리
      if [ &quot;$COUNT&quot; -gt 0 ]; then
        echo &quot;Azure Policy violation detected. Blocking deployment.&quot;
        exit 1
      else
        echo &quot;Azure Policy compliance check passed. Proceeding with deployment.&quot;
      fi&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;8행 &amp;lt;YOUR_SERVICE_CONNECTION_NAME&amp;gt;를 자신의 구독 ID로 대체한다.&lt;/li&gt;
&lt;li&gt;12행 근처에 Settings를 클릭하면 &lt;b&gt;Azure CLI assistant &lt;/b&gt;창이 전시된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;5. 우측 상단의 &lt;/span&gt;&lt;b&gt;Save and run&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;을 선택하고 다음 화면에서 다시 &lt;/span&gt;&lt;b&gt;Save and run&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;을 선택한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;452&quot; data-origin-height=&quot;637&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bW6BS0/btsPDKnrZvf/YsQdQKbzRr0OM4SXHtnMT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bW6BS0/btsPDKnrZvf/YsQdQKbzRr0OM4SXHtnMT0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bW6BS0/btsPDKnrZvf/YsQdQKbzRr0OM4SXHtnMT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbW6BS0%2FbtsPDKnrZvf%2FYsQdQKbzRr0OM4SXHtnMT0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;354&quot; height=&quot;499&quot; data-origin-width=&quot;452&quot; data-origin-height=&quot;637&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;6. &lt;/span&gt;&lt;b&gt;Authorize resource&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;를 선택하고 우측 상단에 &lt;/span&gt;&lt;b&gt;Run new&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;를 선택하여 다시 파이프라인을 실행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;591&quot; data-origin-height=&quot;50&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/de9KMa/btsPHg5KUkS/9eb7fxwFeps16oh5ohqPLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/de9KMa/btsPHg5KUkS/9eb7fxwFeps16oh5ohqPLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/de9KMa/btsPHg5KUkS/9eb7fxwFeps16oh5ohqPLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fde9KMa%2FbtsPHg5KUkS%2F9eb7fxwFeps16oh5ohqPLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;591&quot; height=&quot;50&quot; data-origin-width=&quot;591&quot; data-origin-height=&quot;50&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;3.-실행-결과-확인&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;5812&quot; data-ke-size=&quot;size26&quot;&gt;3. &lt;b&gt;실행 결과 확인&lt;/b&gt;&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;5825&quot; data-ke-size=&quot;size16&quot;&gt;파이프라인을 클릭하여 &lt;b&gt;Job&lt;/b&gt;을 선택한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;591&quot; data-origin-height=&quot;498&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WKmdq/btsPE6pKuRi/EczZcojCOKpwoHAFbCdTt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WKmdq/btsPE6pKuRi/EczZcojCOKpwoHAFbCdTt0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WKmdq/btsPE6pKuRi/EczZcojCOKpwoHAFbCdTt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWKmdq%2FbtsPE6pKuRi%2FEczZcojCOKpwoHAFbCdTt0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;591&quot; height=&quot;498&quot; data-origin-width=&quot;591&quot; data-origin-height=&quot;498&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;실행 결과 로그를 확인한다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;866&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cb1eGu/btsPDODnUPU/LV0DENEMNV1gRLxf0LGHGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cb1eGu/btsPDODnUPU/LV0DENEMNV1gRLxf0LGHGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cb1eGu/btsPDODnUPU/LV0DENEMNV1gRLxf0LGHGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcb1eGu%2FbtsPDODnUPU%2FLV0DENEMNV1gRLxf0LGHGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1369&quot; height=&quot;866&quot; data-origin-width=&quot;1369&quot; data-origin-height=&quot;866&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;54 행 정책 체크(az policy state list) 수행 결과 정책 위반을 감지하고 exit 1로 배포가 중단됨을 확인한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Azure 기타</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/168</guid>
      <comments>https://zerobig-k8s.tistory.com/168#entry168comment</comments>
      <pubDate>Mon, 4 Aug 2025 08:02:01 +0900</pubDate>
    </item>
    <item>
      <title>AZ-104 핸즈온 : Microsoft Entra ID ID 관리 P3 - Azure Policy 2</title>
      <link>https://zerobig-k8s.tistory.com/167</link>
      <description>&lt;h1 id=&quot;핸즈온1--:-Advisor-보안-권고사항의-Azure-Policy-연계&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2923&quot;&gt;핸즈온1 : Advisor 보안 권고사항의 Azure Policy 연계 &lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2967&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2969&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #1868db;&quot; href=&quot;https://zerobig-k8s.tistory.com/165&quot; data-renderer-mark=&quot;true&quot;&gt;이전 글&lt;/a&gt;에서 우리는 Azure Advisor에 대하여 살펴보고 핸즈온을 수행해봤다. Advisor에 대해 생소한 독자는 &lt;a style=&quot;color: #1868db;&quot; href=&quot;https://zerobig-k8s.tistory.com/165&quot; data-renderer-mark=&quot;true&quot;&gt;이전 글&lt;/a&gt;을 참조한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3049&quot; data-ke-size=&quot;size16&quot;&gt;Azure Advisor와 Azure Policy는 Azure 환경의 거버넌스와 최적화를 위한 핵심 서비스이며, 상호 보완적인 관계를 가진다. Azure Advisor가 &quot;무엇을 개선해야 할지&quot;에 대한 &lt;b&gt;정보와 통찰&lt;/b&gt;을 제공한다면, Azure Policy는 그 통찰을 기반으로 &quot;어떻게 개선하고, 향후 그러한 문제가 발생하지 않도록 &lt;b&gt;강제할 것인지&quot;에 대한 자동화된 메커니즘&lt;/b&gt;을 제공한다. 예를 들어, Azure Advisor가 &quot;특정 지역에 보안 그룹이 열려 있어 보안 위험이 있다&amp;rdquo;라는 권장 사항을 제시하면, Azure Policy는 해당 지역에 특정 포트가 열린 보안 그룹 생성을 원천적으로 차단하거나, 이미 존재하는 경우 자동으로 수정하는 정책을 배포할 수 있다. 즉, Advisor는 문제 발견에, Policy는 문제 해결 및 예방에 초점을 맞춘다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3471&quot; data-ke-size=&quot;size16&quot;&gt;이번 핸즈온에서는 Advisor상에 보안 관련 권고사항이 발생했고 이에 대해 Azure Policy를 활용하여 조치하는 내용에 관한 것이다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3551&quot; data-ke-size=&quot;size16&quot;&gt;다음과 같이 &lt;b&gt;All network ports should be restricted on network security groups associated to your virtual machine &lt;/b&gt;라는 권고사항이 발생했다고 가정한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;517&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nubXH/btsPqxVkOkx/anyykaTYUbppZr7MoKaXR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nubXH/btsPqxVkOkx/anyykaTYUbppZr7MoKaXR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nubXH/btsPqxVkOkx/anyykaTYUbppZr7MoKaXR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnubXH%2FbtsPqxVkOkx%2FanyykaTYUbppZr7MoKaXR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;597&quot; height=&quot;513&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;517&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;참고로 Microsoft Defender for Cloud에서도 동일한 내용의 보안 권고사항이 발생하는 것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1lm8t/btsPqI3Fo11/Oqd30awFlFfGd2t1ZOwL2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1lm8t/btsPqI3Fo11/Oqd30awFlFfGd2t1ZOwL2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1lm8t/btsPqI3Fo11/Oqd30awFlFfGd2t1ZOwL2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1lm8t%2FbtsPqI3Fo11%2FOqd30awFlFfGd2t1ZOwL2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;761&quot; height=&quot;364&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3762&quot; data-ke-size=&quot;size16&quot;&gt;이는 Advisor의 보안 권고사항이 근본적으로 Microsoft Defender for Cloud의 보안 권고사항으로부터 근원하고 있기 때문이다. 하지만 두 서비스의 목적과 범위가 다르기 때문에 사용자는 약간의 차이를 경험할 수 있습니다. 이는&lt;b&gt; &lt;/b&gt;여러 사유로 기인하지만 기본적으로 Advisor에서는 선별된 뷰(View)를 확인하는 것이기 때문이다. 두 권고사항의 차이점은 대략 다음과 같다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-testid=&quot;table-container&quot; data-layout=&quot;custom&quot;&gt;
&lt;div data-vc=&quot;table-node-wrapper&quot; data-table-width=&quot;750&quot; data-table-local-id=&quot;f2629f28-87e0-4cad-ab28-1e17ebb0c928&quot; data-autosize=&quot;false&quot; data-layout=&quot;align-start&quot; data-number-column=&quot;false&quot;&gt;
&lt;div style=&quot;text-align: center;&quot; data-align=&quot;center&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot; data-align=&quot;center&quot;&gt;
&lt;p data-renderer-start-pos=&quot;4009&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #ffffff;&quot; aria-hidden=&quot;false&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-layout=&quot;align-start&quot; data-table-width=&quot;750&quot; data-number-column=&quot;false&quot; data-testid=&quot;renderer-table&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: center;&quot;&gt;&lt;span&gt;&lt;b&gt;항목&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: center;&quot;&gt;&lt;span&gt; &lt;span style=&quot;background-color: #f0f1f2; color: #292a2e; text-align: center;&quot;&gt;Azure Advisor&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: center;&quot;&gt;&lt;span&gt; &lt;span style=&quot;background-color: #f0f1f2; color: #292a2e; text-align: center;&quot;&gt;Microsoft Defender for Cloud&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;136&quot;&gt;&lt;span&gt;&lt;b&gt;목적&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;273&quot;&gt;&lt;span&gt;단순 권고사항 제공, 빠른 조치 유도&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;340&quot;&gt;&lt;span&gt;정밀한 보안 진단과 보안 점수 기반 지속 관리&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;136&quot;&gt;&lt;span&gt;&lt;b&gt;표시되는 항목 수&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;273&quot;&gt;&lt;span&gt;제한적, 요약된 권고&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;340&quot;&gt;&lt;span&gt;실시간 위협 탐지, 정책 기반 취약점 진단 포함&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;136&quot;&gt;&lt;span&gt;&lt;b&gt;기술 심도&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;273&quot;&gt;&lt;span&gt;낮음 (비전문가도 보기 쉽게 제공)&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left;&quot; data-colwidth=&quot;340&quot;&gt;&lt;span&gt;높음 (보안 엔지니어 중심의 기술적 권고 포함&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div data-vc=&quot;table-sticky-scrollbar-container&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4226&quot; data-ke-size=&quot;size16&quot;&gt;이제 핸즈온을 진행해 보자.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4243&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4243&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;1.-Azure-Advisor-권고사항-확인&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4245&quot; data-ke-size=&quot;size26&quot;&gt;1. &lt;b&gt;Azure Advisor 권고사항 확인&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;201&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uhSQ1/btsPp22jRV9/1nB6NpPJeRskT4kkQukQQK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uhSQ1/btsPp22jRV9/1nB6NpPJeRskT4kkQukQQK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uhSQ1/btsPp22jRV9/1nB6NpPJeRskT4kkQukQQK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuhSQ1%2FbtsPp22jRV9%2F1nB6NpPJeRskT4kkQukQQK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;686&quot; height=&quot;231&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;201&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;2. 해당 권고사항이 적용된 가상 머신 및 네트워크 보안 그룹을 확인한다. 이 정보는 정책을 적용할 범위를 결정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;237&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xoNPw/btsPqR6ZDg2/BBMnZPlEkpVVi6CFMRiJcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xoNPw/btsPqR6ZDg2/BBMnZPlEkpVVi6CFMRiJcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xoNPw/btsPqR6ZDg2/BBMnZPlEkpVVi6CFMRiJcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxoNPw%2FbtsPqR6ZDg2%2FBBMnZPlEkpVVi6CFMRiJcK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;639&quot; height=&quot;254&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;237&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4368&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 id=&quot;2.-사용자-지정-정책-정의-생성&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4368&quot; data-ke-size=&quot;size26&quot;&gt;2. &lt;b&gt;사용자 지정 정책 정의 생성&lt;/b&gt;&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4388&quot; data-ke-size=&quot;size16&quot;&gt;1. Azure Portal에서 &lt;b&gt;Policy&lt;/b&gt;를 검색하여 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4426&quot; data-ke-size=&quot;size16&quot;&gt;2. &lt;b&gt;Definitions&lt;/b&gt;를 선택하고 &lt;b&gt;+ Policy definition&lt;/b&gt;을 클릭한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4475&quot; data-ke-size=&quot;size16&quot;&gt;3. 다음 예시 정보를 선택 및 입력한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Definition location:&lt;/b&gt; 적용 범위 선택 (구독)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; Restricting Virtual Machine NSG Inbound Ports&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Description:&lt;/b&gt; Deny inbound traffic on specific ports on the NSG associated with the virtual machine.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Category:&lt;/b&gt; Network&lt;/li&gt;
&lt;li&gt;&lt;b&gt;POLICY RULE:&lt;/b&gt; 아래 JSON 코드를 붙여넣는다. 이 코드는 RDP (3389) 및 SSH (22) 포트에 대한 인바운드 트래픽을 거부하는 정책을 정의한다. 필요에 따라 다른 포트를 추가하거나 제거할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;
&lt;pre id=&quot;code_1753051674487&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;{
  &quot;mode&quot;: &quot;All&quot;,
  &quot;policyRule&quot;: {
    &quot;if&quot;: {
      &quot;allOf&quot;: [
        {
          &quot;field&quot;: &quot;type&quot;,
          &quot;equals&quot;: &quot;Microsoft.Network/networkSecurityGroups/securityRules&quot;
        },
        {
          &quot;field&quot;: &quot;Microsoft.Network/networkSecurityGroups/securityRules/access&quot;,
          &quot;equals&quot;: &quot;Allow&quot;
        },
        {
          &quot;field&quot;: &quot;Microsoft.Network/networkSecurityGroups/securityRules/direction&quot;,
          &quot;equals&quot;: &quot;Inbound&quot;
        },
        {
          &quot;anyOf&quot;: [
            {
              &quot;field&quot;: &quot;Microsoft.Network/networkSecurityGroups/securityRules/destinationPortRange&quot;,
              &quot;equals&quot;: &quot;3389&quot;
            },
            {
              &quot;field&quot;: &quot;Microsoft.Network/networkSecurityGroups/securityRules/destinationPortRange&quot;,
              &quot;equals&quot;: &quot;22&quot;
            }
          ]
        }
      ]
    },
    &quot;then&quot;: {
      &quot;effect&quot;: &quot;Deny&quot;
    }
  },
  &quot;parameters&quot;: {}
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;mode&lt;/span&gt;: 정책이 평가되는 방식을 지정한다. All은 모든 리소스 유형을 평가한다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;policyRule&lt;/span&gt;: 정책의 조건을 정의한다.
&lt;ul style=&quot;list-style-type: circle;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff;&quot;&gt;if&lt;/span&gt;: 조건 블록이다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;3&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;allOf&lt;/span&gt;: 모든 조건이 충족되어야 한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;4&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;field&lt;/span&gt;: 평가할 속성을 지정한다. 여기서는 NSG 보안 규칙의 속성을 확인한다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;equals&lt;/span&gt;: 속성 값이 지정된 값과 일치하는지 확인한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;then&lt;/span&gt;: 조건이 충족될 때 수행할 작업을 지정한다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;3&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;effect&lt;/span&gt;: 작업을 지정한다. Deny는 작업을 거부한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;parameters&lt;/span&gt;: 정책에 전달할 수 있는 매개변수를 정의한다. 이 예제에서는 매개변수가 없다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;604&quot; data-origin-height=&quot;535&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqvqxw/btsPp8nXhIe/5mO7zqr6fk9Sow85kkAZFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqvqxw/btsPp8nXhIe/5mO7zqr6fk9Sow85kkAZFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqvqxw/btsPp8nXhIe/5mO7zqr6fk9Sow85kkAZFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbqvqxw%2FbtsPp8nXhIe%2F5mO7zqr6fk9Sow85kkAZFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;604&quot; height=&quot;535&quot; data-origin-width=&quot;604&quot; data-origin-height=&quot;535&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6110&quot; data-ke-size=&quot;size16&quot;&gt;4. &lt;b&gt;Save&lt;/b&gt;를 클릭한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6126&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6126&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;3.-정책-할당&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6128&quot; data-ke-size=&quot;size26&quot;&gt;3. &lt;b&gt;정책 할당&lt;/b&gt;&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6138&quot; data-ke-size=&quot;size16&quot;&gt;1. Azure Portal에서 &lt;b&gt;Policy&lt;/b&gt;를 검색하여 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6176&quot; data-ke-size=&quot;size16&quot;&gt;2. &lt;b&gt;Assignments&lt;/b&gt;를 선택하고 &lt;b&gt;Assign policy&lt;/b&gt;를 클릭한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6219&quot; data-ke-size=&quot;size16&quot;&gt;3. &lt;b&gt;Scope&lt;/b&gt;에서 대상 VM이 배포된 구독 및 리소스 그룹을 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6261&quot; data-ke-size=&quot;size16&quot;&gt;4. &lt;b&gt;Policy definition&lt;/b&gt;에서 위에서 생성한 정책(Restricting Virtual Machine NSG Inbound Ports)을 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6350&quot; data-ke-size=&quot;size16&quot;&gt;5. &lt;b&gt;Remediation&lt;/b&gt;을 구성하여 기존의 비규격 리소스를 수정할지 여부를 결정한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6401&quot; data-ke-size=&quot;size16&quot;&gt;6. &lt;b&gt;Non-compliance message&lt;/b&gt; 입력창에 다음 메시지를 입력한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6447&quot; data-ke-size=&quot;size16&quot;&gt;Security policy violation: Inbound traffic to RDP (3389) or SSH (22) ports is not allowed on Network Security Groups for virtual machines. These ports are restricted for security hardening.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6638&quot; data-ke-size=&quot;size16&quot;&gt;DeployIfNotExists 효과를 사용하면 기존 리소스를 자동으로 수정할 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6689&quot; data-ke-size=&quot;size16&quot;&gt;7. &lt;b&gt;Review + create&lt;/b&gt;를 클릭한 다음 &lt;b&gt;Create&lt;/b&gt;를 클릭한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6731&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6731&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;4.-정책-준수-확인&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6733&quot; data-ke-size=&quot;size26&quot;&gt;4. &lt;b&gt;정책 &lt;/b&gt;준수 확인&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6746&quot; data-ke-size=&quot;size16&quot;&gt;1. Azure Portal에서 &lt;b&gt;Policy&lt;/b&gt;를 검색하여 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6784&quot; data-ke-size=&quot;size16&quot;&gt;2. &lt;b&gt;Compliance&lt;/b&gt;를 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6806&quot; data-ke-size=&quot;size16&quot;&gt;3. 할당된 정책을 선택하여 준수 상태를 확인한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6836&quot; data-ke-size=&quot;size16&quot;&gt;위에서 생성 및 할당한 정책의 Compliance 여부가 체크된 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;222&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyIsrI/btsPrc39gSu/LMV6F7r2OqJqqiAKTckWSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyIsrI/btsPrc39gSu/LMV6F7r2OqJqqiAKTckWSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyIsrI/btsPrc39gSu/LMV6F7r2OqJqqiAKTckWSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyIsrI%2FbtsPrc39gSu%2FLMV6F7r2OqJqqiAKTckWSK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;659&quot; height=&quot;245&quot; data-origin-width=&quot;597&quot; data-origin-height=&quot;222&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Compliant &lt;/b&gt;리소스는 정책을 준수하는 리소스이다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Non-compliant &lt;/b&gt;리소스는 정책을 준수하지 않는 리소스이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6966&quot; data-ke-size=&quot;size16&quot;&gt;4. &lt;b&gt;Non-compliant&lt;/b&gt; 리소스가 있는 경우, 정책 정의에 따라 수정 작업을 수행하거나 리소스를 수정해야 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6966&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6966&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7033&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;5.-정책-테스트&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7035&quot; data-ke-size=&quot;size26&quot;&gt;5. &lt;b&gt;정책 &lt;/b&gt;테스트&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7046&quot; data-ke-size=&quot;size16&quot;&gt;이제 정책이 올바르게 적용되었는지 확인하기 위해 테스트를 수행한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7086&quot; data-ke-size=&quot;size16&quot;&gt;1. 먼저 기존 RDP 허용 정책이 존재하는지 확인 후 존재한다면 제거한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;590&quot; data-origin-height=&quot;152&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ewCE7l/btsPrbRIVUp/9RxTcC4nTR2cSsvWnL50gk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ewCE7l/btsPrbRIVUp/9RxTcC4nTR2cSsvWnL50gk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ewCE7l/btsPrbRIVUp/9RxTcC4nTR2cSsvWnL50gk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FewCE7l%2FbtsPrbRIVUp%2F9RxTcC4nTR2cSsvWnL50gk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;590&quot; height=&quot;152&quot; data-origin-width=&quot;590&quot; data-origin-height=&quot;152&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;2. RDP 허용을 위한 Inbound port rule을 생성한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;523&quot; data-origin-height=&quot;590&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1F5Ag/btsPsch6bbw/j6yTVfLqj5IcdxdwSXR1Yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1F5Ag/btsPsch6bbw/j6yTVfLqj5IcdxdwSXR1Yk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1F5Ag/btsPsch6bbw/j6yTVfLqj5IcdxdwSXR1Yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1F5Ag%2FbtsPsch6bbw%2Fj6yTVfLqj5IcdxdwSXR1Yk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;523&quot; height=&quot;590&quot; data-origin-width=&quot;523&quot; data-origin-height=&quot;590&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7176&quot; data-ke-size=&quot;size16&quot;&gt;3. &lt;b&gt;Add&lt;/b&gt;를 클릭하자 마자 보안 규칙 생성 실패에 대한 팝업 메시지가 전시됨을 확인한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7228&quot; data-ke-size=&quot;size16&quot;&gt;보안 규칙 'AllowAnyRDPInbound'를 생성하지 못했습니다. &lt;b&gt;오류:&lt;/b&gt; &lt;b&gt;정책에 따라 'AllowAnyRDPInbound' 리소스가 허용되지 않았습니다&lt;/b&gt;. &lt;b&gt;이유:&lt;/b&gt; &lt;b&gt;'보안 정책 위반: 가상 머신의 네트워크 보안 그룹에서 RDP(3389) 또는 SSH(22) 포트로의 인바운드 트래픽이 허용되지 않습니다&lt;/b&gt;. 이러한 포트는 보안 강화를 위해 제한됩니다.' 정책 리소스 ID에 대한 오류 세부 정보를 참조하세요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LtUCn/btsPqA5Amxk/fU3ezQT4yyF0jAFzuVmUlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LtUCn/btsPqA5Amxk/fU3ezQT4yyF0jAFzuVmUlk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LtUCn/btsPqA5Amxk/fU3ezQT4yyF0jAFzuVmUlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLtUCn%2FbtsPqA5Amxk%2FfU3ezQT4yyF0jAFzuVmUlk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;596&quot; height=&quot;429&quot; data-origin-width=&quot;596&quot; data-origin-height=&quot;429&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;6.-VM-접속-모범사례&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7462&quot; data-ke-size=&quot;size26&quot;&gt;6. VM &lt;b&gt;접속 모범사례&lt;/b&gt;&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7477&quot; data-ke-size=&quot;size16&quot;&gt;그렇다면, 이러한 실무 환경에서 해당 VM에 접속하기 위한 Best Practice는 무엇일까? 일반적인 방법 3가지 정도를 정리해 보면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Azure Bastion&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;가장 권고된다. 보안성, 편리성, 관리 용이성 측면에서 탁월하다. &amp;rarr; &lt;b&gt;대부분의 경우 (특히 작은 규모 또는 특정 VM에 대한 관리):&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Jumpbox 서버&lt;br /&gt;실무에서는 PaaS 서비스인 Azure Bastion의 비용 이슈로 Jumpbox 서버를 대체하여 구성하는 경우가 있다. 그러나 Jumpbox 서버데 대한 추가 관리 공수가 발생하고 Single Point of Failure 즉, 장애 시 리소스 접근에 어려움이 발생하게 된다.&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;JIT VM Access&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Microsoft Defender for Cloud를 이미 사용하고 있고, 짧은 시간 동안만 접근을 허용하는 유연성이 필요한 경우에 매우 유용하다. &amp;rarr; &lt;b&gt;보안 자동화 및 필요에 따른 임시 접근 제어&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;JIT VM 액세스에 대한 자세한 설명은 &lt;a style=&quot;color: #1868db;&quot; href=&quot;https://learn.microsoft.com/ko-kr/azure/defender-for-cloud/just-in-time-access-usage?AZ-MVP-5004005&quot; data-renderer-mark=&quot;true&quot;&gt;여기&lt;/a&gt;를 참고한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VPN Gateway&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;온프레미스 네트워크와 Azure 클라우드를 안전하게 연결해야 한다면 필수적이다. &amp;rarr; &lt;b&gt;엔터프라이즈 규모의 통합된 네트워크 접근:&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;8091&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;결론적으로, Azure Policy를 통해 RDP/SSH 직접 접속을 차단한 후에는 Azure Bastion 또는 JIT VM Access를 사용하는 것이 가장 일반적이고 권장되는 실무 접근 방식이다.&lt;/b&gt; VPN은 더 넓은 네트워크 통합 시나리오에서 고려된다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;8091&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;8091&quot; data-ke-size=&quot;size16&quot;&gt;다음 편에서는 Azure DevOps와 연계한 핸즈온을 시행해 보자.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;8091&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;8091&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;8091&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;8091&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://zerobig-k8s.tistory.com/168&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다음 편&lt;/a&gt;에서 계속&lt;/p&gt;</description>
      <category>Azure 기타</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/167</guid>
      <comments>https://zerobig-k8s.tistory.com/167#entry167comment</comments>
      <pubDate>Mon, 21 Jul 2025 07:53:21 +0900</pubDate>
    </item>
    <item>
      <title>AZ-104 핸즈온 : Microsoft Entra ID ID 관리 P3 - Azure Policy 1</title>
      <link>https://zerobig-k8s.tistory.com/166</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;Azure Policy는 클라우드 환경에서 거버넌스를 구현하고 규정 준수를 보장하는 데 필수적이다. 이 블로그는 Azure Policy의 기본 개념부터 실제 실무 환경에 적용하는 핸즈온 실습까지 단계별로 안내하여 독자들이 Azure 환경을 효율적으로 관리하고 최적화하는 데 도움을 줄 것이다. 특히 이번 편에서도 Azure Advisor와 연계한 내용으로 구성하여 실무에서 필요한 지식을 습득할 수 있도록 구성했다. 전체 컨텐츠의 분량 및 개인 여건상 2~3개의 모듈로 나누어 게시하고자 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;254&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;256&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;256&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id=&quot;Azure-Policy의-이해&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;258&quot;&gt;Azure Policy의 이해&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;276&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;1.-기본-개념&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;278&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 기본 개념&lt;/b&gt;&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Azure Policy 공식 문서는 방대하지만, 실무적인 관점에서 그 핵심을 요약하면 &lt;b&gt;&quot;&lt;/b&gt;클라우드 환경의 &lt;b&gt;규칙을 정의&lt;/b&gt;하고, 이를 &lt;b&gt;자동으로 평가&lt;/b&gt;하며, 나아가 &lt;b&gt;강제하거나 수정하는 중앙 거버넌스 도구&quot;&lt;/b&gt; 라고 정의할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 '무엇을 할 수 없다'는 통제를 넘어, 조직의 클라우드 환경이 &lt;b&gt;일관되고, 안전하며, 비용 효율적으로 운영되도록 보장하는 '자동화된 가드레일'&lt;/b&gt; 역할을 수행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;1.-기본-개념&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;278&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2.&lt;span&gt; 역할&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Azure Policy의 역할은 다음과 같은 실무 문제를 해결하는 데 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;비용 관리 (Cost Management):&lt;/b&gt; &quot;개발자가 실수로 비싼 GPU 가상머신을 테스트용으로 배포하는 것을 막고 싶다.&quot;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보안 강화 (Security):&lt;/b&gt; &quot;모든 스토리지 계정은 암호화된 연결(HTTPS)만 허용해야 하고, DB는 공용 IP를 가지면 안 된다.&quot;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;리소스 일관성 (Consistency):&lt;/b&gt; &quot;모든 리소스에는 비용 추적을 위해 'Owner'와 'CostCenter' 태그가 반드시 붙어 있어야 한다.&quot;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;규정 준수 (Compliance):&lt;/b&gt; &quot;우리 회사의 모든 데이터는 국내(한국 중부, 남부) 리전(Region)에만 저장되어야 한다.&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 규칙들을 담당자가 일일이 검사하는 것이 아니라, Policy가 24시간 자동으로 감시하고 조치할 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;412&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;412&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;2.-기본-구성-요소&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;414&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 기본 구성 요소&lt;/b&gt;&lt;/h2&gt;
&lt;div style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-testid=&quot;table-container&quot; data-layout=&quot;custom&quot;&gt;
&lt;div data-vc=&quot;table-node-wrapper&quot; data-table-width=&quot;599&quot; data-table-local-id=&quot;3990dd82-34c7-46a5-8481-2e27b800ce16&quot; data-autosize=&quot;false&quot; data-layout=&quot;align-start&quot; data-number-column=&quot;false&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #ffffff;&quot; aria-hidden=&quot;false&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 210px;&quot; border=&quot;1&quot; data-layout=&quot;align-start&quot; data-table-width=&quot;599&quot; data-number-column=&quot;false&quot; data-testid=&quot;renderer-table&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: center; width: 25.814%; height: 21px;&quot;&gt;&lt;span&gt;&lt;b&gt;구성요소&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: center; width: 44.186%; height: 21px;&quot;&gt;&lt;b&gt;&lt;span&gt;설명&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: center; width: 29.8837%; height: 21px;&quot;&gt;&lt;b&gt;비고&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 43px;&quot;&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 25.814%; height: 43px;&quot; data-colwidth=&quot;192&quot;&gt;&lt;span&gt;&lt;b&gt;정책 정의 (Policy Definition)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 44.186%; height: 43px;&quot; data-colwidth=&quot;407&quot;&gt;&lt;span&gt;정책의 규칙과 효과를 정의한 JSON 형식의 문서&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 29.8837%; height: 43px;&quot;&gt;&lt;span&gt;기본 제공 정책: '허용되는 위치 (Allowed locations)'&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 39px;&quot;&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 25.814%; height: 39px;&quot; data-colwidth=&quot;192&quot;&gt;&lt;span&gt;&lt;b&gt;이니셔티브 정의 (Initiative Definition)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 44.186%; height: 39px;&quot; data-colwidth=&quot;407&quot;&gt;&lt;span&gt;여러 개의 정책 정의를 묶은 정책 집합&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 29.8837%; height: 39px;&quot;&gt;&lt;span&gt; &lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: left;&quot;&gt;관리 간소화 목적&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 43px;&quot;&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 25.814%; height: 43px;&quot; data-colwidth=&quot;192&quot;&gt;&lt;span&gt;&lt;b&gt;할당 (Assignment)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 44.186%; height: 43px;&quot; data-colwidth=&quot;407&quot;&gt;&lt;span&gt;정책 또는 이니셔티브를 구독, 리소스 그룹 또는 관리 그룹 수준에 할당&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 29.8837%; height: 43px;&quot;&gt;&lt;span&gt;'개발팀 리소스 그룹'에 '허용되는 위치' 정책을 할당한다.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 25.814%; height: 21px;&quot; data-colwidth=&quot;192&quot;&gt;&lt;span&gt;&lt;b&gt;파라미터 (Parameters)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 44.186%; height: 21px;&quot; data-colwidth=&quot;407&quot;&gt;&lt;span&gt;정책 정의의 유연성을 높이기 위한 입력 값&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 29.8837%; height: 21px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: left;&quot;&gt;허용되는 위치 목록&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 43px;&quot;&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 25.814%; height: 43px;&quot; data-colwidth=&quot;192&quot;&gt;&lt;span&gt;&lt;b&gt;효과 (Effect)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 44.186%; height: 43px;&quot; data-colwidth=&quot;407&quot;&gt;&lt;span&gt;정책이 감지한 위반 사항에 대해 어떤 조치를 취할지 결정&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;background-color: #ffffff; text-align: left; width: 29.8837%; height: 43px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: left;&quot;&gt;Deny, Audit, Append, DeployIfNotExists&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div data-vc=&quot;table-sticky-scrollbar-container&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;829&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;3.-정책-적용-방식&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;831&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 정책 적용 방식&lt;/b&gt;&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리소스 &lt;b&gt;배포 시점&lt;/b&gt;에 정책이 적용되어 조건을 위반하면 &lt;b&gt;차단&lt;/b&gt;됨 (Deny)&lt;/li&gt;
&lt;li&gt;기존 리소스에 대해서도 &lt;b&gt;감사(Audit)&lt;/b&gt; 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;자동 수정(DeployIfNotExists)&lt;/b&gt; 등을 통해 리소스를 기준에 맞게 구성 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;970&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;4.-정책의-효과-유형&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;972&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 정책의 유형&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;701&quot; data-start=&quot;451&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center; width: 21.7442%;&quot;&gt;&lt;b&gt;유형&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 32.907%;&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 45.2326%;&quot;&gt;&lt;b&gt;비고&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;575&quot; data-start=&quot;507&quot;&gt;
&lt;td style=&quot;width: 21.7442%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;518&quot; data-start=&quot;507&quot;&gt;&lt;b&gt;Built-in&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.907%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;546&quot; data-start=&quot;518&quot;&gt;Microsoft가 제공하는 사전 정의된 정책&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%;&quot; data-end=&quot;575&quot; data-start=&quot;546&quot; data-col-size=&quot;sm&quot;&gt;위치 제한, 태그 필수, NSG 규칙 제한 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;634&quot; data-start=&quot;576&quot;&gt;
&lt;td style=&quot;width: 21.7442%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;585&quot; data-start=&quot;576&quot;&gt;&lt;b&gt;Custom&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.907%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;604&quot; data-start=&quot;585&quot;&gt;조직 요건에 맞게 사용자 정의&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;634&quot; data-start=&quot;604&quot;&gt;특정 태그 값만 허용, 특정 SKU만 사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;701&quot; data-start=&quot;635&quot;&gt;
&lt;td style=&quot;width: 21.7442%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;661&quot; data-start=&quot;635&quot;&gt;&lt;b&gt;Initiative (정책 집합)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.907%;&quot; data-end=&quot;676&quot; data-start=&quot;661&quot; data-col-size=&quot;sm&quot;&gt;여러 정책을 묶어 관리&lt;/td&gt;
&lt;td style=&quot;width: 45.2326%;&quot; data-end=&quot;701&quot; data-start=&quot;676&quot; data-col-size=&quot;sm&quot;&gt;NIST, ISO 규정 등 준수 패키지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-testid=&quot;table-container&quot; data-layout=&quot;custom&quot;&gt;
&lt;div data-vc=&quot;table-node-wrapper&quot; data-table-width=&quot;593&quot; data-table-local-id=&quot;7bc5809b-e2d4-4f6f-978d-960f87aafed7&quot; data-autosize=&quot;false&quot; data-layout=&quot;align-start&quot; data-number-column=&quot;false&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div data-vc=&quot;table-sticky-scrollbar-container&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-vc=&quot;table-sticky-scrollbar-container&quot;&gt;&amp;nbsp;&lt;b&gt;6. 정책의 주요 효과&lt;/b&gt;&lt;/div&gt;
&lt;div data-vc=&quot;table-sticky-scrollbar-container&quot;&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1056&quot; data-start=&quot;736&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center; width: 20.6977%;&quot;&gt;&lt;b&gt;효과&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 26.7442%;&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center; width: 52.4419%;&quot;&gt;&lt;b&gt;비고&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;832&quot; data-start=&quot;792&quot;&gt;
&lt;td style=&quot;width: 20.6977%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;800&quot; data-start=&quot;792&quot;&gt;&lt;b&gt;Audit&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.7442%;&quot; data-end=&quot;815&quot; data-start=&quot;800&quot; data-col-size=&quot;sm&quot;&gt;정책 위반 여부만 평가&lt;/td&gt;
&lt;td style=&quot;width: 52.4419%;&quot; data-end=&quot;832&quot; data-start=&quot;815&quot; data-col-size=&quot;sm&quot;&gt;&quot;미준수 리소스 식별만&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;881&quot; data-start=&quot;833&quot;&gt;
&lt;td style=&quot;width: 20.6977%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;840&quot; data-start=&quot;833&quot;&gt;&lt;b&gt;Deny&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.7442%;&quot; data-end=&quot;858&quot; data-start=&quot;840&quot; data-col-size=&quot;sm&quot;&gt;정책 위반 리소스 배포 차단&lt;/td&gt;
&lt;td style=&quot;width: 52.4419%;&quot; data-end=&quot;881&quot; data-start=&quot;858&quot; data-col-size=&quot;sm&quot;&gt;&quot;허용 위치 외 리소스 생성 금지&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;919&quot; data-start=&quot;882&quot;&gt;
&lt;td style=&quot;width: 20.6977%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;893&quot; data-start=&quot;882&quot;&gt;&lt;b&gt;Disabled&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.7442%;&quot; data-end=&quot;903&quot; data-start=&quot;893&quot; data-col-size=&quot;sm&quot;&gt;정책 비활성화&lt;/td&gt;
&lt;td style=&quot;width: 52.4419%;&quot; data-end=&quot;919&quot; data-start=&quot;903&quot; data-col-size=&quot;sm&quot;&gt;테스트 또는 예외 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;981&quot; data-start=&quot;920&quot;&gt;
&lt;td style=&quot;width: 20.6977%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;929&quot; data-start=&quot;920&quot;&gt;&lt;b&gt;Append&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.7442%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;949&quot; data-start=&quot;929&quot;&gt;속성 추가 (ex: 태그 삽입)&lt;/td&gt;
&lt;td style=&quot;width: 52.4419%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;981&quot; data-start=&quot;949&quot;&gt;&quot;배포 시 자동으로 costCenter 태그 추가&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1056&quot; data-start=&quot;982&quot;&gt;
&lt;td style=&quot;width: 20.6977%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1002&quot; data-start=&quot;982&quot;&gt;&lt;b&gt;DeployIfNotExists&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.7442%;&quot; data-end=&quot;1022&quot; data-start=&quot;1002&quot; data-col-size=&quot;sm&quot;&gt;조건 충족 시 리소스 자동 배포&lt;/td&gt;
&lt;td style=&quot;width: 52.4419%;&quot; data-end=&quot;1056&quot; data-start=&quot;1022&quot; data-col-size=&quot;sm&quot;&gt;&quot;Defender 비활성 VM에 자동 Agent 설치&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div data-vc=&quot;table-sticky-scrollbar-container&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div data-vc=&quot;table-sticky-scrollbar-container&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&quot;5.-활용-예시&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1167&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;7. 활용 예시&lt;/b&gt;&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;&lt;br /&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1334&quot; data-start=&quot;1083&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 30.9302%; text-align: center;&quot;&gt;&lt;b&gt;시나리오&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25.5814%; text-align: center;&quot;&gt;&lt;b&gt;적용 정책 예시&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.3721%; text-align: center;&quot;&gt;&lt;b&gt;효과&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1205&quot; data-start=&quot;1145&quot;&gt;
&lt;td style=&quot;width: 30.9302%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1175&quot; data-start=&quot;1145&quot;&gt;모든 리소스는 koreacentral에만 배포&lt;/td&gt;
&lt;td style=&quot;width: 25.5814%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1197&quot; data-start=&quot;1175&quot;&gt;allowed-locations&lt;/td&gt;
&lt;td style=&quot;width: 43.3721%;&quot; data-end=&quot;1205&quot; data-start=&quot;1197&quot; data-col-size=&quot;sm&quot;&gt;Deny&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1271&quot; data-start=&quot;1206&quot;&gt;
&lt;td style=&quot;width: 30.9302%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1231&quot; data-start=&quot;1206&quot;&gt;NSG 인바운드 규칙에서 Any 차단&lt;/td&gt;
&lt;td style=&quot;width: 25.5814%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1262&quot; data-start=&quot;1231&quot;&gt;Audit NSG with broad rules&lt;/td&gt;
&lt;td style=&quot;width: 43.3721%;&quot; data-end=&quot;1271&quot; data-start=&quot;1262&quot; data-col-size=&quot;sm&quot;&gt;Audit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1334&quot; data-start=&quot;1272&quot;&gt;
&lt;td style=&quot;width: 30.9302%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1290&quot; data-start=&quot;1272&quot;&gt;태그 누락 리소스 자동 수정&lt;/td&gt;
&lt;td style=&quot;width: 25.5814%;&quot; data-col-size=&quot;sm&quot; data-end=&quot;1313&quot; data-start=&quot;1290&quot;&gt;Add tag if missing&lt;/td&gt;
&lt;td style=&quot;width: 43.3721%;&quot; data-end=&quot;1334&quot; data-start=&quot;1313&quot; data-col-size=&quot;sm&quot;&gt;DeployIfNotExists&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1295&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1295&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;6.-베스트-프랙티스&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1297&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;8. 적용 절차 Best Practice&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Audit &amp;rarr; Deny 순서로 점진적 적용&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;이니셔티브로 정책을 모듈화&lt;/b&gt;하고 관리 용이성 확보&lt;/li&gt;
&lt;li&gt;&lt;b&gt;정책 위반 원인 분석&lt;/b&gt;을 위해 Activity Log와 연동&lt;/li&gt;
&lt;li&gt;&lt;b&gt;리소스 태그나 리전 같은 표준화 항목부터 적용&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1434&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1434&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2066&quot; data-ke-size=&quot;size16&quot;&gt;이제 Azure Policy에 대해 이해가 되었으니 다음 편부터는 실제 핸즈온을 수행하가며 익혀보자. 핸즈온의 내용은 단순하게 Azure Policy 자체만의 내용이 아닌 Advisor 및 Azure DevOps를 연계한 내용으로 구성하고자 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2066&quot; data-ke-size=&quot;size16&quot;&gt;핸즈온을 원활하게 수행하기 위해서는 &lt;a href=&quot;https://zerobig-k8s.tistory.com/152&quot; data-prosemirror-mark-name=&quot;link&quot; data-prosemirror-content-type=&quot;mark&quot;&gt;Azure SA 업무 환경 구성 - Part 1&lt;/a&gt;, &lt;a href=&quot;https://zerobig-k8s.tistory.com/153&quot; data-prosemirror-mark-name=&quot;link&quot; data-prosemirror-content-type=&quot;mark&quot;&gt;Azure SA 업무 환경 구성 - Part 2&lt;/a&gt;를 참조하여 환경을 작업 구성한다. 이는 단순한 환경 준비를 넘어 실제 실무에서 Azure 아키텍트 및 엔지니어로서 효율적인 업무를 수행하기 위한 최적화된 업무 환경 구성에 대한 가이드 이다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2066&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2066&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2066&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://zerobig-k8s.tistory.com/167&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다음 편&lt;/a&gt;에서 계속&lt;/p&gt;</description>
      <category>Azure 기타</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/166</guid>
      <comments>https://zerobig-k8s.tistory.com/166#entry166comment</comments>
      <pubDate>Sun, 13 Jul 2025 10:49:54 +0900</pubDate>
    </item>
    <item>
      <title>AZ-104 핸즈온 : Microsoft Entra ID ID 관리 P2 - Azure RBAC(Azure role-based access control) 2</title>
      <link>https://zerobig-k8s.tistory.com/165</link>
      <description>&lt;h2 id=&quot;1.-Azure-Role-할당&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3357&quot; data-ke-size=&quot;size26&quot;&gt;1. Azure Role 할당&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 id=&quot;1.1-Custom-Role-생성-및-할당&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3375&quot; data-ke-size=&quot;size23&quot;&gt;1.1 Custom Role 생성 및 할당&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3400&quot; data-ke-size=&quot;size16&quot;&gt;이번 핸즈 온에서는 Azure 클라우드 엔니지어 특히 MSP 관련 업무를 수행하는 담당자에게 매우 유용한 클라우드 최적화 도구인 Advisor와 관련한 Custom Role 할당을 예시로 진행해 보겠다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3516&quot; data-ke-size=&quot;size16&quot;&gt;구축 단계에서 고객의 요건을 완전하게 이해하고 소위 WAF(Well-Architected Framework)에 입각하여 솔루션 설계 및 구축을 했겠지만 실제 클라우드를 이용하게 되면서 비용, 성능, 보안, 안전성 및 운영효율성 등에 대한 최적화가 필요하고 이루어 지게 된다. Advisor가 바로 이런 기능을 제공해 준다.&lt;/p&gt;
&lt;div style=&quot;background-color: #e9f2fe; color: #000000;&quot; data-panel-type=&quot;info&quot;&gt;
&lt;div&gt;
&lt;p data-renderer-start-pos=&quot;3699&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Advisor란&lt;/b&gt;&lt;/p&gt;
&lt;p data-renderer-start-pos=&quot;3709&quot; data-ke-size=&quot;size16&quot;&gt;Azure Advisor는 모범 사례를 따라 &lt;b&gt;Azure 배포를 최적화&lt;/b&gt;하는 데 도움을 주는 &lt;b&gt;디지털 클라우드 도우미&lt;/b&gt;입니다. 주요 기능은 다음과 같다:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;비용 절감&lt;/b&gt;: Azure 사용량을 최적화하여 비용을 절감할 수 있는 기회를 제공.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;성능 향상&lt;/b&gt;: 애플리케이션의 속도를 개선할 수 있는 권장 사항을 제시.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보안 강화&lt;/b&gt;: 보안 위협과 취약점을 탐지하고 해결책을 제안.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;안정성 보장&lt;/b&gt;: 비즈니스에 중요한 애플리케이션의 연속성을 보장.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;운영 효율성&lt;/b&gt;: 프로세스와 워크플로의 효율성을 높이는 권장 사항을 제공&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-renderer-start-pos=&quot;4000&quot; data-ke-size=&quot;size16&quot;&gt;Azure 포털에서 Advisor를 통해 개인화된 권장 사항을 확인하고, 이를 통해 Azure 리소스를 최적화할 수 있다.&lt;/p&gt;
&lt;p data-renderer-start-pos=&quot;4070&quot; data-ke-size=&quot;size16&quot;&gt;Advisor에 대한 자세한 내용은 &lt;a style=&quot;color: #1868db;&quot; href=&quot;https://learn.microsoft.com/ko-kr/azure/advisor/advisor-overview?AZ-MVP-5004005&quot; data-renderer-mark=&quot;true&quot;&gt;여기&lt;/a&gt;를 참조한다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4102&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4104&quot; data-ke-size=&quot;size16&quot;&gt;참고로 Azure Advisor 관련 역할에 대한 요약 정보는 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0Wi7l/btsNL9ONOE5/l90TMZ49LHUbMaJaYMLXZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0Wi7l/btsNL9ONOE5/l90TMZ49LHUbMaJaYMLXZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0Wi7l/btsNL9ONOE5/l90TMZ49LHUbMaJaYMLXZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0Wi7l%2FbtsNL9ONOE5%2Fl90TMZ49LHUbMaJaYMLXZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;468&quot; data-origin-width=&quot;770&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-layout=&quot;custom&quot;&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4636&quot; data-ke-size=&quot;size16&quot;&gt;이제 Custom Role을 생성해보자.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;4660&quot; data-ke-size=&quot;size16&quot;&gt;1) Azure 구독 &lt;b&gt;Access control (IAM)&lt;/b&gt; 블레이드에서 &lt;b&gt;+ Add&lt;/b&gt;의 &lt;b&gt;Add custom role&lt;/b&gt;을 선택한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;757&quot; data-origin-height=&quot;179&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/but51D/btsNK4HADzj/FGwfcKthxEewkN0m3jx3mK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/but51D/btsNK4HADzj/FGwfcKthxEewkN0m3jx3mK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/but51D/btsNK4HADzj/FGwfcKthxEewkN0m3jx3mK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbut51D%2FbtsNK4HADzj%2FFGwfcKthxEewkN0m3jx3mK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;752&quot; height=&quot;178&quot; data-origin-width=&quot;757&quot; data-origin-height=&quot;179&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;2) &lt;/span&gt;&lt;b&gt;Basics &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;탭에서 생성할 Role의 이름, 설명을 입력하고 &lt;/span&gt;&lt;b&gt;Baseline permissions&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;는 &lt;/span&gt;&lt;b&gt;Start from scratch&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;를 선택하여 처음부터 만들어 나가자.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;744&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HFGKa/btsNLtmJaPA/z8v48uiMDeR9Ao2iFNz000/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HFGKa/btsNLtmJaPA/z8v48uiMDeR9Ao2iFNz000/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HFGKa/btsNLtmJaPA/z8v48uiMDeR9Ao2iFNz000/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHFGKa%2FbtsNLtmJaPA%2Fz8v48uiMDeR9Ao2iFNz000%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;744&quot; height=&quot;262&quot; data-origin-width=&quot;744&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;3) &lt;/span&gt;&lt;b&gt;Permissions &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;탭에서 &lt;/span&gt;&lt;b&gt;Add permissions&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;를 선택한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;732&quot; data-origin-height=&quot;254&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lQjx5/btsNL9ab7ud/baEPGca1lMvHDZCswUzKKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lQjx5/btsNL9ab7ud/baEPGca1lMvHDZCswUzKKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lQjx5/btsNL9ab7ud/baEPGca1lMvHDZCswUzKKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlQjx5%2FbtsNL9ab7ud%2FbaEPGca1lMvHDZCswUzKKk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;732&quot; height=&quot;254&quot; data-origin-width=&quot;732&quot; data-origin-height=&quot;254&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;검색 창에 &amp;ldquo;&lt;/span&gt;Advisor&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;&amp;rdquo;를 입력하여 결과 중 &lt;/span&gt;&lt;b&gt;Microsoft Advisor&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;를 선택한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;684&quot; data-origin-height=&quot;252&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DuhO9/btsNMHEjyi5/SqYFvQ1GmsI0R991H1r9E0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DuhO9/btsNMHEjyi5/SqYFvQ1GmsI0R991H1r9E0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DuhO9/btsNMHEjyi5/SqYFvQ1GmsI0R991H1r9E0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDuhO9%2FbtsNMHEjyi5%2FSqYFvQ1GmsI0R991H1r9E0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;302&quot; data-origin-width=&quot;684&quot; data-origin-height=&quot;252&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Microsoft.Advisor/generateRecommendations&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt; 퍼미션 중 &lt;/span&gt;&lt;b&gt;Read : Get generate recommendations status&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;를 체크하고 &lt;/span&gt;&lt;b&gt;Add &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;한다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;439&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kYp0M/btsNLoeJXRO/irtDDX57xeQKQAzFKwC8uK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kYp0M/btsNLoeJXRO/irtDDX57xeQKQAzFKwC8uK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kYp0M/btsNLoeJXRO/irtDDX57xeQKQAzFKwC8uK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkYp0M%2FbtsNLoeJXRO%2FirtDDX57xeQKQAzFKwC8uK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;812&quot; height=&quot;480&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;439&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;5050&quot; data-ke-size=&quot;size16&quot;&gt;이제 생성된 Custom Role을 할당해보자.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;5078&quot; data-ke-size=&quot;size16&quot;&gt;4) Azure 구독 &lt;b&gt;Access control (IAM)&lt;/b&gt; 블레이드에서 &lt;b&gt;+ Add&lt;/b&gt;의 &lt;b&gt;Add role assignment&lt;/b&gt;를 선택 후 &amp;ldquo;Advisor&amp;rdquo; 라고 입력 후 생성한 역할을 검색 및 선택하고 &lt;b&gt;Next&lt;/b&gt;를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;623&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dshPM0/btsNLuy8aeJ/KjOZIWKe7kAtMFUBIvwOJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dshPM0/btsNLuy8aeJ/KjOZIWKe7kAtMFUBIvwOJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dshPM0/btsNLuy8aeJ/KjOZIWKe7kAtMFUBIvwOJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdshPM0%2FbtsNLuy8aeJ%2FKjOZIWKe7kAtMFUBIvwOJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;770&quot; height=&quot;650&quot; data-origin-width=&quot;738&quot; data-origin-height=&quot;623&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Members&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt; 탭에서 &lt;/span&gt;&lt;b&gt;+Select members&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;를 선택 후 해당 역할을 할당할 사용자를 검색, 선택 후 &lt;/span&gt;&lt;b&gt;Select&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;를 선택하고 &lt;/span&gt;&lt;b&gt;Next&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;를 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;703&quot; data-origin-height=&quot;457&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0iziK/btsNMS6QmcC/PLRqjmKgEAoGgNq4WFoSt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0iziK/btsNMS6QmcC/PLRqjmKgEAoGgNq4WFoSt1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0iziK/btsNMS6QmcC/PLRqjmKgEAoGgNq4WFoSt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0iziK%2FbtsNMS6QmcC%2FPLRqjmKgEAoGgNq4WFoSt1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;754&quot; height=&quot;490&quot; data-origin-width=&quot;703&quot; data-origin-height=&quot;457&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Assignment type&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt; 탭에서 &lt;/span&gt;&lt;b&gt;Assignment type&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;으로 Active를 선택 후 &lt;/span&gt;&lt;b&gt;Review + assign&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;울 클릭하여 역할을 할당한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;499&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cK1wG0/btsNKZsOVoi/TumiZuGmS7LFVwsfQvxMRK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cK1wG0/btsNKZsOVoi/TumiZuGmS7LFVwsfQvxMRK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cK1wG0/btsNKZsOVoi/TumiZuGmS7LFVwsfQvxMRK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcK1wG0%2FbtsNKZsOVoi%2FTumiZuGmS7LFVwsfQvxMRK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;605&quot; height=&quot;423&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;499&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;역할 할당이 잘 되었다면, &lt;/span&gt;&lt;b&gt;Role assignments&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt; 탭에서 다음과 같은 결과를 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;740&quot; data-origin-height=&quot;206&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbXdJt/btsNLQ9MyAR/JkT9qb4F2T5SYVjgvQb4c1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbXdJt/btsNLQ9MyAR/JkT9qb4F2T5SYVjgvQb4c1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbXdJt/btsNLQ9MyAR/JkT9qb4F2T5SYVjgvQb4c1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbXdJt%2FbtsNLQ9MyAR%2FJkT9qb4F2T5SYVjgvQb4c1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;535&quot; height=&quot;149&quot; data-origin-width=&quot;740&quot; data-origin-height=&quot;206&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #e9f2fe; color: #000000;&quot; data-panel-type=&quot;info&quot;&gt;
&lt;div&gt;
&lt;p data-renderer-start-pos=&quot;5441&quot; data-ke-size=&quot;size16&quot;&gt;참고로 생성한 Custom Role은 관리 용이성 및 보안 등의 사유로 그룹에 할당하는 것이 보다 모범사례 이지만 이 실습에서는 간소화를 위해 사용자에게 역할을 할당하도록 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;5543&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;1.2-Custom-Role-할당-결과-검증&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;5545&quot; data-ke-size=&quot;size23&quot;&gt;1.2 Custom Role 할당 결과 검증&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;5571&quot; data-ke-size=&quot;size16&quot;&gt;먼저 Custom Role을 할당 받은 사용자로 로그인하여 Advisor를 확인하기에 앞서 현재 사용자를 통해 Advisor를 검색하여 확인해 보자. 참고로 현재 사용자는 Owner 역할을 할당 받은 상태이며, 그렇지 않다면, Owner 역할을 할당 받은 사용자로 로그인 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;5728&quot; data-ke-size=&quot;size16&quot;&gt;포털 상단 검색창에 advisor라고 입력한 후 결과 서비스 중 &lt;b&gt;Advisror&lt;/b&gt;를 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;5781&quot; data-ke-size=&quot;size16&quot;&gt;다음과 같이, Cost, Security, Reliability, Operational 및 Performance 등 5개의 범주에 대한 권장사항(recommendations) 및 보안 점수(Score) 정보에 대한 개요 페이지를 전시해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;751&quot; data-origin-height=&quot;345&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bN1gSP/btsNKhU1glV/KmBgSkv0jYs0yF9YCJSM31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bN1gSP/btsNKhU1glV/KmBgSkv0jYs0yF9YCJSM31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bN1gSP/btsNKhU1glV/KmBgSkv0jYs0yF9YCJSM31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbN1gSP%2FbtsNKhU1glV%2FKmBgSkv0jYs0yF9YCJSM31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;847&quot; height=&quot;389&quot; data-origin-width=&quot;751&quot; data-origin-height=&quot;345&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;각 범주를 선택해서 들어가면 해당 범주 관련 권고사항 리스트를 전시해준다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;734&quot; data-origin-height=&quot;302&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BPChe/btsNLTFrsdY/plFUZSAavnE4YAN19D4DMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BPChe/btsNLTFrsdY/plFUZSAavnE4YAN19D4DMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BPChe/btsNLTFrsdY/plFUZSAavnE4YAN19D4DMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBPChe%2FbtsNLTFrsdY%2FplFUZSAavnE4YAN19D4DMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;841&quot; height=&quot;346&quot; data-origin-width=&quot;734&quot; data-origin-height=&quot;302&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;임의의 권고사항을 선택하여 이동하면 각 범주 별로 관련한 &lt;/span&gt;&lt;b&gt;권장 조치(Recommended actions) &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;및 &lt;/span&gt;&lt;b&gt;해결 단계(Remediation steps)&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt; 정보를 제공해준다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;# 권장 조치 예시&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;319&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEGxrK/btsNNa7j2qY/lmUCYhk0qNVDAX6oGZv8ak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEGxrK/btsNNa7j2qY/lmUCYhk0qNVDAX6oGZv8ak/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEGxrK/btsNNa7j2qY/lmUCYhk0qNVDAX6oGZv8ak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEGxrK%2FbtsNNa7j2qY%2FlmUCYhk0qNVDAX6oGZv8ak%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;831&quot; height=&quot;352&quot; data-origin-width=&quot;753&quot; data-origin-height=&quot;319&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;# 권장 조치 예시&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;276&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/C3lhg/btsNM8PcuA0/9UmtjFVCERfpGqyuCDArv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/C3lhg/btsNM8PcuA0/9UmtjFVCERfpGqyuCDArv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/C3lhg/btsNM8PcuA0/9UmtjFVCERfpGqyuCDArv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FC3lhg%2FbtsNM8PcuA0%2F9UmtjFVCERfpGqyuCDArv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;829&quot; height=&quot;303&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;276&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6097&quot; data-ke-size=&quot;size16&quot;&gt;Advisor에 대한 자세한 내용은 &lt;a style=&quot;color: #1868db;&quot; href=&quot;https://learn.microsoft.com/ko-kr/azure/advisor/advisor-overview?AZ-MVP-5004005&quot; data-renderer-mark=&quot;true&quot;&gt;여기&lt;/a&gt;를 참조한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6129&quot; data-ke-size=&quot;size16&quot;&gt;이제 위에서 Custom Role (Advisor-ReadScore)를 할당 받은 사용자로 로그인 하여 비교 검증한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6197&quot; data-ke-size=&quot;size16&quot;&gt;해당 사용자는 보안점수에 대한 정보는 확인이 가능하지만, 권고사항 등에 대한 정보는 얻을 수 없음을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;346&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/T1EwA/btsNLCjEiYk/QOI7OMSOqD24OAEAs93yK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/T1EwA/btsNLCjEiYk/QOI7OMSOqD24OAEAs93yK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/T1EwA/btsNLCjEiYk/QOI7OMSOqD24OAEAs93yK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT1EwA%2FbtsNLCjEiYk%2FQOI7OMSOqD24OAEAs93yK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;365&quot; data-origin-width=&quot;758&quot; data-origin-height=&quot;346&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;2.-Azure-Role-vs-Entra-ID-Role&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6271&quot; data-ke-size=&quot;size26&quot;&gt;2. Azure Role vs Entra ID Role&lt;span&gt;&lt;span style=&quot;color: #505258;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6303&quot; data-ke-size=&quot;size16&quot;&gt;기본적으로 Azure 역할과 Microsoft Entra ID 역할은 별개라고 하였다. Entra ID의 전역관리자Global Admin) Role을 할당 받은 두 사용자를 비교하며 검증해보도록 하겠다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6418&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;m365e54zerobig&lt;/b&gt; 테넌트 내 Global Admin 역할을 할당 받은 두 사용자 통해 Azure 접근 가능 여부에 대해 확인해 보도록 하겠다. 참고로 해당 테넌트에는 &lt;b&gt;TDG_VSE&lt;/b&gt;라는 구독이 연결되어 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;695&quot; data-origin-height=&quot;427&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KQEnO/btsNLntoR70/rnX6qZO2w18WlW6jsKJ0c1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KQEnO/btsNLntoR70/rnX6qZO2w18WlW6jsKJ0c1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KQEnO/btsNLntoR70/rnX6qZO2w18WlW6jsKJ0c1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKQEnO%2FbtsNLntoR70%2FrnX6qZO2w18WlW6jsKJ0c1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;463&quot; height=&quot;284&quot; data-origin-width=&quot;695&quot; data-origin-height=&quot;427&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;위 사용자 중 &lt;/span&gt;&lt;b&gt;zerobig.devops&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt; 사용자의 경우를 먼저 살펴보자. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;756&quot; data-origin-height=&quot;352&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FV6fb/btsNLRnhrI1/IJE5sBIL7BIFR0Q9auCKF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FV6fb/btsNLRnhrI1/IJE5sBIL7BIFR0Q9auCKF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FV6fb/btsNLRnhrI1/IJE5sBIL7BIFR0Q9auCKF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFV6fb%2FbtsNLRnhrI1%2FIJE5sBIL7BIFR0Q9auCKF1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;597&quot; height=&quot;278&quot; data-origin-width=&quot;756&quot; data-origin-height=&quot;352&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;TDG_VSE&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt; 구독의 권한 할당 현황을 살펴보면 사용자 zerobig.devops에 대하여 소유자 권한이 할당되어 있음을 확인할 수 있고, 따라서 해당 구독에 접근이 가능한 것은 당연한 결과이다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqXChM/btsNKWpktiP/maDHWVVeHPtXhQDLZALMGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqXChM/btsNKWpktiP/maDHWVVeHPtXhQDLZALMGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqXChM/btsNKWpktiP/maDHWVVeHPtXhQDLZALMGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqXChM%2FbtsNKWpktiP%2FmaDHWVVeHPtXhQDLZALMGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;877&quot; height=&quot;361&quot; data-origin-width=&quot;743&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;이제 해당 테넌트 내 또 다른 Global Admin을 역할을 소유한 &lt;/span&gt;&lt;b&gt;YDKim-NAVER &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;사용자의 경우를 살펴보자.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;343&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBLfL2/btsNK4guY8U/lZkNkJKuw1JKCIZ1cf74Uk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBLfL2/btsNK4guY8U/lZkNkJKuw1JKCIZ1cf74Uk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBLfL2/btsNK4guY8U/lZkNkJKuw1JKCIZ1cf74Uk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBLfL2%2FbtsNK4guY8U%2FlZkNkJKuw1JKCIZ1cf74Uk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;692&quot; height=&quot;315&quot; data-origin-width=&quot;754&quot; data-origin-height=&quot;343&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6776&quot; data-ke-size=&quot;size16&quot;&gt;구독에 대한 접근 권한이 없을을 확인할 수 있으며, 이로서 Entra ID 역할과 Azure의 역할이 별개임을 확인할 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;6851&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Microsoft Entra ID&lt;/b&gt; 내 &lt;b&gt;Manage &amp;gt; Properties&lt;/b&gt; 블레이드로 이동 후. &lt;b&gt;Access management for Azure resources &lt;/b&gt;기능을 활성화 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;704&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0SjAF/btsNL8oQIzB/eidZo4g1CKs8V5joHQJSgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0SjAF/btsNL8oQIzB/eidZo4g1CKs8V5joHQJSgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0SjAF/btsNL8oQIzB/eidZo4g1CKs8V5joHQJSgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0SjAF%2FbtsNL8oQIzB%2FeidZo4g1CKs8V5joHQJSgK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;664&quot; height=&quot;623&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;704&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;이제 다시 구독의 접근 가능 여부를 확인한다. 이번에는 구독이 전시되는 것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;731&quot; data-origin-height=&quot;332&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czVqLs/btsNM7QhZtc/iotCJhINoD6H3KQjcBxvR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czVqLs/btsNM7QhZtc/iotCJhINoD6H3KQjcBxvR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czVqLs/btsNM7QhZtc/iotCJhINoD6H3KQjcBxvR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczVqLs%2FbtsNM7QhZtc%2FiotCJhINoD6H3KQjcBxvR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;672&quot; height=&quot;305&quot; data-origin-width=&quot;731&quot; data-origin-height=&quot;332&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7016&quot; data-ke-size=&quot;size16&quot;&gt;해당 기능 활성화 하였으므로 &lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/role-based-access-control/built-in-roles#user-access-administrator?AZ-MVP-5004005&quot;&gt;사용자 액세스 관리자&lt;/a&gt; 역할(Azure 역할)이 부여된 결과이다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7069&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;TDG_VSE&lt;/b&gt; 구독의 권한 할당 현황을 다시 살펴보면&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;171&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIHRGy/btsNM8hmhj0/vI8FlCT8nzKrQKGA0dhVrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIHRGy/btsNM8hmhj0/vI8FlCT8nzKrQKGA0dhVrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIHRGy/btsNM8hmhj0/vI8FlCT8nzKrQKGA0dhVrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIHRGy%2FbtsNM8hmhj0%2FvI8FlCT8nzKrQKGA0dhVrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;745&quot; height=&quot;171&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;171&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7104&quot; data-ke-size=&quot;size16&quot;&gt;해당 사용자에 대해 &lt;b&gt;사용자 엑세스 관리자&lt;/b&gt; 역할이 할당되었음을 확인할 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7150&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7152&quot; data-ke-size=&quot;size16&quot;&gt;이 핸즈온을 통해 우리는 Azure Role 및 Entra ID Role에 대해 그리고 그 관계에 대해 이해할 수 있게 되었다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;7226&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://zerobig-k8s.tistory.com/166&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다음 편&lt;/a&gt;에서는 Azure Policy에 대해 확인해 보도록 하겠다.&lt;/p&gt;</description>
      <category>Azure 기타</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/165</guid>
      <comments>https://zerobig-k8s.tistory.com/165#entry165comment</comments>
      <pubDate>Wed, 7 May 2025 08:04:31 +0900</pubDate>
    </item>
    <item>
      <title>AZ-104 핸즈온 : Microsoft Entra ID ID 관리 P2 - Azure RBAC(Azure role-based access control) 1</title>
      <link>https://zerobig-k8s.tistory.com/164</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;189&quot; data-ke-size=&quot;size16&quot;&gt;클라우드 리소스에 대한 액세스 관리는 클라우드에서 가장 기본이 되고 중요한 기능이다. Azure RBAC(Azure role-based access control)은 중요한 도구로서 역할 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;299&quot; data-ke-size=&quot;size16&quot;&gt;Azure RBAC는 &lt;a style=&quot;color: #000000;&quot; href=&quot;https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/overview&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;Azure Resource Manager&lt;/a&gt;를 기반으로 구축된 권한 부여 시스템으로, Azure 리소스에 대한 세부적인 액세스 관리를 제공한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;392&quot; data-ke-size=&quot;size16&quot;&gt;Azure RBAC는 사용자, 그룹, 애플리케이션에 대해 세분화된 접근 권한을 부여함으로써 Azure 리소스의 보안과 관리를 효율적으로 수행할 수 있도록 지원한다. 이를 통해 조직은 &amp;ldquo;최소 권한 원칙&amp;rdquo;을 준수하며, 리소스에 대한 접근을 체계적으로 제어할 수 있다. &amp;ldquo;최소 권한 원칙&amp;rdquo;은 제로 트러스트의 핵심이 되는 주요 원칙 중 하나이다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;392&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;392&quot; data-ke-size=&quot;size16&quot;&gt;이번 글은 Azure 및 Microsoft Entra ID 역할에 대한 이론과 그에 따른 핸즈온으로 각각 나누워 게시 하도록 하겠다.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;392&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;392&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;392&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id=&quot;Azure-Role의-이해&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;589&quot;&gt;Azure Role의 이해&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;605&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;1.-RBAC의-기본-개념&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;607&quot; data-ke-size=&quot;size26&quot;&gt;1. &lt;b&gt;RBAC의 기본 개념&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;623&quot; data-ke-size=&quot;size16&quot;&gt;핵심 개념을 간단하게 설명하자면 &quot;누가(Who), 무엇을(What), 어디에서(Where) 할 수 있는가?&quot;를 정의 해주는 것이다. 각각은 다음을 의미한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Who(누가)&lt;/b&gt;: Entra ID 테넌트 내의 사용자, 그룹, 서비스 주체 등의 보안 주체.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What(무엇을)&lt;/b&gt;: 역할 정의(Role Definition)와 역할 할당(Role Assignment)을 통해 보안 주체에게 부여된 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Where(어디에서)&lt;/b&gt;: 역할이 적용되는 범위(Scope)로, 관리 그룹, 구독, 리소스 그룹, 개별 리소스 등에서 설정 가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;923&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;2.-Azure-역할&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;925&quot; data-ke-size=&quot;size26&quot;&gt;2. &lt;b&gt;Azure 역할&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 id=&quot;보안-주체(Security-principal)&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;938&quot; data-ke-size=&quot;size23&quot;&gt;2,1 보안 주체(&lt;b&gt;Security principal&lt;/b&gt;)&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;965&quot; data-ke-size=&quot;size16&quot;&gt;Azure 역할을 사용하면 보안 주체(사용자, 그룹, 서비스 주체 또는 관리 ID)를 대상으로 Azure 구독 내 리소스(VM, VNET, Resource Group 등)에 대한 접근 제어를 할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;367&quot; data-origin-height=&quot;153&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drEaKk/btsMzhNY5fn/nTWYYq7zwnmYLU4l9e5Jv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drEaKk/btsMzhNY5fn/nTWYYq7zwnmYLU4l9e5Jv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drEaKk/btsMzhNY5fn/nTWYYq7zwnmYLU4l9e5Jv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrEaKk%2FbtsMzhNY5fn%2FnTWYYq7zwnmYLU4l9e5Jv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;302&quot; height=&quot;126&quot; data-origin-width=&quot;367&quot; data-origin-height=&quot;153&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1085&quot; data-ke-size=&quot;size16&quot;&gt;Azure의 주요 기본 역할은 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Owner(소유자)&lt;/b&gt;: 리소스에 대한 전체 접근 권한 및 다른 사용자에게 권한 위임 가능.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Contributor(기여자)&lt;/b&gt;: 리소스 생성 및 관리 가능,但 다른 사용자의 접근 권한은 관리 불가.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Reader(읽기 권한자)&lt;/b&gt;: 리소스 조회만 가능, 수정 불가.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;User Access Administrator(사용자 접근 관리자)&lt;/b&gt;: 사용자 접근 권한 관리 가능, 리소스 자체는 관리 불가.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1338&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;역할-정의&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1340&quot; data-ke-size=&quot;size23&quot;&gt;2.2 역할 정의&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1347&quot; data-ke-size=&quot;size16&quot;&gt;역할 정의는 권한의 모음을 말하며 일반적으로 역할이라 칭한다. 역할 정의에는 읽기, 쓰기, 삭제 등 수행할 수 있는 작업이 나열된다. 역할은 소유자와 같은 상위 수준일 수도 있고 가상 머신 리더와 같은 특정 수준일 수도 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;299&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xKHiD/btsMxG8IVTR/qyRqBXip6wYI9DjOltQIwk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xKHiD/btsMxG8IVTR/qyRqBXip6wYI9DjOltQIwk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xKHiD/btsMxG8IVTR/qyRqBXip6wYI9DjOltQIwk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxKHiD%2FbtsMxG8IVTR%2FqyRqBXip6wYI9DjOltQIwk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;559&quot; height=&quot;299&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;299&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1478&quot; data-ke-size=&quot;size16&quot;&gt;Azure에는 가상 머신 기여자 등과 같이 바로 사용할 수 있는 &lt;a style=&quot;color: #000000;&quot; href=&quot;https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;기본 제공 역할&lt;/a&gt;이 포함되어 있다. 더불어 조직의 특정 요구 사항을 충족하지 않는 경우 고유한 &lt;a style=&quot;color: #000000;&quot; href=&quot;https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;Azure 사용자 지정 역&lt;/a&gt;할을 만들 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1593&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;범위(Scope)&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1595&quot; data-ke-size=&quot;size23&quot;&gt;2.3 범위(Scope)&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1606&quot; data-ke-size=&quot;size16&quot;&gt;범위는 액세스가 적용되는 리소스 집합이다. 역할 할당은 계층적 구조(예: 관리 그룹 &amp;rarr; 구독 &amp;rarr; 리소스 그룹 &amp;rarr; 리소스)에서 상속되며, 상위 범위에서 할당된 역할은 하위 범위까지 적용된다. 범위는 부모-자식 관계로 구조화됩니다. 이러한 범위의 모든 수준에서 역할을 할당할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;403&quot; data-origin-height=&quot;352&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ttfiE/btsMw5BuRUY/P3jR04KyFc6GKbC20nAHgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ttfiE/btsMw5BuRUY/P3jR04KyFc6GKbC20nAHgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ttfiE/btsMw5BuRUY/P3jR04KyFc6GKbC20nAHgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FttfiE%2FbtsMw5BuRUY%2FP3jR04KyFc6GKbC20nAHgK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;403&quot; height=&quot;352&quot; data-origin-width=&quot;403&quot; data-origin-height=&quot;352&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1770&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 id=&quot;역할-할당&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1770&quot; data-ke-size=&quot;size23&quot;&gt;2.4 역할 할당&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1777&quot; data-ke-size=&quot;size16&quot;&gt;역할 할당이란 특정 범위를 대상으로 사용자, 그룹, 서비스 주체 또는 관리 ID에 역할 정의를 첨부해주는 프로세스를 말한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1849&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1851&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;3.-Entra-ID-역할&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1853&quot; data-ke-size=&quot;size26&quot;&gt;3. &lt;b&gt;Entra ID 역할&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;1869&quot; data-ke-size=&quot;size16&quot;&gt;Entra ID 테넌트 자체 내에서 관리되는 ID 개체에 대한 액세스를 제공하기 위한 특수한 역할 집합을 의미한다. 이 역할은 Azure 리소스가 존재하는 Azure 구독이 아닌, 사용자나 애플리케이션 또는 디바이스와 같은 Entra ID 리소스에 대해 특정 작업을 수행할 수 있도록 역할을 할당할 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2044&quot; data-ke-size=&quot;size16&quot;&gt;주요 역할은 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Global Administrator(전역 관리자)&lt;/b&gt;: Entra ID 테넌트 전체를 관리할 수 있는 최상위 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;User Administrator(사용자 관리자)&lt;/b&gt;: 사용자 및 그룹 관리 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Billing Administrator(청구 관리자)&lt;/b&gt;: 빌링 관련 작업 수행 권한.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Helpdesk Administrator(헬프데스크 관리자)&lt;/b&gt;: 사용자 비밀번호 재설정 등 헬프데스크 기능 수행 권한.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2296&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2298&quot; data-ke-size=&quot;size16&quot;&gt;일반적으로 역할은 Scope은 테넌트 전체에 적용되지만, 관리 단위(Administrative Unit)를 통해 세부적인 범위의 특정 그룹에만 적용이 가능하다.&lt;/p&gt;
&lt;blockquote data-renderer-start-pos=&quot;2298&quot; data-ke-style=&quot;style3&quot;&gt;Entra ID 관리 단위(Administrative units)&lt;br /&gt;&lt;br /&gt;Entra ID 테넌트 내에서 사용자, 그룹, 디바이스 등의 ID 리소스를 논리적으로 분리하고 관리할 수 있는 컨테이너이다. 대규모 조직에서 ID 리소스를 논리적으로 분리하고, 관리 권한을 세분화하여 보안과 관리 효율성을 높이는 데 유용한 기능이다. 이를 통해 조직은 부서, 지역, 프로젝트별로 관리 책임을 분산하고, 과도한 권한 부여로 인한 보안 위험을 줄일 수 있다.&lt;br /&gt;보다 자세한 내용은 &lt;a href=&quot;https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/administrative-units?AZ-MVP-5004005&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기&lt;/a&gt;를 참조한다.&amp;nbsp;&lt;/blockquote&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2615&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2615&quot; data-ke-size=&quot;size16&quot;&gt;Entra ID 역시 기본 제공 역할 외에 커스텀 역할 생성이 가능하다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2615&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2615&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;4.-Azure-역할-vs-Entra-ID-역할-비교&quot; style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;2661&quot; data-ke-size=&quot;size26&quot;&gt;4. &lt;b&gt;Azure 역할 vs Entra ID 역할 비교&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Azure 역할&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: circle;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;b&gt;대상&lt;/b&gt;: Azure 구독 내 리소스(VM, VNET 등).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;범위&lt;/b&gt;: 관리 그룹, 구독, 리소스 그룹, 개별 리소스.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;주요 역할&lt;/b&gt;: Owner, Contributor, Reader, User Access Administrator.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Entra ID 역할&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: circle;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;b&gt;대상&lt;/b&gt;: Entra ID 테넌트 내 ID 리소스(사용자, 애플리케이션, 디바이스 등).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;범위&lt;/b&gt;: 일반적으로 테넌트 전체, 단, 관리 단위로 세부 범위 설정 가능.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;주요 역할&lt;/b&gt;: Global Administrator, User Administrator, Billing Administrator, Helpdesk Administrator.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3055&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot; data-renderer-start-pos=&quot;3057&quot; data-ke-size=&quot;size16&quot;&gt;기본적으로 Azure 역할과 Microsoft Entra 역할은 별개이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;372&quot; data-origin-height=&quot;297&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bK4Uuv/btsMz57nFT5/FaX6OqqeBV9fzgZvOyZHGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bK4Uuv/btsMz57nFT5/FaX6OqqeBV9fzgZvOyZHGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bK4Uuv/btsMz57nFT5/FaX6OqqeBV9fzgZvOyZHGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbK4Uuv%2FbtsMz57nFT5%2FFaX6OqqeBV9fzgZvOyZHGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;303&quot; height=&quot;242&quot; data-origin-width=&quot;372&quot; data-origin-height=&quot;297&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt;그러나 전역 관리자가 Azure Portal에서 &lt;/span&gt;&lt;b&gt;Azure 리소스에 대한 액세스 관리&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt; 기능을 활성화 하여 액세스 권한을 높이면 특정 테넌트의 모든 구독에 대한 &lt;/span&gt;&lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; href=&quot;https://learn.microsoft.com/ko-kr/azure/role-based-access-control/built-in-roles#user-access-administrator&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;사용자 액세스 관리자&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #292a2e; text-align: start;&quot;&gt; 역할(Azure 역할)이 부여된다. 이 역할을 통해 다른 사용자에게 Azure 리소스에 대한 액세스 권한을 부여할 수 있게 해준다. 다음 핸즈온 세션에서 해당 시나리오를 구현해 보도록 하겠다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;&lt;a href=&quot;https://zerobig-k8s.tistory.com/165&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다음 편&lt;/a&gt;에서 계속&lt;/span&gt;&lt;/p&gt;</description>
      <category>Azure 기타</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/164</guid>
      <comments>https://zerobig-k8s.tistory.com/164#entry164comment</comments>
      <pubDate>Fri, 28 Feb 2025 07:54:41 +0900</pubDate>
    </item>
    <item>
      <title>AZ-104 핸즈온 : Microsoft Entra ID ID 관리 P1 - Entra ID와 Azure 구독 3</title>
      <link>https://zerobig-k8s.tistory.com/163</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;22&quot;&gt;이전 편에서 하나의 구독을 새로운 테넌트 즉, Entra ID로 이동시키고 테넌트에서 새로운 사용자를 생성하는 내용을 다루었다. 이번 편에서는 그룹을 추가하여 라이선스를 할당 하는 등의 실습을 진행하도록 하겠다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;22&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;22&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.3 그룹 생성 &lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;34&quot; data-ke-size=&quot;size16&quot;&gt;이제 그룹을 생성하도록 하겠다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;53&quot; data-ke-size=&quot;size16&quot;&gt;1. Entra ID에서 &lt;b&gt;Groups &lt;/b&gt; &amp;gt; &lt;b&gt;New Group &lt;/b&gt;을 클릭한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;96&quot; data-ke-size=&quot;size16&quot;&gt;2. 다음과 같이 값을 선택 및 입력 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;513&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cj9EKu/btsLAzbVvKk/N6YZUGs6CVAOJmqJa0fOSK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cj9EKu/btsLAzbVvKk/N6YZUGs6CVAOJmqJa0fOSK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cj9EKu/btsLAzbVvKk/N6YZUGs6CVAOJmqJa0fOSK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcj9EKu%2FbtsLAzbVvKk%2FN6YZUGs6CVAOJmqJa0fOSK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;466&quot; height=&quot;445&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;513&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;참고로 지원되는 그룹의 유형에는 다음 2가지가 존재한다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 88px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 16.938%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 39.2635%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;보안 그룹 (Security Group)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.7984%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;Microsoft 365 그룹 (M365 Ggroup)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 16.938%; height: 17px; text-align: center;&quot;&gt;주요 기능&lt;/td&gt;
&lt;td style=&quot;width: 39.2635%; height: 17px;&quot;&gt;&lt;span&gt;보안 및 권한 제어&lt;br /&gt;&lt;/span&gt;&lt;span&gt;공유 리소스에 대한 사용자 및 컴퓨터 액세스를 관리하는 데 사용&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.7984%; height: 17px;&quot;&gt;&lt;span&gt;협업 및 생산성 도구 통합&lt;/span&gt;&lt;br /&gt;&lt;span&gt;그룹 멤버에게 공유 사서함, 일정, 파일, SharePoint 사이트 등에 대한 액세스 권한을 부여하여 협업 기회를 제공&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 16.938%; height: 17px; text-align: center;&quot;&gt;리소스 제공 여부&lt;/td&gt;
&lt;td style=&quot;width: 39.2635%; height: 17px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;리소스 직접 공유 기능 없음&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.7984%; height: 17px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;공유 이메일, 파일, 캘린더, 팀 사이트 자동 제공&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 16.938%; height: 17px; text-align: center;&quot;&gt;협업 중심 여부&lt;/td&gt;
&lt;td style=&quot;width: 39.2635%; height: 17px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;협업 목적이 아닌 보안 관리 중심&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.7984%; height: 17px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;팀 기반 협업 중심&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 16.938%; height: 17px; text-align: center;&quot;&gt;외부 사용자 지원&lt;/td&gt;
&lt;td style=&quot;width: 39.2635%; height: 17px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;제한적&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.7984%; height: 17px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;Guest 사용자 초대 및 협업 가능&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;또한 지원되는 멤버의 유형에는 다음 3가지가 존재한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;동적 멤버 자격 그룹을 사용하려면 Microsoft Entra ID P1 라이선스 또는 Intune for Education 라이선스가 필요하다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;&lt;b&gt;Assigned&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;&lt;b&gt;Dynamic User&amp;nbsp;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center;&quot;&gt;&lt;b&gt;Dinamic Device&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;b&gt;멤버 추가 방법&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;사용자를 수동으로 추가&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;사용자 속성에 따른 조건 기반 규칙 적용&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;디바이스 속성에 따른 조건 기반 규칙 적용&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;&lt;b&gt;사용 사례&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #172b4d; text-align: left;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;관리자가 직접 그룹 멤버를 지정하여 고정된 구성원을 관리해야 하는 경우.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;예: 특정 프로젝트 팀 구성원, VIP 사용자 그룹.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #172b4d; text-align: left;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;사용자의 속성(예: 부서 = &quot;IT&quot;, 직무 = &quot;Manager&quot;)에 따라 자동으로 그룹에 추가되거나 제거되는 경우.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;예: 특정 부서에 소속된 사용자만 접근해야 하는 애플리케이션 그룹.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;background-color: #ffffff; color: #172b4d;&quot;&gt;&lt;span&gt;디바이스 속성(예: OS = &quot;Windows 11&quot;, Intune 등록 상태 = &quot;True&quot;)에 따라 디바이스를 그룹화하는 경우.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;background-color: #ffffff; color: #172b4d;&quot;&gt;&lt;span&gt;예: Windows 11 디바이스에만 적용할 Intune 정책 그룹.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1131&quot; data-ke-size=&quot;size16&quot;&gt;3. &lt;b&gt;create&lt;/b&gt;를 클릭하여 그룹을 생성한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1159&quot; data-ke-size=&quot;size16&quot;&gt;4. &lt;b&gt;Groups&lt;/b&gt; &amp;gt; &lt;b&gt;All groups&lt;/b&gt;로 이동하면 새로 생성한 그룹이 전시되는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;261&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMVChB/btsLCGU9JBT/wjLSuhMG4JmccZRFS4mcvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMVChB/btsLCGU9JBT/wjLSuhMG4JmccZRFS4mcvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMVChB/btsLCGU9JBT/wjLSuhMG4JmccZRFS4mcvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMVChB%2FbtsLCGU9JBT%2FwjLSuhMG4JmccZRFS4mcvk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;535&quot; height=&quot;261&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;261&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;5. 생성된 그룹을 선택하고 &lt;/span&gt;&lt;b&gt;Manage &amp;gt; Members &amp;gt; +Add memebers&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;290&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/CrzKH/btsLBfqSvMV/dWjOmlSuWYFtYrsCaX2wJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/CrzKH/btsLBfqSvMV/dWjOmlSuWYFtYrsCaX2wJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/CrzKH/btsLBfqSvMV/dWjOmlSuWYFtYrsCaX2wJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCrzKH%2FbtsLBfqSvMV%2FdWjOmlSuWYFtYrsCaX2wJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;535&quot; height=&quot;290&quot; data-origin-width=&quot;535&quot; data-origin-height=&quot;290&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;6. &lt;/span&gt;&lt;b&gt;Users &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;탭에서 다음 2 사용자를 선택하여 멤버로 추가한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;545&quot; data-origin-height=&quot;617&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/binKVH/btsLCFu7L0O/WiXll4bMWceqNDXUmoZbs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/binKVH/btsLCFu7L0O/WiXll4bMWceqNDXUmoZbs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/binKVH/btsLCFu7L0O/WiXll4bMWceqNDXUmoZbs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbinKVH%2FbtsLCFu7L0O%2FWiXll4bMWceqNDXUmoZbs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;545&quot; height=&quot;617&quot; data-origin-width=&quot;545&quot; data-origin-height=&quot;617&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;7. 추가한 멤버 2명이 추가된 화면을 볼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;216&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Qn2nE/btsLAihv9pc/AUq4kkDCqe5nNNQBwmNtPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Qn2nE/btsLAihv9pc/AUq4kkDCqe5nNNQBwmNtPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Qn2nE/btsLAihv9pc/AUq4kkDCqe5nNNQBwmNtPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQn2nE%2FbtsLAihv9pc%2FAUq4kkDCqe5nNNQBwmNtPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;540&quot; height=&quot;216&quot; data-origin-width=&quot;540&quot; data-origin-height=&quot;216&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.4 동적 그룹 생성 및 테스트&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;이번 동적 그룹 핸즈온을 수행하기 위해서는 Entra ID P1 라이선스 이상이 필요하다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;1. &lt;/span&gt;&lt;b&gt;CloudEng_Group&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;의 &lt;/span&gt;&lt;b&gt;Properties&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;로 이동하여 &lt;/span&gt;&lt;b&gt;Membership type&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;을 &lt;/span&gt;&lt;b&gt;Dynamic User&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;로 선택 후 &lt;/span&gt;&lt;b&gt;Add dynamic query&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;541&quot; data-origin-height=&quot;309&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dw2Ran/btsLz9xOR2B/KZdxphps8tzC594Uno3c2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dw2Ran/btsLz9xOR2B/KZdxphps8tzC594Uno3c2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dw2Ran/btsLz9xOR2B/KZdxphps8tzC594Uno3c2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdw2Ran%2FbtsLz9xOR2B%2FKZdxphps8tzC594Uno3c2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;541&quot; height=&quot;309&quot; data-origin-width=&quot;541&quot; data-origin-height=&quot;309&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;2. 다음과 같은 내용으로 선택 및 입력하고 &lt;/span&gt;&lt;b&gt;Save &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;한다.&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;b&gt;Properties&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;b&gt;Operator&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;&lt;b&gt;Value&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;jobTitle&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;Equals&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: left;&quot;&gt;Cloud Engineer&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;538&quot; data-origin-height=&quot;242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9HzZJ/btsLBwr3O87/L2dDRkhyxqosUXo8YDpTe0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9HzZJ/btsLBwr3O87/L2dDRkhyxqosUXo8YDpTe0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9HzZJ/btsLBwr3O87/L2dDRkhyxqosUXo8YDpTe0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9HzZJ%2FbtsLBwr3O87%2FL2dDRkhyxqosUXo8YDpTe0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;538&quot; height=&quot;242&quot; data-origin-width=&quot;538&quot; data-origin-height=&quot;242&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;3. 이제 위에서 수행했던 사용자 추가 절차를 참고하여 새로운 사용자를 추가한다. 이때 &lt;/span&gt;&lt;b&gt;Propertie&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;s의 &lt;/span&gt;&lt;b&gt;Job title&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 값을 &lt;/span&gt;&lt;b&gt;Cloud Engineer&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;로 입력한다. 이후 라이선스 할당 실습에서 이 속성 값을 가지는 사용자에 대하여 라이선스 할당이 이루어 질 예정이다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;530&quot; data-origin-height=&quot;767&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdoecH/btsLCKC4Dbh/f7vnYxo4iyGby28CLU4dp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdoecH/btsLCKC4Dbh/f7vnYxo4iyGby28CLU4dp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdoecH/btsLCKC4Dbh/f7vnYxo4iyGby28CLU4dp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdoecH%2FbtsLCKC4Dbh%2Ff7vnYxo4iyGby28CLU4dp1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;406&quot; height=&quot;588&quot; data-origin-width=&quot;530&quot; data-origin-height=&quot;767&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1817&quot; data-ke-size=&quot;size16&quot;&gt;4. 위에서 수행했던 사용자 추가 절차를 참고하여 새로운 사용자를 추가한다. 이때 &lt;b&gt;Propertie&lt;/b&gt;s의 &lt;b&gt;Job title&lt;/b&gt; 값을 &lt;b&gt;Cloud Engineer&lt;/b&gt;로 입력한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1911&quot; data-ke-size=&quot;size16&quot;&gt;5. 이제 &lt;b&gt;GloudEng_Group&lt;/b&gt;의 &lt;b&gt;Mmebers &lt;/b&gt;페이지로 이동하여 멤버 정보를 확인해본다. 다음과 같이 3명의 사용자가 추가되어 있음을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;539&quot; data-origin-height=&quot;233&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GH6X4/btsLzYiYqAs/I93KL7sNvIGp7WcaU6wYgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GH6X4/btsLzYiYqAs/I93KL7sNvIGp7WcaU6wYgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GH6X4/btsLzYiYqAs/I93KL7sNvIGp7WcaU6wYgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGH6X4%2FbtsLzYiYqAs%2FI93KL7sNvIGp7WcaU6wYgk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;539&quot; height=&quot;233&quot; data-origin-width=&quot;539&quot; data-origin-height=&quot;233&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1911&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1911&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1911&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;2.-라이선스-할당-테스트&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2007&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 라이선스 할당 테스트&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2023&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2025&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.1 라이선스 보유 현황 확인&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2044&quot; data-ke-size=&quot;size16&quot;&gt;1. &lt;b&gt;Entra ID&lt;/b&gt;의 &lt;b&gt;Manage &amp;gt; Licenses&lt;/b&gt; 페이지로 이동한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2044&quot; data-ke-size=&quot;size16&quot;&gt;2. &lt;b&gt;Manage &amp;gt; All products &lt;/b&gt;페이지로 이동하면 보유한 제품 현황 및 각 라이선스 정보에 대한 현황을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;533&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bq3iVk/btsLCrjs2FG/GYKiG1zI5tQTky36YI1SBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bq3iVk/btsLCrjs2FG/GYKiG1zI5tQTky36YI1SBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bq3iVk/btsLCrjs2FG/GYKiG1zI5tQTky36YI1SBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbq3iVk%2FbtsLCrjs2FG%2FGYKiG1zI5tQTky36YI1SBk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;533&quot; height=&quot;240&quot; data-origin-width=&quot;533&quot; data-origin-height=&quot;240&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2168&quot; data-ke-size=&quot;size16&quot;&gt;이 중 개 있으며 23개가 가용한 상태이다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2194&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2196&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 Entra ID 역할 부여&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2216&quot; data-ke-size=&quot;size16&quot;&gt;현재 라이선스 할당 추가, 제거 등은 M365 관리 센터에서만 가능한 상태이고 로그인을 하기 위해서는 Entra ID 역할 부여가 필요하므로 먼저 위에서 생성한 사용자 &lt;a style=&quot;color: #000000;&quot; href=&quot;mailto:azure-mvp@thezerobig.com&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;azure-mvp@thezerobig.com&lt;/a&gt; 에 대해 Global Admin 권한을 부여한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2364&quot; data-ke-size=&quot;size16&quot;&gt;1. Entra ID의 Users 리스트에서 &lt;a style=&quot;color: #000000;&quot; href=&quot;mailto:azure-mvp@thezerobig.com&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;azure-mvp@thezerobig.com&lt;/a&gt;를 선택한 후 &lt;b&gt;Assigned roles&lt;/b&gt; 블레이드로 이동한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;278&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcyXWB/btsLBIlOD9R/qX9O3o9kfnnOwrRPGiblU1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcyXWB/btsLBIlOD9R/qX9O3o9kfnnOwrRPGiblU1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcyXWB/btsLBIlOD9R/qX9O3o9kfnnOwrRPGiblU1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcyXWB%2FbtsLBIlOD9R%2FqX9O3o9kfnnOwrRPGiblU1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;278&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;278&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;2. &lt;/span&gt;&lt;b&gt;+ Add assignments&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 선택한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;533&quot; data-origin-height=&quot;175&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kyqsb/btsLBy4sa3i/3ZD7hKY8own8v3GS6Dttm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kyqsb/btsLBy4sa3i/3ZD7hKY8own8v3GS6Dttm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kyqsb/btsLBy4sa3i/3ZD7hKY8own8v3GS6Dttm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fkyqsb%2FbtsLBy4sa3i%2F3ZD7hKY8own8v3GS6Dttm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;533&quot; height=&quot;175&quot; data-origin-width=&quot;533&quot; data-origin-height=&quot;175&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;3. &lt;/span&gt;&lt;b&gt;Select role&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;에서 &lt;/span&gt;&lt;b&gt;Global Administrator&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 선택하고 &lt;/span&gt;&lt;b&gt;Next&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 선택한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;414&quot; data-origin-height=&quot;703&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/n1eMc/btsLBgXAHIv/rWcTOndpY34N5TeHoZpP0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/n1eMc/btsLBgXAHIv/rWcTOndpY34N5TeHoZpP0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/n1eMc/btsLBgXAHIv/rWcTOndpY34N5TeHoZpP0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fn1eMc%2FbtsLBgXAHIv%2FrWcTOndpY34N5TeHoZpP0K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;376&quot; height=&quot;638&quot; data-origin-width=&quot;414&quot; data-origin-height=&quot;703&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;4. &lt;/span&gt;&lt;b&gt;Assignment type&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;을 &lt;/span&gt;&lt;b&gt;Active&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;로 하고 &lt;/span&gt;&lt;b&gt;Enter justification&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;에 Active로 설정하는 근거에 대한 설명 등을 입력 후 &lt;/span&gt;&lt;b&gt;Assign&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;을 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;391&quot; data-origin-height=&quot;704&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/P5bKw/btsLBfqSxUV/CcLTfp9gAfttRVKgGoc1F1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/P5bKw/btsLBfqSxUV/CcLTfp9gAfttRVKgGoc1F1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/P5bKw/btsLBfqSxUV/CcLTfp9gAfttRVKgGoc1F1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP5bKw%2FbtsLBfqSxUV%2FCcLTfp9gAfttRVKgGoc1F1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;362&quot; height=&quot;652&quot; data-origin-width=&quot;391&quot; data-origin-height=&quot;704&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;경고&lt;/b&gt;&lt;br /&gt;Eligible 역할 할당은 사용자가 역할을 활성화(Active)하기 위해 하나 이상의 작업을 수행해야 함을 의미한다. Active 역할 할당은 사용자에게 즉시 역할을 활성화 하려는 경우에 사용한다. &lt;br /&gt;실무에서는 최소 권한 원칙 관행을 따르고 보안 리스크를 최소화 하는 방식으로 진행하는 것을 권장하며 사용자의 Microsoft Entra 역할 할당과 관련한 보다 자세한 내용은 &lt;a href=&quot;https://learn.microsoft.com/ko-kr/entra/identity/role-based-access-control/manage-roles-portal?AZ-MVP-5004005&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기&lt;/a&gt;를 참조한다..&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2876&quot; data-ke-size=&quot;size16&quot;&gt;5. 잠시 후 역할이 부여 된 것을 확인하고 &lt;a style=&quot;color: #000000;&quot; href=&quot;https://admin.microsoft.com/Adminportal/Home?referrer=entra#/licenses&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;M365 Admin Center&lt;/a&gt;로 이동하여 로그인을 수행한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2938&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2940&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2940&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.2 라이선스 할당 테스트&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-renderer-start-pos=&quot;2940&quot; data-ke-style=&quot;style3&quot;&gt;라이선스는 사용자 또는 그룹을 대상으로 할당할 수 있다. 여기서는 그룹을 대상으로 할당하는 시나리오를 기준으로 진행한다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;1. 라이선스 페이지 &lt;/span&gt;&lt;b&gt;구독&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 탭 리스트에서 할당하려는 라이선스를 선택한다. 여기서는 &lt;/span&gt;&lt;b&gt;Microsoft 365 E5 개발자(Windows 및 오디오 회의 제외)&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 기준으로 진행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;2. &lt;/span&gt;&lt;b&gt;그룹&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 탭을 선택하고 &lt;/span&gt;&lt;b&gt;+ 라이선스 할당&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;을 선택한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;493&quot; data-origin-height=&quot;286&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/drWAyC/btsLAgcZUe4/nR2A7ZNJQ1W58MkhRMuKX0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/drWAyC/btsLAgcZUe4/nR2A7ZNJQ1W58MkhRMuKX0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/drWAyC/btsLAgcZUe4/nR2A7ZNJQ1W58MkhRMuKX0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdrWAyC%2FbtsLAgcZUe4%2FnR2A7ZNJQ1W58MkhRMuKX0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;493&quot; height=&quot;286&quot; data-origin-width=&quot;493&quot; data-origin-height=&quot;286&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;3. &lt;/span&gt;&lt;b&gt;CloudEng_Group&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;그룹을 검색하여 선택하고 &lt;/span&gt;&lt;b&gt;할당&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;을 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;549&quot; data-origin-height=&quot;383&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/yjVYW/btsLBwMj0FM/JT2xtG0KCoAjbpQlaisgE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/yjVYW/btsLBwMj0FM/JT2xtG0KCoAjbpQlaisgE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/yjVYW/btsLBwMj0FM/JT2xtG0KCoAjbpQlaisgE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyjVYW%2FbtsLBwMj0FM%2FJT2xtG0KCoAjbpQlaisgE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;366&quot; height=&quot;255&quot; data-origin-width=&quot;549&quot; data-origin-height=&quot;383&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;할당에 대한 확인창이 전시되며 &lt;/span&gt;&lt;b&gt;X&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 눌러 창을 닫는다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;280&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FDsw6/btsLBXbQgkv/RMk1fkvLXmekcU5tSLGzKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FDsw6/btsLBXbQgkv/RMk1fkvLXmekcU5tSLGzKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FDsw6/btsLBXbQgkv/RMk1fkvLXmekcU5tSLGzKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFDsw6%2FbtsLBXbQgkv%2FRMk1fkvLXmekcU5tSLGzKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;365&quot; height=&quot;122&quot; data-origin-width=&quot;838&quot; data-origin-height=&quot;280&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;3247&quot; data-ke-size=&quot;size16&quot;&gt;4. 이제 그룹에 속한 사용자의 계정에 대해 라이선스 할당 여부를 검증한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;3293&quot; data-ke-size=&quot;size16&quot;&gt;먼저 &lt;a style=&quot;color: #000000;&quot; href=&quot;mailto:demouser01@thezerobig.com&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;demouser01@thezerobig.com&lt;/a&gt; 계정으로 &lt;a href=&quot;https://myapplications.microsoft.com&quot;&gt;https://myapplications.microsoft.com&lt;/a&gt;에 로그인 하여 결과를 확인한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;3383&quot; data-ke-size=&quot;size16&quot;&gt;m365e54zerobig 테넌트 내 &lt;a style=&quot;color: #000000;&quot; href=&quot;mailto:demouser01@thezerobig.com&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;demouser01@thezerobig.com&lt;/a&gt; 사용자에게 할당된 M365 라이선스로부터 사용 가능한 앱 리스트가 전시되는 것을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1120&quot; data-origin-height=&quot;515&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GPiaB/btsLBWDYk87/twSDds1ZHKNjeQQwzHweX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GPiaB/btsLBWDYk87/twSDds1ZHKNjeQQwzHweX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GPiaB/btsLBWDYk87/twSDds1ZHKNjeQQwzHweX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGPiaB%2FbtsLBWDYk87%2FtwSDds1ZHKNjeQQwzHweX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1120&quot; height=&quot;515&quot; data-origin-width=&quot;1120&quot; data-origin-height=&quot;515&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;이 중 Teams를 선택하여 로그인 해보면 정상적으로 사용이 가능함을 알 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1116&quot; data-origin-height=&quot;624&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYWggs/btsLB2qOp0c/FUzcK9qUptp6lFSTJYTFKK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYWggs/btsLB2qOp0c/FUzcK9qUptp6lFSTJYTFKK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYWggs/btsLB2qOp0c/FUzcK9qUptp6lFSTJYTFKK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYWggs%2FbtsLB2qOp0c%2FFUzcK9qUptp6lFSTJYTFKK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1116&quot; height=&quot;624&quot; data-origin-width=&quot;1116&quot; data-origin-height=&quot;624&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;다음 &lt;/span&gt;&lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; href=&quot;mailto:zer0big@naver.com&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;zer0big@naver.com&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 계정으로 &lt;/span&gt;&lt;a href=&quot;https://myapplications.microsoft.com&quot;&gt;https://myapplications.microsoft.com&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;에 로그인 하여 결과를 확인한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;523&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ApeZp/btsLCEJLl1k/ioeKkKdJQgeMjoeJT5G6kK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ApeZp/btsLCEJLl1k/ioeKkKdJQgeMjoeJT5G6kK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ApeZp/btsLCEJLl1k/ioeKkKdJQgeMjoeJT5G6kK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FApeZp%2FbtsLCEJLl1k%2FioeKkKdJQgeMjoeJT5G6kK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1130&quot; height=&quot;523&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;523&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;최초 로그인 시도 시 앱 대시보드 화면이 비워 있는 것과는 달리 역시 M365 관련 앱들이 전시된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;Guest 사용자에 대한 라이선스 할당 이슈&lt;/b&gt;&lt;br /&gt;이 글을 작성하기 위해 테스트를 반복하는 과정에서 외부 게스트 사용자에 대한 (여기서는 zer0big@naver.com) 라이선스 할당이 정상적으로 이루어 지지 않는 현상을 체험했다. (이 부분에 대한 확인을 위해 상당 시간이 소요 되었다.) 공식적으로는 할당이 불가하다는 내용을 확인했다. 이와 관련해서는 &lt;a href=&quot;https://techcommunity.microsoft.com/discussions/admincenter/assign-external-users-full-office-365-licenses/1188309&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;여기&lt;/a&gt;를 참조한다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;content&quot; data-testid=&quot;page-content-only&quot; data-inline-comments-target=&quot;true&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div id=&quot;main-content&quot; data-test-appearance=&quot;full-page&quot; data-testid=&quot;pageContentRendererTestId&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #000000;&quot;&gt;
&lt;div&gt;
&lt;p data-renderer-start-pos=&quot;3898&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://zerobig-k8s.tistory.com/164&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다음 편&lt;/a&gt;에서는 Azure의 Role과 Access Control에 대한 핸즈온을 시행해 보도록 하겠다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Azure 기타</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/163</guid>
      <comments>https://zerobig-k8s.tistory.com/163#entry163comment</comments>
      <pubDate>Tue, 31 Dec 2024 08:20:36 +0900</pubDate>
    </item>
    <item>
      <title>AZ-104 핸즈온 : Microsoft Entra ID ID 관리 P1 - Entra ID와 Azure 구독 2</title>
      <link>https://zerobig-k8s.tistory.com/162</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;이번 편에서는 하나의 구독을 새로운 테넌트 즉, Entra ID로 이동시키고 테넌트에서 새로운 사용자 및 그룹을 추가하여 라이선스를 할당 하는 등의 실습을 진행하도록 하겠다. 핸즈온 내용이 다소 방대해서 2편으로 나누어 정리 및 게시하도록 하겠다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;122&quot; data-ke-size=&quot;size16&quot;&gt;조직에는 여러 Azure 구독이 있을 수 있다. 각 구독은 특정 Microsoft Entra 디렉터리와 연결된다. 관리의 용이성 등의 목적으로 임의의 구독을 다른 Microsoft Entra 디렉터리로 이동시킬 수 있다. 이 때 Azure RBAC의 모든 역할 할당들은 대상 디렉터리로 전송되지 않고 영구적으로 유실되므로 사전에 신중하게 계획하고 실행해야 한다. 이와 관련한 상세한 내용은 &lt;a style=&quot;color: #000000;&quot; href=&quot;https://learn.microsoft.com/en-us/azure/role-based-access-control/transfer-subscription?AZ-MVP-5004005&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;여기&lt;/a&gt;를 참조한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;122&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;351&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;핸즈온-1-:-Azure-구독-Microsoft-디렉토리-연결&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;353&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;핸즈온 1 : Azure 구독 Microsoft 디렉토리 연결&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;389&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;목표&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;391&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;목표&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;소스 디렉토리(&lt;b&gt;ssprdemo&lt;/b&gt;)에 연결된 TDG_VSE 구독을 타겟 디렉토리(&lt;a style=&quot;color: #000000;&quot; href=&quot;http://thezerobig.com/&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;&lt;b&gt;thezerobig.com&lt;/b&gt;&lt;/a&gt;)으로 이동(연결) 시킨다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;566&quot; data-origin-height=&quot;294&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oPWKS/btsLoAPASkZ/Y7M3ofSVyffHoX1IgUB3R1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oPWKS/btsLoAPASkZ/Y7M3ofSVyffHoX1IgUB3R1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oPWKS/btsLoAPASkZ/Y7M3ofSVyffHoX1IgUB3R1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoPWKS%2FbtsLoAPASkZ%2FY7M3ofSVyffHoX1IgUB3R1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;566&quot; height=&quot;294&quot; data-origin-width=&quot;566&quot; data-origin-height=&quot;294&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;사전-요구-사항&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;479&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;사전 요구 사항&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Azure 구독에 대한 소유자 역할이 있는 계정&lt;/li&gt;
&lt;li&gt;Microsoft Entra ID 디렉토리를 생성할 권한이 있는 계정&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;563&quot; data-ke-size=&quot;size16&quot;&gt;-------------------------------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;710&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;핸즈온-단계&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;713&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;핸즈온 단계&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h3 id=&quot;1.-소스-디렉토리-작업&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;721&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 소스 디렉토리 작업 &lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;737&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 Azure Portal 로그인 및 디렉토리 변경 &lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;770&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://portal.azure.com/&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;Azure Portal&lt;/a&gt;에 로그인하고 상단에 &lt;b&gt;&amp;rarr; Change directory&lt;/b&gt;를 선택한다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;563&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7adMQ/btsLphvuBgf/bixlNq9pS9oLaicEozXNE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7adMQ/btsLphvuBgf/bixlNq9pS9oLaicEozXNE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7adMQ/btsLphvuBgf/bixlNq9pS9oLaicEozXNE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7adMQ%2FbtsLphvuBgf%2FbixlNq9pS9oLaicEozXNE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;837&quot; height=&quot;563&quot; data-origin-width=&quot;837&quot; data-origin-height=&quot;563&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;정상적으로 변경이 된 경우, 디렉토리 변경에 대한 알림이 팝업된다. 실제 대상 디렉토리에 해당 구독이 전시되는데 약 10분 정도 소요될 수 있음을 안내한다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3YO52/btsLn5Jpks8/qklKWPqQIDtfBMEsLL4xcK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3YO52/btsLn5Jpks8/qklKWPqQIDtfBMEsLL4xcK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3YO52/btsLn5Jpks8/qklKWPqQIDtfBMEsLL4xcK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3YO52%2FbtsLn5Jpks8%2FqklKWPqQIDtfBMEsLL4xcK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;426&quot; height=&quot;103&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;103&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;2.-타겟-디렉토리-작업&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;974&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 타겟 디렉토리 작업 &lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;990&quot; data-ke-size=&quot;size16&quot;&gt;타겟 디렉토리로 이동하여 구독 리스트를 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;287&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bRSKyI/btsLpPFfsSk/UpkDhHKjukE5lRnwVXru2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bRSKyI/btsLpPFfsSk/UpkDhHKjukE5lRnwVXru2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bRSKyI/btsLpPFfsSk/UpkDhHKjukE5lRnwVXru2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRSKyI%2FbtsLpPFfsSk%2FUpkDhHKjukE5lRnwVXru2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;826&quot; height=&quot;287&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;287&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;TDG_VSE 구독의 &lt;/span&gt;&lt;b&gt;Overview&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 블레이드에서 디렉토리 정보를 확인한다. 기존 &lt;/span&gt;&lt;b&gt;ssprdemo&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;에서 &lt;/span&gt;&lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; href=&quot;http://thezerobig.com/&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;&lt;b&gt;thezerobig.com&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 디렉토리로 변경된 것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bduniA/btsLowfmDys/FuyjZFRsqTkt2kNHGV08j1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bduniA/btsLowfmDys/FuyjZFRsqTkt2kNHGV08j1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bduniA/btsLowfmDys/FuyjZFRsqTkt2kNHGV08j1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbduniA%2FbtsLowfmDys%2FFuyjZFRsqTkt2kNHGV08j1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;825&quot; height=&quot;472&quot; data-origin-width=&quot;825&quot; data-origin-height=&quot;472&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;참고:&lt;/b&gt;&lt;br /&gt;이후 세션에서 시행할 라이선스 할당 핸즈온 등의 환경 준비를 위해 기존 핸즈온을 통해 수행한 Azure 구독(&lt;b&gt;TDG_VSE&lt;/b&gt;)을 최종적으로 새로운 디렉토리에 &lt;b&gt;m365e54zerobig(1560ed56&amp;hellip;)&lt;/b&gt; 연결하고 이 디렉토리에서 &lt;b&gt;thezerobig.com&lt;/b&gt; 으로 커스텀 도메인 후 기본 디렉토리로 적용했다. 필자의 경우, 이 새로운 디렉토리 즉, 테넌트에 &lt;br /&gt;&lt;b&gt;Microsoft 365 E5 Developer (without Windows and Audio Conferencing)&lt;/b&gt; 가 총 25개 존재하게 때문이다.&lt;br /&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;694&quot; data-origin-height=&quot;185&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NmU6Y/btsLpjz2RA4/9uZJDiH6wokhWbIVMgIUUK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NmU6Y/btsLpjz2RA4/9uZJDiH6wokhWbIVMgIUUK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NmU6Y/btsLpjz2RA4/9uZJDiH6wokhWbIVMgIUUK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNmU6Y%2FbtsLpjz2RA4%2F9uZJDiH6wokhWbIVMgIUUK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;694&quot; height=&quot;185&quot; data-origin-width=&quot;694&quot; data-origin-height=&quot;185&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;핸즈온-2-:-테넌트-내-사용자-및-그룹-생성과-라이선스-할당&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1419&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;핸즈온 2 : 테넌트 내 사용자 및 그룹 생성과 라이선스 할당&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1455&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;목표.1&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1457&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;목표&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Microsoft Entra ID에서 사용자와 그룹 생성.&lt;/li&gt;
&lt;li&gt;사용자 및 그룹에 Microsoft 365 라이선스 할당.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;M365 라이선스 할당에 대한 내용은 AZ-104에서 다루는 영역은 아니다. Azure와 Microsoft 365(M365)의 테넌트는 각기 다른 목적과 역할을 가지고 있지만 실무적으로 서로 분리하여 생각할 수 없는 긴밀성과 연결고리가 존재한다. Azure와 M365가 하나의 Entra ID 테넌트를 공유함으로써 조직은 ID 및 액세스 관리를 중앙에서 효율적으로 수행할 수 있으며, 보안과 사용자 경험을 모두 향상시킬 수 있다. 이번 핸즈온에서는 테넌트 내 생성된 사용자를 대상으로 M365 라이선스를 할당하고 Azure의 역할을 할당하는 정도의 시나리오만 다룰 예정이다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;핸즈온-단계.1&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1869&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;핸즈온 단계&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h3 id=&quot;1.-사용자-및-그룹-생성&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1877&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 사용자 및 그룹 생성&lt;/b&gt;&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;1893&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.1 새 사용자 생성 (내부 멤버)&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-renderer-start-pos=&quot;1893&quot; data-ke-style=&quot;style3&quot;&gt;Microsoft Entra ID에서 사용자 유형은 간략하게 다음과 같으며 자세한 내용은 여기를 참조한다. &lt;br /&gt;- &lt;b&gt;내부 멤버&lt;/b&gt;: 조직(테넌트)의 정규직원일 가능성이 높다.&lt;br /&gt;- &lt;b&gt;내부 게스트&lt;/b&gt;: 테넌트 내 계정을 가지고 있지만 게스트 수준 권한을 갖는다. B2B 협업을 사용할 수 있게 되기 전에 테넌트 내에서 생성되었을 수 있다.&lt;br /&gt;- &lt;b&gt;외부 멤버&lt;/b&gt;: 외부 계정을 사용하여 인증하지만 테넌트에서 구성원에 액세스할 수 있다. 이러한 형식의 사용자는 다중 테넌트 조직에서 일반적이다.&lt;br /&gt;- &lt;b&gt;외부 게스트&lt;/b&gt;: 외부의 방식을 사용해 인증하고 게스트 수준 권한을 가진 테넌트 내의 진정한 게스트이다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;1. Entra ID에서 &lt;/span&gt;&lt;b&gt;Users &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; &amp;gt; + &lt;/span&gt;&lt;b&gt;New user &amp;gt; Create new user&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMmgK2/btsLpgi2I2e/N0B9J0wk7iFJkOBFlx9Kl1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMmgK2/btsLpgi2I2e/N0B9J0wk7iFJkOBFlx9Kl1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMmgK2/btsLpgi2I2e/N0B9J0wk7iFJkOBFlx9Kl1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMmgK2%2FbtsLpgi2I2e%2FN0B9J0wk7iFJkOBFlx9Kl1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;537&quot; height=&quot;242&quot; data-origin-width=&quot;537&quot; data-origin-height=&quot;242&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;2. &lt;/span&gt;&lt;b&gt;Basics&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 탭에서 &lt;/span&gt;&lt;b&gt;user principal name&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;, &lt;/span&gt;&lt;b&gt;Display name&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 등을 입력하고 &lt;/span&gt;&lt;b&gt;Next Properties&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;529&quot; data-origin-height=&quot;693&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MAwSs/btsLqNzXohq/tB2KV5rZTiZrlWDkaqLPz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MAwSs/btsLqNzXohq/tB2KV5rZTiZrlWDkaqLPz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MAwSs/btsLqNzXohq/tB2KV5rZTiZrlWDkaqLPz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMAwSs%2FbtsLqNzXohq%2FtB2KV5rZTiZrlWDkaqLPz1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;529&quot; height=&quot;693&quot; data-origin-width=&quot;529&quot; data-origin-height=&quot;693&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;3. &lt;/span&gt;&lt;b&gt;Properties&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 탭에서 기본적인 속성 정보를 입력하고 &lt;/span&gt;&lt;b&gt;Review + create&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭 하고 다시 &lt;/span&gt;&lt;b&gt;create&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭하여 사용자를 생성한다. 여기서&lt;/span&gt;&lt;b&gt; Job title&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 속성 값이 &lt;/span&gt;&lt;b&gt;Cloud Engineer&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 인 점을 주목한다. 후에 해당 값을 조건으로 해서 라이선스 할당 테스트를 시행할 예정이다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;505&quot; data-origin-height=&quot;647&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKrjxp/btsLp3QLtGh/JCsO1QunSFVsQjDUt7k4yk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKrjxp/btsLp3QLtGh/JCsO1QunSFVsQjDUt7k4yk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKrjxp/btsLp3QLtGh/JCsO1QunSFVsQjDUt7k4yk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKrjxp%2FbtsLp3QLtGh%2FJCsO1QunSFVsQjDUt7k4yk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;505&quot; height=&quot;647&quot; data-origin-width=&quot;505&quot; data-origin-height=&quot;647&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;4.&lt;/span&gt;&lt;b&gt; Users &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;블레이드에서 &lt;/span&gt;&lt;b&gt;Refresh&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭하면 새로 생성된 사용자가 전시되는 것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;185&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCbwCh/btsLpGhtnhS/4V7qe6j9al545nldG2Q1v0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCbwCh/btsLpGhtnhS/4V7qe6j9al545nldG2Q1v0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCbwCh/btsLpGhtnhS/4V7qe6j9al545nldG2Q1v0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCbwCh%2FbtsLpGhtnhS%2F4V7qe6j9al545nldG2Q1v0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;185&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;185&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2633&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.2 외부 게스트 사용자 생성&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2652&quot; data-ke-size=&quot;size16&quot;&gt;1. Entra ID에서 &lt;b&gt;Users &lt;/b&gt; &amp;gt; &lt;b&gt;+ New user &amp;gt; Invite external user&lt;/b&gt;를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;257&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QKULU/btsLpBtG5s6/yzFMKMoKsgfNOpn4XzXUi1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QKULU/btsLpBtG5s6/yzFMKMoKsgfNOpn4XzXUi1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QKULU/btsLpBtG5s6/yzFMKMoKsgfNOpn4XzXUi1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQKULU%2FbtsLpBtG5s6%2FyzFMKMoKsgfNOpn4XzXUi1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;257&quot; data-origin-width=&quot;532&quot; data-origin-height=&quot;257&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;2. &lt;/span&gt;&lt;b&gt;Basics&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 탭에서 &lt;/span&gt;&lt;b&gt;Email&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;, &lt;/span&gt;&lt;b&gt;Display name&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 및 초대 메시지 등을 입력하고 &lt;/span&gt;&lt;b&gt;Next Properties&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;504&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHx4R2/btsLqNzXqKo/l4GvArUbXwrILcmoKajxk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHx4R2/btsLqNzXqKo/l4GvArUbXwrILcmoKajxk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHx4R2/btsLqNzXqKo/l4GvArUbXwrILcmoKajxk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHx4R2%2FbtsLqNzXqKo%2Fl4GvArUbXwrILcmoKajxk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;550&quot; height=&quot;504&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;504&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;3. &lt;/span&gt;&lt;b&gt;Properties&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 탭에서 기본적인 속성 정보를 입력하고 &lt;/span&gt;&lt;b&gt;Review + create&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭 하고 다시 &lt;/span&gt;&lt;b&gt;create&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭하여 사용자를 생성한다. 여기서&lt;/span&gt;&lt;b&gt; Job title&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 속성 값이 &lt;/span&gt;&lt;b&gt;Cloud Engineer&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 인 점을 주목한다. 후에 해당 값을 조건으로 해서 라이선스 할당 테스트를 시행할 예정이다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;549&quot; data-origin-height=&quot;664&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKLy7S/btsLp9KeMF0/rCgZvIvnmV0xHIvzAm6UJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKLy7S/btsLp9KeMF0/rCgZvIvnmV0xHIvzAm6UJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKLy7S/btsLp9KeMF0/rCgZvIvnmV0xHIvzAm6UJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKLy7S%2FbtsLp9KeMF0%2FrCgZvIvnmV0xHIvzAm6UJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;549&quot; height=&quot;664&quot; data-origin-width=&quot;549&quot; data-origin-height=&quot;664&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;4. 이제 NAVER 메일 수신함에 초대 메일이 수신됨을 확인할 수 있다. &lt;/span&gt;&lt;b&gt;Accept invitation&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;을 클릭하여 초대 수락 과정을 진행한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;536&quot; data-origin-height=&quot;482&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VjRvO/btsLn69gS9h/0GI7hb8cIJPYRtSRu5m0a1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VjRvO/btsLn69gS9h/0GI7hb8cIJPYRtSRu5m0a1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VjRvO/btsLn69gS9h/0GI7hb8cIJPYRtSRu5m0a1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVjRvO%2FbtsLn69gS9h%2F0GI7hb8cIJPYRtSRu5m0a1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;536&quot; height=&quot;482&quot; data-origin-width=&quot;536&quot; data-origin-height=&quot;482&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;5. &lt;/span&gt;&lt;b&gt;권한 요청&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 창에서 동의함을 클릭한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;457&quot; data-origin-height=&quot;648&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/da9rEb/btsLqbuwuc9/HTZTh7IluBVNe86keK6JsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/da9rEb/btsLqbuwuc9/HTZTh7IluBVNe86keK6JsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/da9rEb/btsLqbuwuc9/HTZTh7IluBVNe86keK6JsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fda9rEb%2FbtsLqbuwuc9%2FHTZTh7IluBVNe86keK6JsK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;457&quot; height=&quot;648&quot; data-origin-width=&quot;457&quot; data-origin-height=&quot;648&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;6. 동의가 이루어지면, 해당 계정에 대한 앱 대시보드 화면이 전시된다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;953&quot; data-origin-height=&quot;432&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wxTWY/btsLqPYPvS0/1x3RsDfdiEQ4ekxjHrPsuK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wxTWY/btsLqPYPvS0/1x3RsDfdiEQ4ekxjHrPsuK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wxTWY/btsLqPYPvS0/1x3RsDfdiEQ4ekxjHrPsuK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwxTWY%2FbtsLqPYPvS0%2F1x3RsDfdiEQ4ekxjHrPsuK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;953&quot; height=&quot;432&quot; data-origin-width=&quot;953&quot; data-origin-height=&quot;432&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;이후 라이선스 할당 테스트 단계에서 위 대시보드에 할당된 라이선스들이 전시될 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;&lt;a href=&quot;https://zerobig-k8s.tistory.com/163&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다음 편&lt;/a&gt;에서 계속&lt;/span&gt;&lt;/p&gt;</description>
      <category>Azure 기타</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/162</guid>
      <comments>https://zerobig-k8s.tistory.com/162#entry162comment</comments>
      <pubDate>Fri, 20 Dec 2024 08:17:32 +0900</pubDate>
    </item>
    <item>
      <title>AZ-104 핸즈온 : Microsoft Entra ID ID 관리 P1 - Entra ID와 Azure 구독 1</title>
      <link>https://zerobig-k8s.tistory.com/161</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;20&quot;&gt;Azure 클라우드 내부에서 최소의 단위는 Resource이며 가상 머신, 스토리지 계정, 가상 네트워크 등등을 의미한다. 이러한 리소스들을 Resource Group 이라는 논리적 컨테이너로 묶어 관리할 수 있다. 함께 수명주기를 공유하고, 모니터링, 액세스 제어 및 배포 설정 등을 할 수 있다. 또한 리소스 그룹을 사용하여 리소스를 기능, 프로젝트 또는 애플리케이션 별로 논리적으로 구성할 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;248&quot;&gt;Azure 구독은 실제 리소스의 경계이며, 리소스 그룹과 리소스 그룹에 포함된 모든 관련 리소스를 함께 그룹화하는 논리적 구조이다. 구독은 Azure Cloud 비용을 결정하기 위한 청구 단위로 사용된다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;365&quot;&gt;Azure 구독은 항상 하나의 Microsoft Entra 테넌트에만 연결할 수 있다. Azure 구독을 활성화 하면 기본적으로 하나의 고유 테넌트에 연결이 된 상태가 된다. 이 연결을 통해 특정 Microsoft Entra 테넌트에 존재하는 사용자, 그룹 및 애플리케이션에 Azure 구독의 리소스에 대한 권한을 (RBAC를 통해) 부여할 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;565&quot;&gt;여기서 테넌트라는 용어는 일반적으로 Microsoft 365, Intune 또는 Azure와 같은 Microsoft 클라우드 기반 서비스 구독에 등록한 회사 또는 조직을 나타내며, 각 서비스는 Microsoft Entra ID를 사용한다. 하지만 기술적인 관점에서 테넌트라는 용어는 개별 Microsoft Entra 인스턴스를 나타낸다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;756&quot;&gt;Azure 구독 내에서 여러 Microsoft Entra 테넌트를 만들 수 있다. 다른 테넌트에 영향을 주지 않고 한 테넌트에서 Microsoft Entra 기능을 테스트하려는 경우 여러 개의 Microsoft Entra 테넌트를 보유하는 것이 편리할 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;908&quot;&gt;GhatGPT에게 Entra ID와 Azure 구독에 대한 관계를 설명해달라고 해 봤다. 결과는 다음과 같다.&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p style=&quot;color: #666666;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;972&quot;&gt;&lt;b&gt;Entra ID와 Azure 구독의 관계&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #666666;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;996&quot;&gt;&lt;b&gt;Microsoft Entra ID&lt;/b&gt;는 Azure 리소스에 대한 인증 및 권한 부여를 담당하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Identity as a Service (IDaaS)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;플랫폼입니니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot; data-indent-level=&quot;1&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;&lt;b&gt;Entra ID 역할&lt;/b&gt;: 사용자의 인증과 액세스를 관리하며 Azure 구독에 할당된 리소스의 보안을 강화합니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;&lt;b&gt;Azure 구독&lt;/b&gt;: 리소스 사용과 청구 관리를 위한 Azure의 기본 단위입니다. Entra ID는 Azure 구독의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;ID 공급자&lt;/b&gt;로 작동합니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;&lt;b&gt;주요 연결점&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot; data-indent-level=&quot;2&quot;&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;Entra ID에 등록된 사용자 및 그룹은 Azure 구독의 리소스에 대해 권한을 할당 받을 수 있습니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;역할 기반 액세스 제어 (RBAC)를 통해 Entra ID 사용자와 그룹은 Azure 구독 및 리소스에 접근 권한을 부여 받습니다.&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot;&gt;각 Azure 구독은 Entra ID 테넌트와 연결됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1428&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1430&quot;&gt;이제 이 개념을 토대로 핸즈온을 해보록 하자.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1430&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1430&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1457&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;핸즈온:-Entra-ID와-Azure-구독-관계-실습&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-renderer-start-pos=&quot;1459&quot;&gt;&lt;b&gt;핸즈온: Entra ID와 Azure 구독 관계 실습&lt;/b&gt;&lt;/h3&gt;
&lt;h4 id=&quot;목표&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size20&quot; data-renderer-start-pos=&quot;1492&quot;&gt;&lt;b&gt;목표&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-list-type=&quot;disc&quot; data-indent-level=&quot;1&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;Entra ID 테넌트를 이해하고 Azure 구독에 사용자 및 그룹을 할당하여 권한을 테스트한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;사전-요구-사항&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size20&quot; data-renderer-start-pos=&quot;1557&quot;&gt;&lt;b&gt;사전 요구 사항&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-list-type=&quot;disc&quot; data-indent-level=&quot;1&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;Azure 구독&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;Entra ID 관리자 권한&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-------------------------------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1601&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;핸즈온-단계&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size20&quot; data-renderer-start-pos=&quot;1603&quot;&gt;&lt;b&gt;핸즈온 단계&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h3 id=&quot;1.-Entra-ID-테넌트-확인&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-renderer-start-pos=&quot;1611&quot;&gt;&lt;b&gt;1. Entra ID 테넌트 확인&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h4 id=&quot;1.1-Azure-Portal-로그인&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size20&quot; data-renderer-start-pos=&quot;1631&quot;&gt;&lt;b&gt;1.1 Azure Portal 로그인&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1653&quot;&gt;&lt;a style=&quot;color: #3db39e;&quot; href=&quot;https://portal.azure.com/&quot;&gt;Azure Portal&lt;/a&gt;에 로그인한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1675&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1677&quot;&gt;&lt;b&gt;1.2 테넌트 정보 확인&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1692&quot;&gt;상단 검색창에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Entra ID&lt;/b&gt;를 입력하고 선택한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;304&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dlLfrj/btsK4rjOpwA/AndXmKoPivd4aosIX4eGb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dlLfrj/btsK4rjOpwA/AndXmKoPivd4aosIX4eGb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dlLfrj/btsK4rjOpwA/AndXmKoPivd4aosIX4eGb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdlLfrj%2FbtsK4rjOpwA%2FAndXmKoPivd4aosIX4eGb1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;796&quot; height=&quot;304&quot; data-origin-width=&quot;796&quot; data-origin-height=&quot;304&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;1726&quot;&gt;&lt;b&gt;Overveiw&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;탭에서 현재 테넌트 이름과 ID, 기본 도메인 및 라이선스 정보를 확인할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-layout=&quot;align-start&quot; data-width=&quot;730&quot; data-width-type=&quot;pixel&quot; data-node-type=&quot;mediaSingle&quot; data-renderer-start-pos=&quot;1783&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-type=&quot;file&quot; data-node-type=&quot;media&quot; data-width=&quot;839&quot; data-height=&quot;462&quot; data-id=&quot;3f0a36ae-7c28-4c77-957a-22055ffc74a6&quot; data-collection=&quot;contentId-179273744&quot; data-file-name=&quot;image-20241126-065044.png&quot; data-file-size=&quot;49681&quot; data-file-mime-type=&quot;image/png&quot; data-alt=&quot;image-20241126-065044.png&quot; data-renderer-start-pos=&quot;1784&quot; data-context-id=&quot;179273744&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;923&quot; data-origin-height=&quot;508&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Wvlsc/btsK3lqWXDa/gMRwvjBKHLxjNkbA1uVZ2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Wvlsc/btsK3lqWXDa/gMRwvjBKHLxjNkbA1uVZ2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Wvlsc/btsK3lqWXDa/gMRwvjBKHLxjNkbA1uVZ2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWvlsc%2FbtsK3lqWXDa%2FgMRwvjBKHLxjNkbA1uVZ2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;923&quot; height=&quot;508&quot; data-origin-width=&quot;923&quot; data-origin-height=&quot;508&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;가 Microsoft Entra 테넌트에는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;domainname.onmicrosoft.com&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;과 같은 초기 도메인 이름이 제공된다. 이 초기 도메인 이름은 변경하거나 삭제할 수는 없다. 이 도메인에 하나 이상의 사용자 지정 도메인 이름을 추가하여 대신 사용할 수 있으며 이것이 실무에서는 일반적이며 실제로 필자 소유의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; href=&quot;http://thezerobig.com/&quot; data-testid=&quot;link-with-safety&quot; data-renderer-mark=&quot;true&quot;&gt;thezerobig.com&lt;/a&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;도메인을 추가하여 기본 도메인으로 사용해 보도록 하자.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot;&gt;-------------------------------------------------------------------------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;2.-사용자-지정-도메인-추가하기&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-renderer-start-pos=&quot;2011&quot;&gt;&lt;b&gt;2. 사용자 지정 도메인 추가하기&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h4 id=&quot;2.1-사용자-지정-도메인-이름-추가&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size20&quot; data-renderer-start-pos=&quot;2032&quot;&gt;&lt;b&gt;2.1 사용자 지정 도메인 이름 추가&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;2054&quot;&gt;1.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Manage &amp;gt; Custom domain names&lt;/b&gt;로 이동하여 +&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Add custom domain&lt;/b&gt;을 선택한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;2120&quot;&gt;2.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Custom domain name&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;입력 창에 소유한 도메인을 입력한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;950&quot; data-origin-height=&quot;667&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cTtbjM/btsK3nh1acS/AXmcWiPMuJeL0OG9Z6mF11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cTtbjM/btsK3nh1acS/AXmcWiPMuJeL0OG9Z6mF11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cTtbjM/btsK3nh1acS/AXmcWiPMuJeL0OG9Z6mF11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcTtbjM%2FbtsK3nh1acS%2FAXmcWiPMuJeL0OG9Z6mF11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;950&quot; height=&quot;667&quot; data-origin-width=&quot;950&quot; data-origin-height=&quot;667&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;3. 도메인 소유권의 유효성을 검사하는 화면이 전시되며, 유효성 검사에 필요한 DNS 정보를 보여 주는데 이 정보를 저장한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;609&quot; data-origin-height=&quot;539&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgg4qL/btsK2ovw6qH/n5ZVsM9zky500aKAwsjLR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgg4qL/btsK2ovw6qH/n5ZVsM9zky500aKAwsjLR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgg4qL/btsK2ovw6qH/n5ZVsM9zky500aKAwsjLR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbgg4qL%2FbtsK2ovw6qH%2Fn5ZVsM9zky500aKAwsjLR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;609&quot; height=&quot;539&quot; data-origin-width=&quot;609&quot; data-origin-height=&quot;539&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 id=&quot;2.2-도메인-등록-기간에-DNS-정보-추가&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size20&quot; data-renderer-start-pos=&quot;2242&quot;&gt;&lt;b&gt;2.2 도메인 등록 기간에 DNS 정보 추가&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;2268&quot;&gt;1. 소유한 해당 도메인 등록 기관으로 이동하여 이전 단계에서 복사한 TXT 파일에서 DNS 정보를 추가해야 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;2335&quot;&gt;2. 먼저 각 자 소유한 도메인 관리 화면으로 이동한다. 필자는 Azure Portal의 App Service Domains를 통해 도메인을 구매했으므로 Azure Portal의 App Service Domains 화면으로 이동했다. Azure Portal의 App Service Domains의 구매 및 앱 구성에 대한 정보는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a style=&quot;color: #3db39e;&quot; href=&quot;https://learn.microsoft.com/ko-kr/azure/app-service/manage-custom-dns-buy-domain&quot;&gt;여기&lt;/a&gt;를 참고한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;285&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5uqFK/btsK2nDi0JG/D3O7KqEcQSMF2z6OiKkcX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5uqFK/btsK2nDi0JG/D3O7KqEcQSMF2z6OiKkcX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5uqFK/btsK2nDi0JG/D3O7KqEcQSMF2z6OiKkcX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5uqFK%2FbtsK2nDi0JG%2FD3O7KqEcQSMF2z6OiKkcX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;285&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;285&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;2533&quot;&gt;&lt;b&gt;App Service Domains &amp;gt; Overview&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;블레이드에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Manage DNS records&lt;/b&gt;를 클릭한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-layout=&quot;align-start&quot; data-width=&quot;750&quot; data-width-type=&quot;pixel&quot; data-node-type=&quot;mediaSingle&quot; data-renderer-start-pos=&quot;2598&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-type=&quot;file&quot; data-node-type=&quot;media&quot; data-width=&quot;1282&quot; data-height=&quot;580&quot; data-id=&quot;6ed81aaf-78a8-43ca-9a74-615a53528e0a&quot; data-collection=&quot;contentId-179273744&quot; data-file-name=&quot;image-20241129-013058.png&quot; data-file-size=&quot;88441&quot; data-file-mime-type=&quot;image/png&quot; data-alt=&quot;image-20241129-013058.png&quot; data-renderer-start-pos=&quot;2599&quot; data-context-id=&quot;179273744&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;579&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WmfRZ/btsK3e6HNJ6/SAxwjdbRdgZkdNTB3iRjdk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WmfRZ/btsK3e6HNJ6/SAxwjdbRdgZkdNTB3iRjdk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WmfRZ/btsK3e6HNJ6/SAxwjdbRdgZkdNTB3iRjdk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWmfRZ%2FbtsK3e6HNJ6%2FSAxwjdbRdgZkdNTB3iRjdk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;579&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;579&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;3.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Record sets&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 선택한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;194&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/efJzMk/btsK4sppJeO/iXJWYDcV49IkEnV6w0fBlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/efJzMk/btsK4sppJeO/iXJWYDcV49IkEnV6w0fBlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/efJzMk/btsK4sppJeO/iXJWYDcV49IkEnV6w0fBlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FefJzMk%2FbtsK4sppJeO%2FiXJWYDcV49IkEnV6w0fBlK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;691&quot; height=&quot;194&quot; data-origin-width=&quot;1056&quot; data-origin-height=&quot;194&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;4.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;+ Add&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 클릭하고 다음과 같이 복사한 정보를 토대로 레코드 셋을 입력 및 선택한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;842&quot; data-origin-height=&quot;739&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/F70oN/btsK2E5Vx1g/cUO2F95Uf8kZQRLfNFLB50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/F70oN/btsK2E5Vx1g/cUO2F95Uf8kZQRLfNFLB50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/F70oN/btsK2E5Vx1g/cUO2F95Uf8kZQRLfNFLB50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF70oN%2FbtsK2E5Vx1g%2FcUO2F95Uf8kZQRLfNFLB50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;513&quot; height=&quot;739&quot; data-origin-width=&quot;842&quot; data-origin-height=&quot;739&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;2683&quot;&gt;5. 다시&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Manage &amp;gt; Custom domain names&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;화면으로 돌아와&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Verify&lt;/b&gt;를 클릭하여 유효성을 검증한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;2753&quot;&gt;위에서 추가한 레코드가 전파되는 중이므로 도메인 유효성 확인이 완료되는 데 1시간 이상이 소요될 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;495&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dzTjUx/btsK3g4uMPi/3TqgpuKB5D3ENPxix7Jui0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dzTjUx/btsK3g4uMPi/3TqgpuKB5D3ENPxix7Jui0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dzTjUx/btsK3g4uMPi/3TqgpuKB5D3ENPxix7Jui0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdzTjUx%2FbtsK3g4uMPi%2F3TqgpuKB5D3ENPxix7Jui0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;559&quot; height=&quot;495&quot; data-origin-width=&quot;559&quot; data-origin-height=&quot;495&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;참고&lt;/b&gt;&lt;br /&gt;필자와 달리 다른 Azure 포털이 아닌 다른 호스팅 업체에서 도메인을 구입한 경우에도 유사한 방식으로 레코드 추가 화면에서 위 과정을 수행하면 된다.&lt;br /&gt;아래 예시는 호스팅 KR을 통해 필자가 추가로 구매하여 보유한 zerobig.kr 도메인에 대한 레코드 추가 관리 화면 이다.&lt;br /&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;235&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cv3vTm/btsK2kNtwoY/WeLRNbempGFx1x6O3tSELK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cv3vTm/btsK2kNtwoY/WeLRNbempGFx1x6O3tSELK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cv3vTm/btsK2kNtwoY/WeLRNbempGFx1x6O3tSELK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcv3vTm%2FbtsK2kNtwoY%2FWeLRNbempGFx1x6O3tSELK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;235&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;235&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;6. 새로운 창에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Manage &amp;gt; Custom domain names&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;화면으로 이동하여 결과를 확인해 보면 정상적으로 Verified 가 이우러 진 것을 확인할 수 있다. 필자의 경우에는 약 10분 정도 소요되었다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;923&quot; data-origin-height=&quot;379&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SS4zN/btsK3Peiua1/wYdWduBZNEynWfwnAwK3TK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SS4zN/btsK3Peiua1/wYdWduBZNEynWfwnAwK3TK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SS4zN/btsK3Peiua1/wYdWduBZNEynWfwnAwK3TK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSS4zN%2FbtsK3Peiua1%2FwYdWduBZNEynWfwnAwK3TK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;923&quot; height=&quot;379&quot; data-origin-width=&quot;923&quot; data-origin-height=&quot;379&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;3.-사용자-지정-도메인을-기본-도메인으로-지정하기&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size23&quot; data-renderer-start-pos=&quot;3118&quot;&gt;&lt;b&gt;3. 사용자 지정 도메인을 기본 도메인으로 지정하기&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;3148&quot;&gt;이제 정상적으로 사용자 지정 도메인이 추가 되었으니 이 도메인을 Entra ID의 기본 도메인으로 설정하여 사용하고자 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-ke-size=&quot;size16&quot; data-renderer-start-pos=&quot;3220&quot;&gt;1. 먼저 추가된 사용자 지정 도메인으로 들어가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Make primary&lt;/b&gt;를 클릭한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;340&quot; data-origin-height=&quot;322&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvNNr0/btsK4rquDQI/6aKlyXKjpw3PalLjeKUsI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvNNr0/btsK4rquDQI/6aKlyXKjpw3PalLjeKUsI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvNNr0/btsK4rquDQI/6aKlyXKjpw3PalLjeKUsI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvNNr0%2FbtsK4rquDQI%2F6aKlyXKjpw3PalLjeKUsI0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;340&quot; height=&quot;322&quot; data-origin-width=&quot;340&quot; data-origin-height=&quot;322&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;2.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Entra ID&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Overview&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;블레이드로 이동하여&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;Primary domain&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;의 값을 확인해 본다. 이제 추가한 사용자 지정 도메인이 기본 도메인으로 지정되었음을 확인할 수 있다. 화면에 정상적으로 업데이트 된 값이 전시 되기 전까지 수분이 소요될 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;504&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QdHYP/btsK2uJem8t/4lAgUJSWApgjlIvvSwyik1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QdHYP/btsK2uJem8t/4lAgUJSWApgjlIvvSwyik1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QdHYP/btsK2uJem8t/4lAgUJSWApgjlIvvSwyik1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQdHYP%2FbtsK2uJem8t%2F4lAgUJSWApgjlIvvSwyik1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;924&quot; height=&quot;504&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;504&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;이제 다음 편에서는 생성한 테넌트에서 새로운 사용자 및 그룹 추가, 라이선스 할당, 테넌트와 구독 연결 등의 내용으로 실습을 진행하도록 하자.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #666666; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://zerobig-k8s.tistory.com/162&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다음 편&lt;/a&gt;에서 계속&lt;/p&gt;</description>
      <category>Azure 기타</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/161</guid>
      <comments>https://zerobig-k8s.tistory.com/161#entry161comment</comments>
      <pubDate>Mon, 2 Dec 2024 07:51:45 +0900</pubDate>
    </item>
    <item>
      <title>AZ-104 핸즈온 시리즈 따라하기 : 소개</title>
      <link>https://zerobig-k8s.tistory.com/159</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이번 시리즈에서는 Azure 클라우드를 처음 실무로 접하게 되는 대상자(관리, 구축 및 설계자)를 위해 준비하게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;물론 어느 정도 Azure 클라우드를 알고 있지만(가량 이미 자격을 취득한 사람들) 핸즈온 위주로 따라하며 다시 기초를 다지고자 하는 사람들에게도 유용한 시리즈가 될 것으로 여겨진다. 참고로 &lt;u&gt;&lt;b&gt;이 글의 목적은 AZ-104 자격증 취득이 아니라 실질적인 핸즈온 기술역량 강화에 그 목적이 있다&lt;/b&gt;&lt;/u&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서 Azure 클라우드에 새로 온보딩하는 SA(Soulutions Architect)나 DevOps Engineer에게 기본적으로 요구되는 기술역량이 있는데, 바로 AZ-104가 주로 다루는 내용들이 바로 그것이다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필자는 수시로 회사에서 신규입사자 또는 고객들을 대상으로 Azure에 대한 기본 역량 강화를 구상하고 시행하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 목적으로 이론 보다는 주로 핸즈온 위주 따라하기 컨텐츠를 준비하게 되었다. 물론 기본 적인 개념을 함께 다루겠지만 보다 탄탄한 기술 역량을 갖추기 위해서 각자 별도의 시간을 할애하여 MS Learn 등의 학습 컨텐츠를 통해 따로 공부해 나가야 할 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 실제 필자와 함께 각자의 구독환경에서 이 시리즈를 따라하다 보면, 어느 새 Azure에 대한 전반적인 이해도 및 특히 핸즈온 역량이 강화되리라고 믿는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제부터 우리는 다음의 내용들을 가지고 핸즈온 위주의 랩을 실행해 나갈 것이다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;AZ-104: Azure 내 ID 및 거버넌스 관리&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AZ-104: Azure 내 스토리지 구현 및 관리&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AZ-104: Azure 컴퓨팅 리소스 배포 및 관리&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AZ-104: Azure 관리자를 위한 가상 네트워크 구성 및 관리&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AZ-104:&amp;nbsp;Azure&amp;nbsp;리소스&amp;nbsp;모니터링&amp;nbsp;및&amp;nbsp;백업&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://zerobig-k8s.tistory.com/161&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;다음 편&lt;/a&gt;에서는 &quot;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;AZ-104: Azure 내 ID 및 거버넌스 관리&quot;를 시작으로 본 시리즈를 시작해 보겠다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>Azure 기타</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/159</guid>
      <comments>https://zerobig-k8s.tistory.com/159#entry159comment</comments>
      <pubDate>Mon, 11 Nov 2024 08:20:47 +0900</pubDate>
    </item>
    <item>
      <title>Azure DevOps를 활용한 Git 기초 및 활용 Part 2</title>
      <link>https://zerobig-k8s.tistory.com/158</link>
      <description>&lt;h1 id=&quot;5.-Branch-전략-수립하기&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;10&quot;&gt;5. Branch 전략 수립하기&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;29&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;31&quot; data-ke-size=&quot;size16&quot;&gt;터미널 상에서 다음 명령을 수행하여 현재 브랜치 현황을 확인해 본다.&lt;/p&gt;
&lt;blockquote data-renderer-start-pos=&quot;31&quot; data-ke-style=&quot;style3&quot;&gt;git branch -a&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724885399244&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git branch -a
* master
  remotes/origin/master
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;168&quot; data-ke-size=&quot;size16&quot;&gt;현재 &lt;b&gt;master&lt;/b&gt; 브랜치에서 작업이 이루어 지고 있으며 로컬, 리모트 모두 하나의 브랜치만 존재함을 알 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;233&quot; data-ke-size=&quot;size16&quot;&gt;이 구조는 Git을 처음으로 접하여 이런 저런 명령을 수행하거나, 단순한 개인 실습을 수행하는데 별 문제 없지만 실무에서의 현실에서는 &lt;b&gt;master&lt;/b&gt; 브랜치를 단일로 유지 및 관리하는 것은 바람직 하지 않다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;349&quot; data-ke-size=&quot;size16&quot;&gt;실무 협업 환경에서는 소위 Git 브랜치 전략을 채택하여 보다 보안적으로 안전하게 버전 제어를 사용하여 코드를 공유하고 관리 하는 관행이 필요하다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;434&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;436&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;Git-브랜치-전략-채택&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;438&quot; data-ke-size=&quot;size26&quot;&gt;Git 브랜치 전략 채택&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;453&quot; data-ke-size=&quot;size16&quot;&gt;현재 &lt;b&gt;master&lt;/b&gt; 브랜치 내의 코드는 인증 정보만 있으면 누구나 바로 복제 및 코드 변경이 가능한 상태이므로 이에 대한 보완이 필요하다. 소위 &amp;ldquo;Git 브랜치 전략&amp;rdquo;업데이트 할 수 있는 보안적으로 취약한 상태이다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;575&quot; data-ke-size=&quot;size16&quot;&gt;다시 터미널에서 &lt;b&gt;README.md&lt;/b&gt; 파일을 열고 임의의 메시지를 추가 입력한다. 참고로 필자의 경우에는 # Now we can modify this file directly on the master brancch :( 라고 입력했다. 그리고 나서 &lt;b&gt;git status&lt;/b&gt; 명령을 수행한다.&lt;/p&gt;
&lt;blockquote data-renderer-start-pos=&quot;575&quot; data-ke-style=&quot;style3&quot;&gt;vi README.md &lt;br /&gt;cat README.md &lt;br /&gt;git status&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724885438508&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# vi README.md
ADO-git-handson# cat README.md
Hello~&amp;nbsp;GIT~:)
# Now we can modify this file directly on the master brancch :(
ADO-git-handson#
ADO-git-handson# git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use &quot;git add &amp;lt;file&amp;gt;...&quot; to update what will be committed)
  (use &quot;git restore &amp;lt;file&amp;gt;...&quot; to discard changes in working directory)
        modified:   README.md

no changes added to commit (use &quot;git add&quot; and/or &quot;git commit -a&quot;)
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;이제 다시 다음과 같이 &lt;/span&gt;&lt;b&gt;git add, commit &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;및&lt;/span&gt;&lt;b&gt; push &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;명령을 수행하여 리모트 브랜치로 병합한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;git add . &lt;br /&gt;git commit -m &quot;Add a README.md&quot; &lt;br /&gt;git push&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724885469234&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git add .
ADO-git-handson# git commit -m &quot;Modify README.md adding the comment&quot;
[master 85354b7] Modify README.md adding the comment
 1 file changed, 1 insertion(+)
ADO-git-handson# git push
Password for 'https://zerobig-devops4demo@dev.azure.com':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 342 bytes | 6.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Analyzing objects... (3/3) (7 ms)
remote: Validating commits... (1/1) done (0 ms)
remote: Storing packfile... done (29 ms)
remote: Storing index... done (49 ms)
To https://dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo
   c986055..85354b7  master -&amp;gt; master
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2262&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2262&quot; data-ke-size=&quot;size16&quot;&gt;이제 웹 브라우저로 이동하고 Remote 리포지토리를 새로고침하여 푸시 결과를 확인한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2313&quot; data-ke-size=&quot;size16&quot;&gt;수정된 내용이 반영되어 있음을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;633&quot; data-origin-height=&quot;248&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RV2kU/btsJi7haOOf/VL3wRUWIpummnqpxXYvt91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RV2kU/btsJi7haOOf/VL3wRUWIpummnqpxXYvt91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RV2kU/btsJi7haOOf/VL3wRUWIpummnqpxXYvt91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRV2kU%2FbtsJi7haOOf%2FVL3wRUWIpummnqpxXYvt91%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;633&quot; height=&quot;248&quot; data-origin-width=&quot;633&quot; data-origin-height=&quot;248&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2313&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2345&quot; data-ke-size=&quot;size16&quot;&gt;Git은 버전 제어를 사용하여 코드를 공유하고 관리하는 방법을 유연하게 제공하며 팀은 이러한 유연성과 일관된 방식으로 코드를 공동 작업하고 공유해야 하는 필요성 사이의 균형을 찾아야 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2452&quot; data-ke-size=&quot;size16&quot;&gt;팀 구성원은 다른 팀원과 공유되는 Git 브랜치를 통해 코드 변경 사항항을 게시, 공유, 검토 및 반복하는 작업을 수행한다. 이러한 팀을 위한 브랜치 전략을 채택한다. 더 효율적으로 협업하고 버전 제어에 대한 관리 시간을 줄이고 코드를 개발하는 데 더 많은 시간을 할애할 수 있도록 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2615&quot; data-ke-size=&quot;size16&quot;&gt;다음 브랜치 전략은 Microsoft에서 Git을 사용하는 방법을 기반으로 하며 자세한 내용은 &lt;a style=&quot;color: #000000;&quot; href=&quot;https://learn.microsoft.com/ko-kr/devops/develop/how-microsoft-develops-devops&quot; data-renderer-mark=&quot;true&quot; data-testid=&quot;link-with-safety&quot;&gt;Microsoft에서 Git을 사용하는 방법&lt;/a&gt;을 참조한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;383&quot; data-origin-height=&quot;121&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYQ0M7/btsJidCxpYl/nRWaKFDrwHSBjYbutK6D4K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYQ0M7/btsJidCxpYl/nRWaKFDrwHSBjYbutK6D4K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYQ0M7/btsJidCxpYl/nRWaKFDrwHSBjYbutK6D4K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbYQ0M7%2FbtsJidCxpYl%2FnRWaKFDrwHSBjYbutK6D4K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;383&quot; height=&quot;121&quot; data-origin-width=&quot;383&quot; data-origin-height=&quot;121&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2313&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2704&quot; data-ke-size=&quot;size16&quot;&gt;브랜치 전략을 단순하게 유지한다. 다음 세 가지 개념으로 전략을 빌드한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;새로운 모든 기능과 버그 수정에 feature 브랜치를 사용한다&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Pull Request를 사용하여 feature 브랜치를 master 브랜치에 병합한다&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;고품질의 최신 master 브랜치를 유지한다&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2872&quot; data-ke-size=&quot;size16&quot;&gt;이러한 개념을 확장하고 모순을 피하는 전략을 통해 팀은 일관되고 따르기 쉬운 버전 제어 워크플로를 얻을 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2937&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2939&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;Git-브랜치-전략-구성&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2941&quot; data-ke-size=&quot;size26&quot;&gt;Git 브랜치 전략 구성&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2956&quot; data-ke-size=&quot;size16&quot;&gt;이제 &lt;b&gt;master&lt;/b&gt; 브랜치를 보호할 수 있도록 구성을 해보겠다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;2992&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Azure Repo &amp;gt; Branches&lt;/b&gt;로 이동하여&lt;b&gt; master&lt;/b&gt; 브랜치를 선택하고 추가 옵션에서 &lt;b&gt;branch policies&lt;/b&gt;를 선택한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d1GJv5/btsJipQeWqW/Dq8l4ywbwCHppvBkPKk7R1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d1GJv5/btsJipQeWqW/Dq8l4ywbwCHppvBkPKk7R1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d1GJv5/btsJipQeWqW/Dq8l4ywbwCHppvBkPKk7R1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd1GJv5%2FbtsJipQeWqW%2FDq8l4ywbwCHppvBkPKk7R1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;727&quot; height=&quot;314&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Branch Policies - Require a minimum number of reviewers&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 &amp;ldquo;1&amp;rdquo;로 설정하고 데모의 편의성을을 위해 &lt;/span&gt;&lt;b&gt;Allow requestors to approve their own changes&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 체크한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;643&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ci0FTa/btsJjXx5qNw/WAtWkaDL2JTj4eUAwCFXV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ci0FTa/btsJjXx5qNw/WAtWkaDL2JTj4eUAwCFXV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ci0FTa/btsJjXx5qNw/WAtWkaDL2JTj4eUAwCFXV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fci0FTa%2FbtsJjXx5qNw%2FWAtWkaDL2JTj4eUAwCFXV0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;610&quot; height=&quot;643&quot; data-origin-width=&quot;610&quot; data-origin-height=&quot;643&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;현재 시나리오에서는 간단히 하기 위해서 &amp;ldquo;Allow requestors to approve their own changes&lt;br /&gt;&amp;rdquo;를 활성화하여 본인이 직접 Pull Request를 요청하고 검토 후 처리하지만 실무에서는 1명 이상의 다른 검토자를 지정하고 코드 검토 및 승인할 수 있도록 하는 관행이 필요하다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;이제 다시 터미널에서 &lt;/span&gt;&lt;b&gt;README.md&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 파일을 열고 메시지 내의 오타를 수정한다. &amp;ldquo;brancch:에서 &amp;ldquo;c&amp;rdquo;를 하나 제거하여 저장한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;vi README.md &lt;br /&gt;README.md&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724885974401&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# vi README.md
ADO-git-handson# cat README.md
Hello~&amp;nbsp;GIT~:)
# Now we can modify this file directly on the master branch :(
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;이제 다시 다음 명령을 수행하여 리모트 브랜치로 병합한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;git commit -am &quot;Modify README.md correcting the typeo in the comment&quot; &lt;br /&gt;git push&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724886019096&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git commit -am &quot;Modify README.md correcting the typeo in the comment&quot;
[master 437b06c] Modify README.md correcting the typeo in the comment
 1 file changed, 1 insertion(+), 1 deletion(-)
ADO-git-handson# git push
Password for 'https://zerobig-devops4demo@dev.azure.com':
ADO-git-handson# git push
Password for 'https://zerobig-devops4demo@dev.azure.com':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 302 bytes | 7.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Analyzing objects... (3/3) (32 ms)
remote: Validating commits... (1/1) done (0 ms)
remote: Storing packfile... done (29 ms)
remote: Storing index... done (31 ms)
To https://dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo
 ! [remote rejected] master -&amp;gt; master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)
error: failed to push some refs to 'https://zerobig-devops4demo@dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo'
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;396&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Mdt15/btsJh82wrLf/qzc3DyTkkh91KVp6Z5Up60/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Mdt15/btsJh82wrLf/qzc3DyTkkh91KVp6Z5Up60/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Mdt15/btsJh82wrLf/qzc3DyTkkh91KVp6Z5Up60/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMdt15%2FbtsJh82wrLf%2Fqzc3DyTkkh91KVp6Z5Up60%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;755&quot; height=&quot;396&quot; data-origin-width=&quot;755&quot; data-origin-height=&quot;396&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;4993&quot; data-ke-size=&quot;size16&quot;&gt;&amp;ldquo;To &lt;a href=&quot;https://dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo&quot;&gt;https://dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo&lt;/a&gt;&lt;br /&gt;! [remote rejected] master -&amp;gt; master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)&lt;br /&gt;error: failed to push some refs to '&lt;a href=&quot;https://zerobig-devops4demo@dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo&quot;&gt;https://zerobig-devops4demo@dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo&lt;/a&gt;'&amp;rdquo; 에러가 발생함을 확인할 수 있다. 즉, 이 브랜치에 대한 푸시는 허용되지 않았으며 이 브랜치의 업데이트는 Pull Request를 통해서만 가능함을 알 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;5503&quot; data-ke-size=&quot;size16&quot;&gt;이제 새로운 브랜치에서의 코드 변경 및 Pull Request 수행을 &lt;b&gt;master&lt;/b&gt; 브랜치로의 병합을 시도해 보겠다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;5503&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;5503&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;5503&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;5503&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id=&quot;6.-새로운-브랜치-생성하여-작업하기&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;5573&quot;&gt;6. 새로운 브랜치 생성하여 작업하기&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;5595&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;5597&quot; data-ke-size=&quot;size16&quot;&gt;다음 명령을 수행하여 새로운 브랜치 &lt;b&gt;&amp;ldquo;feature&amp;rdquo;&lt;/b&gt;를 생성한다.&lt;/p&gt;
&lt;blockquote data-renderer-start-pos=&quot;5597&quot; data-ke-style=&quot;style3&quot;&gt;git checkout -b feature &lt;br /&gt;git branch &lt;br /&gt;git log --oneline --graph&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;생성한 &lt;b&gt;feature&lt;/b&gt; 브랜치의 로그를 조회해보면 &lt;b&gt;master&lt;/b&gt; 브랜치와 동일한 커밋 이력을 가지고 있으며, 동일한 커밋에 HEAD가 포인팅 되어 있음을 확인할 수 있다. 따라서 &lt;b&gt;master&lt;/b&gt; 브랜치의 파일 내용과 동일한 상태로 현행화 되어 있음을 알 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1724886104157&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git checkout -b feature
Switched to a new branch 'feature'
ADO-git-handson# git branch
* feature
  master
ADO-git-handson# git log --oneline --graph
* 85354b7 (HEAD -&amp;gt; feature, origin/master, origin/HEAD, master) Modify README.md adding the comment
* c986055 Add a README.md
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Git 브랜치 정책 및 Git Flow 관련 공식 문서&lt;br /&gt;본 글에서는 간략하게 &lt;b&gt;feature&lt;/b&gt; 브랜치를 생성하여 작업 후 &lt;b&gt;master&lt;/b&gt; 브랜치에 Pull Request 하는 시나리오로 구성했다. Git 브랜치 정책과 관련한 상세 내용을 확인하려면 다음 2개의 문서를 확인한다.&lt;br /&gt;- GitHub : &lt;a href=&quot;https://sungjk.github.io/2023/02/20/branch-strategy.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;우리 팀에 맞는 Git Branch 전략 선택하기&lt;/a&gt;&lt;br /&gt;- Azure DevOps : &lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/devops/repos/git/branch-policies-overview?view=azure-devops&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;분기 및 분기 정책 정보&lt;/a&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;이제 다시 터미널에서 &lt;/span&gt;&lt;b&gt;README.md&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt; 파일을 열고 메시지 내의 오타를 수정한다. &amp;ldquo;brancch:에서 &amp;ldquo;c&amp;rdquo;를 하나 제거하여 저장한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;vi README.md &lt;br /&gt;README.md&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724886206298&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# vi README.md
ADO-git-handson# cat README.md
Hello~&amp;nbsp;GIT~:)
# Now we can modify this file directly on the master branch :(
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;이제 다시 다음 명령을 수행하여 리모트 브랜치로 병합한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;git commit -am &quot;Modify README.md correcting the typeo in the comment&quot; &lt;br /&gt;git push --set-upstream origin feature&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724886237145&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git commit -am &quot;Modify README.md correcting the typeo in the comment&quot;
[feature a093d0f] Modify README.md correcting the typeo in the comment
 1 file changed, 1 insertion(+), 1 deletion(-)
ADO-git-handson#
ADO-git-handson# git push
fatal: The current branch feature has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin feature

ADO-git-handson# git push --set-upstream origin feature
Password for 'https://zerobig-devops4demo@dev.azure.com':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 306 bytes | 14.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Analyzing objects... (3/3) (39 ms)
remote: Validating commits... (1/1) done (73 ms)
remote: Storing packfile... done (36 ms)
remote: Storing index... done (48 ms)
To https://dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo
 * [new branch]      feature -&amp;gt; feature
Branch 'feature' set up to track remote branch 'feature' from 'origin'.
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;7993&quot; data-ke-size=&quot;size16&quot;&gt;리모트 리포지토리를 새로고침하여 푸시 결과를 확인한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8026&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;feature&lt;/b&gt; 브랜치의 업데이트를 감지하고 Pull Request를 시행하도록 메시지가 전시되었음을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;474&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czNxlr/btsJiN4tT7f/8QVyS6se37lOABUGN4yNrk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czNxlr/btsJiN4tT7f/8QVyS6se37lOABUGN4yNrk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czNxlr/btsJiN4tT7f/8QVyS6se37lOABUGN4yNrk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczNxlr%2FbtsJiN4tT7f%2F8QVyS6se37lOABUGN4yNrk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;595&quot; height=&quot;474&quot; data-origin-width=&quot;595&quot; data-origin-height=&quot;474&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8098&quot; data-ke-size=&quot;size16&quot;&gt;우선 새로운 브랜치 &lt;b&gt;feature&lt;/b&gt;를 선택하고 결과를 확인한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8134&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;751&quot; data-layout=&quot;align-start&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8135&quot; data-alt=&quot;image-20240827-065944.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;6271495d-db94-4ed8-8328-8fce26d5988c&quot; data-height=&quot;376&quot; data-width=&quot;690&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;376&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bol8nk/btsJj0hhXs2/Kg3C5SQNOrP3XwILQUcy3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bol8nk/btsJj0hhXs2/Kg3C5SQNOrP3XwILQUcy3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bol8nk/btsJj0hhXs2/Kg3C5SQNOrP3XwILQUcy3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbol8nk%2FbtsJj0hhXs2%2FKg3C5SQNOrP3XwILQUcy3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;690&quot; height=&quot;376&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;376&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8139&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;feature&lt;/b&gt; 브랜치의 README.md 파일에는 오타가 수정되어 반영되어 있음을 확인할 수 있다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8192&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Create a pull request&lt;/b&gt;를 선택한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8222&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;497&quot; data-layout=&quot;align-start&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8223&quot; data-alt=&quot;image-20240827-072307.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;6096e648-e5ba-4ca7-a4cf-2e6da794249a&quot; data-height=&quot;476&quot; data-width=&quot;564&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;476&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bXk5jT/btsJjwU3jJH/y5JQOiFfBnHemZwz6pta7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bXk5jT/btsJjwU3jJH/y5JQOiFfBnHemZwz6pta7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bXk5jT/btsJjwU3jJH/y5JQOiFfBnHemZwz6pta7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbXk5jT%2FbtsJjwU3jJH%2Fy5JQOiFfBnHemZwz6pta7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;564&quot; height=&quot;476&quot; data-origin-width=&quot;564&quot; data-origin-height=&quot;476&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;Reviewer를 추가하고 &lt;/span&gt;&lt;b&gt;Create&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;를 선택한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;참고로 위에서 본인이 직접 Pull Request를 요청하고 검토 후 처리하지할 수 있도록 정책을 구성했으므로 자신을 Reviewer로 지정 가능하지만 여기서는 다른 검토자를 지정하였다. 당연히 사전에 프로젝트에 멤버로 추가 되어 있어야 한다. 멤버 추가에 대한 내용은 &lt;a href=&quot;https://learn.microsoft.com/ko-kr/azure/devops/organizations/security/add-users-team-project?view=azure-devops&amp;amp;tabs=preview-page&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이 문서&lt;/a&gt; 를 참조한다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;756&quot; data-origin-height=&quot;792&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x0O1w/btsJjtjQPfj/5P0uxy1MA5kh9fT5Y4sjFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x0O1w/btsJjtjQPfj/5P0uxy1MA5kh9fT5Y4sjFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x0O1w/btsJjtjQPfj/5P0uxy1MA5kh9fT5Y4sjFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx0O1w%2FbtsJjtjQPfj%2F5P0uxy1MA5kh9fT5Y4sjFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;756&quot; height=&quot;792&quot; data-origin-width=&quot;756&quot; data-origin-height=&quot;792&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8426&quot; data-ke-size=&quot;size16&quot;&gt;검토자에게 다음과 같은 검토 요청 관련 메일이 수신 된다. &lt;b&gt;View pull request&lt;/b&gt;를 선택하여 해당 페이지로 이동한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8498&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;497&quot; data-layout=&quot;align-start&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8499&quot; data-alt=&quot;image-20240827-071945.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;6df688ee-e81b-4014-bc55-e0c10e4725a8&quot; data-height=&quot;617&quot; data-width=&quot;497&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;497&quot; data-origin-height=&quot;617&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b0job5/btsJjkHrnuF/QOP0m3Kh77cnp52TRLqWs1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b0job5/btsJjkHrnuF/QOP0m3Kh77cnp52TRLqWs1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b0job5/btsJjkHrnuF/QOP0m3Kh77cnp52TRLqWs1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0job5%2FbtsJjkHrnuF%2FQOP0m3Kh77cnp52TRLqWs1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;497&quot; height=&quot;617&quot; data-origin-width=&quot;497&quot; data-origin-height=&quot;617&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8501&quot; data-ke-size=&quot;size16&quot;&gt;검토자는 해당 페이지에서 각 탭을 선택하여 Pull Request에 대한 자세한 내용들을 확인할 수 있다. &lt;b&gt;File &lt;/b&gt;탭을 선택한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8577&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;166&quot; data-layout=&quot;center&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8578&quot; data-alt=&quot;image-20240827-072143.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;7fd40a0b-2707-45bf-bb3a-ea1efc8df0f4&quot; data-height=&quot;791&quot; data-width=&quot;855&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;855&quot; data-origin-height=&quot;791&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbhi47/btsJialDjul/XaXWX33k6JklGyJRkutUBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbhi47/btsJialDjul/XaXWX33k6JklGyJRkutUBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbhi47/btsJialDjul/XaXWX33k6JklGyJRkutUBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbbhi47%2FbtsJialDjul%2FXaXWX33k6JklGyJRkutUBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;855&quot; height=&quot;791&quot; data-origin-width=&quot;855&quot; data-origin-height=&quot;791&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8580&quot; data-ke-size=&quot;size16&quot;&gt;파일 변경 전후의 내용을 직관적으로 비교 및 검토 할 수 있으며, 필요 시 검토 의견을 남길 수 있다. 내용이 적합하지 않을 경우, 보완 요청 의견을 남기고 Reject 을 수행할 수도 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;358&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfoc4D/btsJjmMbtBx/gwuqftSDRWJv1kdSEwhOP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfoc4D/btsJjmMbtBx/gwuqftSDRWJv1kdSEwhOP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfoc4D/btsJjmMbtBx/gwuqftSDRWJv1kdSEwhOP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbfoc4D%2FbtsJjmMbtBx%2FgwuqftSDRWJv1kdSEwhOP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1420&quot; height=&quot;358&quot; data-origin-width=&quot;1420&quot; data-origin-height=&quot;358&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8690&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;612&quot; data-layout=&quot;align-start&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8691&quot; data-alt=&quot;image-20240827-073043.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;89eeee7e-9698-4f74-9d72-41495bf1b95b&quot; data-height=&quot;358&quot; data-width=&quot;1420&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8693&quot; data-ke-size=&quot;size16&quot;&gt;내용 상 문제가 없으니&lt;b&gt; Approve&lt;/b&gt;에 추가 옵션을 선택하고 &lt;b&gt;Approve&lt;/b&gt;를 선택한한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8744&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;591&quot; data-layout=&quot;align-start&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8745&quot; data-alt=&quot;image-20240827-073501.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;728c5434-5e64-4d79-88c7-e1e4bc7e36ec&quot; data-height=&quot;213&quot; data-width=&quot;545&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;545&quot; data-origin-height=&quot;213&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qzKI6/btsJjZinybP/K7VdMhE3LimItRp93xlJXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qzKI6/btsJjZinybP/K7VdMhE3LimItRp93xlJXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qzKI6/btsJjZinybP/K7VdMhE3LimItRp93xlJXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqzKI6%2FbtsJjZinybP%2FK7VdMhE3LimItRp93xlJXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;545&quot; height=&quot;213&quot; data-origin-width=&quot;545&quot; data-origin-height=&quot;213&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8747&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Overview &lt;/b&gt;탭으로 이동하면 1명의 검토자가 승인했음을 나타내는 메시지가 전시된다. &lt;b&gt;Complete&lt;/b&gt;를 선택한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8814&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;529&quot; data-layout=&quot;align-start&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8815&quot; data-alt=&quot;image-20240827-073747.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;707739d3-501e-4807-83a8-2f052298de88&quot; data-height=&quot;693&quot; data-width=&quot;861&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;861&quot; data-origin-height=&quot;693&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XRWHj/btsJhYFG54v/hK5sjRRDIPb0Fvt5t9nG01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XRWHj/btsJhYFG54v/hK5sjRRDIPb0Fvt5t9nG01/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XRWHj/btsJhYFG54v/hK5sjRRDIPb0Fvt5t9nG01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXRWHj%2FbtsJhYFG54v%2FhK5sjRRDIPb0Fvt5t9nG01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;861&quot; height=&quot;693&quot; data-origin-width=&quot;861&quot; data-origin-height=&quot;693&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8817&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Complete merge&lt;/b&gt;를 선택하여 병합을 진행한다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8850&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;467&quot; data-layout=&quot;align-start&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8851&quot; data-alt=&quot;image-20240808-053154.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;4b6142cc-c0e2-49aa-ab0c-a655ed938a80&quot; data-height=&quot;383&quot; data-width=&quot;467&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;379&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZMbUE/btsJh8uANFG/uzewIzkgjkKSDm878EGAOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZMbUE/btsJh8uANFG/uzewIzkgjkKSDm878EGAOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZMbUE/btsJh8uANFG/uzewIzkgjkKSDm878EGAOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZMbUE%2FbtsJh8uANFG%2FuzewIzkgjkKSDm878EGAOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;464&quot; height=&quot;379&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;379&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8853&quot; data-ke-size=&quot;size16&quot;&gt;Pull Request가 성공되었음을 확인할 수 있다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8886&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;506&quot; data-layout=&quot;align-start&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8887&quot; data-alt=&quot;image-20240827-074352.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;619ae320-094d-4088-9162-c8eacd85fbe4&quot; data-height=&quot;576&quot; data-width=&quot;855&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;855&quot; data-origin-height=&quot;576&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DRbVC/btsJj3ZmfV9/5VE5z0rInaq6kXmgNbYHA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DRbVC/btsJj3ZmfV9/5VE5z0rInaq6kXmgNbYHA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DRbVC/btsJj3ZmfV9/5VE5z0rInaq6kXmgNbYHA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDRbVC%2FbtsJj3ZmfV9%2F5VE5z0rInaq6kXmgNbYHA1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;855&quot; height=&quot;576&quot; data-origin-width=&quot;855&quot; data-origin-height=&quot;576&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8889&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Repos &amp;gt; Files&lt;/b&gt;를에서 &lt;b&gt;master &lt;/b&gt;브랜치로 이동하면 변경 사항이 적용된 병합 결과를 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;398&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lgX7k/btsJig0eDj0/HepimUTv40hTfEcyZ71ES1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lgX7k/btsJig0eDj0/HepimUTv40hTfEcyZ71ES1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lgX7k/btsJig0eDj0/HepimUTv40hTfEcyZ71ES1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlgX7k%2FbtsJig0eDj0%2FHepimUTv40hTfEcyZ71ES1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;572&quot; height=&quot;398&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;398&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8953&quot; data-node-type=&quot;mediaSingle&quot; data-width-type=&quot;pixel&quot; data-width=&quot;533&quot; data-layout=&quot;align-start&quot;&gt;
&lt;div&gt;
&lt;div data-renderer-start-pos=&quot;8954&quot; data-alt=&quot;image-20240827-235612.png&quot; data-file-mime-type=&quot;&quot; data-file-size=&quot;1&quot; data-file-name=&quot;file&quot; data-collection=&quot;contentId-140902401&quot; data-id=&quot;f634689f-657b-4bf5-b509-038e864346c9&quot; data-height=&quot;398&quot; data-width=&quot;572&quot; data-node-type=&quot;media&quot; data-type=&quot;file&quot; data-context-id=&quot;140902401&quot;&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;8956&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Repos &amp;gt; Commits&lt;/b&gt;를 선택하여 &lt;b&gt;master&lt;/b&gt;와 &lt;b&gt;feature &lt;/b&gt;두 브랜치의 내용을 비교하여여 살펴본다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9018&quot; data-ke-size=&quot;size16&quot;&gt;# &lt;b&gt;feature&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9029&quot; data-ke-size=&quot;size16&quot;&gt;마지막 커밋 아이디 a093.. 임을 확인한다.&lt;/p&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;323&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNNywM/btsJjWFXQm2/5dxA6hfnIKgrn7X4J41ksK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNNywM/btsJjWFXQm2/5dxA6hfnIKgrn7X4J41ksK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNNywM/btsJjWFXQm2/5dxA6hfnIKgrn7X4J41ksK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNNywM%2FbtsJjWFXQm2%2F5dxA6hfnIKgrn7X4J41ksK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;864&quot; height=&quot;323&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;323&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9064&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9064&quot; data-ke-size=&quot;size16&quot;&gt;#&lt;b&gt; master&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9074&quot; data-ke-size=&quot;size16&quot;&gt;마지막 커밋 아이디 defb..임을 확인한다. 즉, 하나의 커밋이 더 추가 되어 있음을 확인할 수 있다. 병합 옵션에 따라 결과가 달라 지는데 이 글에서는 기본값으로 진행하였다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpWZQB/btsJj2sCCAF/EdrdiwV9H9t1LyqWnkCUyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpWZQB/btsJj2sCCAF/EdrdiwV9H9t1LyqWnkCUyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpWZQB/btsJj2sCCAF/EdrdiwV9H9t1LyqWnkCUyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpWZQB%2FbtsJj2sCCAF%2FEdrdiwV9H9t1LyqWnkCUyK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;864&quot; height=&quot;375&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Pull Request를 생성 후 브랜치 병합 과정에서 프로젝트 상황에 따라 다양한 방식의 병합 옵션을 검토할 수 있다. Azure DevOps Repos의 Merge Type에 대한 추가 내용은 &lt;a href=&quot;https://zerobig.atlassian.net/wiki/pages/resumedraft.action?draftId=140902401&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이 문서&lt;/a&gt;를 참조한다. 병합 기본 옵션 값은 Merge (no-fast forward&lt;br /&gt;)&amp;rdquo;이다. 모든 커밋을 보전하며 비선형 기록으로 병합한다. 이 전략은 개발자가 토픽 브랜치에서 작업한 방식과 브랜치가 발전한 방향에 대한 완전한 통찰력을 제공하기 때문에 유용하지만 브랜치 기록에 커밋이 많으면 매우 장황할 수 있다. 병합 옵션에 대한 자세한 내용은 &lt;a href=&quot;https://docs.github.com/ko/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;이 문서&lt;/a&gt;를 참고한다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id=&quot;7.-브랜치-정리-및-새로-작업-준비하기&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9498&quot;&gt;7. 브랜치 정리 및 새로 작업 준비하기&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9522&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;작업-브랜치(feature)-정리&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9524&quot; data-ke-size=&quot;size26&quot;&gt;작업 브랜치(&lt;b&gt;feature&lt;/b&gt;) 정리&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9544&quot; data-ke-size=&quot;size16&quot;&gt;이제 Pull Request 작업이 완료 되었으므로 필요 시 다음과 같이 &lt;b&gt;feature &lt;/b&gt;브랜치를 삭제할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;841&quot; data-origin-height=&quot;604&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btAK4M/btsJjSwWoAJ/A0KI0zvvZHEGmLTanyALGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btAK4M/btsJjSwWoAJ/A0KI0zvvZHEGmLTanyALGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btAK4M/btsJjSwWoAJ/A0KI0zvvZHEGmLTanyALGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtAK4M%2FbtsJjSwWoAJ%2FA0KI0zvvZHEGmLTanyALGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;841&quot; height=&quot;604&quot; data-origin-width=&quot;841&quot; data-origin-height=&quot;604&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;참고로 &lt;b&gt;feature&lt;/b&gt; 브랜치는 다음과 같이 Pull Request 병합 과정에서도 선택하여 제거가 가능하다. &lt;br /&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;379&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HXWjs/btsJj1UMKOi/rk3arL1vBC5N6aJr3jpYd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HXWjs/btsJj1UMKOi/rk3arL1vBC5N6aJr3jpYd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HXWjs/btsJj1UMKOi/rk3arL1vBC5N6aJr3jpYd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHXWjs%2FbtsJj1UMKOi%2Frk3arL1vBC5N6aJr3jpYd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;464&quot; height=&quot;379&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;379&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9684&quot; data-ke-size=&quot;size16&quot;&gt;더불어, 로컬의 터미널 상에서도 다음과 같은 명령을 수행하여 삭제가 가능하다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;9729&quot; data-ke-size=&quot;size16&quot;&gt;먼저 현재 작업 브랜치를 확인하고 해당 브랜치가 &lt;b&gt;feature &lt;/b&gt;브랜치라면 &lt;b&gt;master &lt;/b&gt;브랜치로 이동한다.&lt;/p&gt;
&lt;blockquote data-renderer-start-pos=&quot;9729&quot; data-ke-style=&quot;style3&quot;&gt;git branch &lt;br /&gt;git checkout master&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724886929732&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git branch
* feature
  master
ADO-git-handson# git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;다음 명령을 수행하여 로컬 &lt;/span&gt;&lt;b&gt;feature &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;브랜치를 삭제한다. 해당 명령 수행 후 전체 브랜치 현황을 보면 리모트에 &lt;/span&gt;&lt;b&gt;feature &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;브랜치는 아직 존재함을 알 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;git branch --delete feature &lt;br /&gt;git branch --all&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724886962889&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git branch --delete feature
warning: deleting branch 'feature' that has been merged to
         'refs/remotes/origin/feature', but not yet merged to HEAD.
Deleted branch feature (was a093d0f).

ADO-git-handson# git branch --all
* master
  remotes/origin/HEAD -&amp;gt; origin/master
  remotes/origin/feature
  remotes/origin/master&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;다시 다음 명령을 수행하여 리모트 &lt;/span&gt;&lt;b&gt;feature &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;브랜치를 삭제한다. 해당 명령 수행 후 전체 브랜치 현황을 보면 리모트에 &lt;/span&gt;&lt;b&gt;feature&lt;/b&gt; &lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;브랜치가 삭제 된 것을 확인 할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;git push origin --delete feature &lt;br /&gt;git branch --all&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724887001678&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git push origin --delete feature
Password for 'https://zerobig-devops4demo@dev.azure.com':
To https://dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo
 - [deleted]         feature
ADO-git-handson# git branch --all
* master
  remotes/origin/HEAD -&amp;gt; origin/master
  remotes/origin/master
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;새로운-변경-작업-준비하기&quot; style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;11000&quot; data-ke-size=&quot;size26&quot;&gt;새로운 변경 작업 준비하기&lt;span&gt;&lt;span data-vc=&quot;icon-undefined&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;11016&quot; data-ke-size=&quot;size16&quot;&gt;다시 새로운 변경 작업을 수행하기에 앞서 리모트 브랜치 변경 사항을 로컬 브랜치로 동기화 및 최신화 한다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot; data-renderer-start-pos=&quot;11078&quot; data-ke-size=&quot;size16&quot;&gt;먼저 다음 명령을 수행하여 현재 로컬 &lt;b&gt;master &lt;/b&gt;브랜치의 커밋 이력을 확인한다.&lt;/p&gt;
&lt;blockquote data-renderer-start-pos=&quot;11078&quot; data-ke-style=&quot;style3&quot;&gt;git log --oneline&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724887031414&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git log --oneline
85354b7 (HEAD -&amp;gt; master, origin/master, origin/HEAD) Modify README.md adding the comment
c986055 Add a README.md&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;한편 리모트 &lt;/span&gt;&lt;b&gt;master&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;의 커밋 이력을 확인하면 2개의 커밋이 추가로 존재함을 알 수 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;375&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cLwGYW/btsJj4qrRsf/KtXYsFrBf2eRDJvgJpRxkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cLwGYW/btsJj4qrRsf/KtXYsFrBf2eRDJvgJpRxkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cLwGYW/btsJj4qrRsf/KtXYsFrBf2eRDJvgJpRxkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLwGYW%2FbtsJj4qrRsf%2FKtXYsFrBf2eRDJvgJpRxkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;864&quot; height=&quot;375&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;375&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;다음 명령을 수행하여 현재 로컬 &lt;/span&gt;&lt;b&gt;master &lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;브랜치를 최신화 하고 결과를 확인한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;git pull origin master &lt;br /&gt;git log --oneline&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724887144681&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# git pull origin master
Password for 'https://zerobig-devops4demo@dev.azure.com':
From https://dev.azure.com/zerobig-devops4demo/20240809_AzureDevOps_Git_Demo/_git/20240815_AzureDevOps_Git_Demo
 * branch            master     -&amp;gt; FETCH_HEAD
   85354b7..defbe0b  master     -&amp;gt; origin/master
Updating 85354b7..defbe0b
Fast-forward
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ADO-git-handson# git log --oneline
defbe0b (HEAD -&amp;gt; master, origin/master, origin/HEAD) Merged PR 60: Modify README.md correcting the typeo in the comment
a093d0f Modify README.md correcting the typeo in the comment
85354b7 Modify README.md adding the comment
c986055 Add a README.md
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;다음 명령을 수행하여 README.md 파일 내용이 최신으로 유지됨을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;cat README.md&lt;/blockquote&gt;
&lt;pre id=&quot;code_1724887184788&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;ADO-git-handson# cat README.md
Hello~&amp;nbsp;GIT~:)
# Now we can modify this file directly on the master branch :(
ADO-git-handson#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #172b4d; text-align: start;&quot;&gt;이제 새로운 변경 작업을 수행할 준비가 되었으며, 위에서 수행한 과정에 따라 변경 사항을 적용하고 Pull Request를 통해 &lt;b&gt;master&lt;/b&gt; 브랜치에 병합하면 된다. :)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;끝.&lt;/p&gt;
&lt;div id=&quot;popupFrame&quot;&gt;&amp;nbsp;&lt;/div&gt;</description>
      <category>Azure와 함께 하는 DevOps</category>
      <author>zerobig-k8s</author>
      <guid isPermaLink="true">https://zerobig-k8s.tistory.com/158</guid>
      <comments>https://zerobig-k8s.tistory.com/158#entry158comment</comments>
      <pubDate>Thu, 29 Aug 2024 08:20:49 +0900</pubDate>
    </item>
  </channel>
</rss>