본문 바로가기
AzureHuman/AZ103

[AZ-103] 프로듀스 103 #1 (Q1-Q4)

by 채채1013 2020. 9. 12.

 

 


출처는 www.examtopics.com/exams/microsoft/az-103/view/  (다 영어임 ^^)


글쓴이가 AZ-103을 따기 위해 연습하는 글이기 때문에 답은 반드시 '더보기' 로 확인해 주셔야 합니다.

글쓴이를 믿었다가 발생하는 참사에 대해서는 책임지지 않습니다..


 

 

 

 

 

 

 

그럼 시작~~

 

 


 

 

 


Q1. Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You have an Azure Active Directory (Azure AD) tenant named Adatum and an Azure Subscription named Subscription1. Adatum contains a group named Developers. Subscription1 contains a resource group named Dev.
You need to provide the Developers group with the ability to create Azure logic apps in the Dev resource group.
Solution: On Dev, you assign the Contributor role to the Developers group.
Does this meet the goal?

A. Yes
B. No

 


Azure AD 의 이름은 Adatum 이고, 구독의 이름은 Subscription1 이다.
Adatum 에는 Developers 라는 그룹 개체가 있고, Subscription 에는 Dev 라는 리소스 그룹이 있다.
Developers 그룹에 권한을 줘야 하는데, 뭐냐면 Dev 리소스 그룹에 Azure logic App 을 생성할 수 있는 권한을 줘야 한다.

솔루션 : Dev 리소스 그룹에서, Developers 그룹에 Contributor role 을 할당한다.

 

 

103 은 어째 첫 문제부터 분량의 압박이..........

일단 요 문제는 Azure RBAC(Role Base Access Control) 에 대해 알고 있냐는 문제인 듯.

 

※ Azure RBAC ?

Azure 리소스에 대한 세분화된 액세스 관리 제어 기능

추가 비용 없음

특정 작업에 대해 특정 사용자에게 특정 액세스 권한을 부여 한다.

말이 어렵지만 예를 들어 서버 관리자인 A는 VM 생성/권한부여 등등 풀 권한을 가지지만 네트워크 관리 권한은 한 개도 없을 수 있고

네트워크 관리자인 B는 네트워크 관련해서는 풀 권한을 갖지만 서버 사이드 작업에 대해서는 권한이 없게끔 조절이 가능하다는 뜻

 

 

  • 소유자(Owner) - 액세스 권한을 다른 사용자에게 위임할 수 있는 권한을 포함하여 모든 리소스에 대한 전체 액세스 권한을 보유합니다.

  • 기여자(Contributor) - 모든 유형의 Azure 리소스를 만들고 관리할 수 있지만 다른 사용자에게 액세스 권한을 부여할 수 없습니다.

  • 읽기 권한자(Reader) - 기존 Azure 리소스를 볼 수 있습니다.

  • 사용자 액세스 관리자(User-Access Administrator) - Azure 리소스에 대한 사용자 액세스를 관리할 수 있습니다.

요 문서를 참고하면 된다. 현업에서 사용자 액세스 관리자 < 요 권한을 쓰는지는 모르겠다.

내가 본 바에 따르면 오너, 컨트리뷰터, 리더 정도로 나뉘어있던 듯.

docs.microsoft.com/ko-kr/azure/role-based-access-control/overview

 

 

영어 번역을 해 놓은게 더 헷갈리지만, Dev 라는 리소스 그룹 안에서 지지고볶고 뭘 생성할 수 있는 권한을 그룹 개체한테 주려면 어떤 권한을 주면 되냐 ? 요런 질문인데, 위임에 대한 얘기는 없으므로 그냥 Contributor 권한을 주면 될 듯. 그래서 답은 Y !

 

 

※ Azure Logic Apps

요놈은 Azure 가 제공하는 서버리스 컴퓨팅 중 하나다. 코드를 실행 하는데, 클라우드 호스팅 환경을 사용한다.

작업, 비즈니스 프로세스를 예약, 자동화 및 오케스트레이션하는 데 유용한 클라우드 서비스라고 주장하는데..

 

젠킨스 같은 놈인걸까 ?

아래를 참고하면 도움이 될 듯 하다.

docs.microsoft.com/ko-kr/azure/logic-apps/logic-apps-overview

 

 

 

답은 더보기를 누르세요 ▽

더보기

답은 Y.

The Contributor role can manage all resources (and add resources) in a Resource Group. 요렇게 써 있다.

 


 

 

 

 

 

 

 


Q1 과 시리즈 문제다. 이렇게 구성된 문제는 한번 답을 택하면 뒤로 갈 수 없다는 듯
You need to provide the Developers group with the ability to create Azure logic apps in the Dev resource group.
Q2. Solution: On Subscription1, you assign the Logic App Operator role to the Developers group. Does this meet the goal?
A. Yes
B. No

Azure AD 의 이름은 Adatum 이고, 구독의 이름은 Subscription1 이다.
Adatum 에는 Developers 라는 그룹 개체가 있고, Subscription 에는 Dev 라는 리소스 그룹이 있다.
Developers 그룹에 권한을 줘야 하는데, 뭐냐면 Dev 리소스 그룹에 Azure logic App 을 생성할 수 있는 권한을 줘야 한다.

솔루션 : Subscription1 구독에서 Developers 그룹에 Logic App Operator role 을 부여한다.

 

위에 RBAC 관련 설명을 보아도 RBAC 에 Operator role 은 없다. 오너, 컨트리뷰터, 리더, 유저..액세스 어쩌고 하는 친구 뿐.

요거는 답이 아닌 듯한 향기가 강하게 난다.. ^^*

 

여러 사람들의 댓글을 보니 Operator role 은 logic apps 을 읽고, 켜고 끄는(read, enable, disable) 기능은 제공하지만 생성, 수정하거나 업데이트(create, edit, update)하는 권한은 주지 않는다고 한다.

 

 

 

답은 더보기를 누르세요 ▽

더보기

답은 No. Contributor 권한이 필요하다.

 


 

 

 

 

 

 

 

You need to provide the Developers group with the ability to create Azure logic apps in the Dev resource group.
Q3. You need to provide the Developers group with the ability to create Azure logic apps in the Dev resource group.

Solution: On Dev, you assign the Logic App Contributor role to the Developers group.

 


Azure AD 의 이름은 Adatum 이고, 구독의 이름은 Subscription1 이다.
Adatum 에는 Developers 라는 그룹 개체가 있고, Subscription 에는 Dev 라는 리소스 그룹이 있다.
Developers 그룹에 권한을 줘야 하는데, 뭐냐면 Dev 리소스 그룹에 Azure logic App 을 생성할 수 있는 권한을 줘야 한다.

솔루션 : Dev 에서, Developers 그룹에 Logic App Contributor role 을 부여한다.

 

요건 위에 다 나온 얘기니 생략. 

Contributor role 은 logic apps 을 manage 하는 권한은 주나, access 는 불가능하다고 (안 써봐서 무슨 말인지 모르겠군 ^^).

하지만 읽기, 수정하기, 업데이트, 생성(view, edit, update, create)은 모두 가능하다.

 

 

 

답은 더보기를 누르세요 ▽

더보기

답은 Y 이다. 

The Logic App Contributor role lets you manage logic app, but not access to them. It provides access to view, edit, and update a logic app.

 


 

 

 

 

 

 

 


Q4.
You have an Azure subscription named Subscription1 that contains an Azure Log Analytics workspace named Workspace1. You need to view the error events from a table named Event.
Which query should you run in Workspace1?

A. Get-Event Event | where {$_.EventType ""eq "error"}
B. Get-Event Event | where {$_.EventType == "error"}
C. search in (Event) * | where EventType ""eq "error"
D. search in (Event) "error"
E. select * from Event Where EventType == "error"
F. Event | where EventType is "error"

 


Q4. 
Subscription1라는 구독을 갖고 있고, 그 구독에는 Workspace1 이라는 Azure Log Analytics 가 있다.
Event 라는 테이블의 에러 이벤트를 봐야 할 때, Workspace1에서 어떤 쿼리를 돌려야 할까 ?

 

호... 코딩이라... ^*^ 파워셸 스크립트를 물을 듯하다. MS 시험이니까. 

그렇다면 답은 A랑 B 중 하나 ! (스포 : 아니어따)

eq 가 어떤 걸 뜻하는지 잘 모르겠는데.. == 요거는 너무 일반적인 코딩을 (낚이라고) 옮겨놓은 듯하여 답은 A 인 듯!

 

 

※ 파워셸 명령어

eq 는 '같음' 을 나타내는 명령어라고 한다. 용례가 -eq 로 쓰는 거라 A 는 틀린 듯 하다.

참고로 '다름' 은 ne ! equal 과 not equal 의 준말인 듯.

 

그렇다면 Get-Event Event | where ($_.EventType -eq "error"} 요렇게 쓰면 맞는 걸까 ?

물어볼 People 이 없으니 답답할 따름..

 

 

 

 

레퍼런스를 참고하니 설명이 아래와 같다.

 

※ Azure Monitor 로그에서 쿼리 검색

요기서 용어 검색을 할 때 Search 명령을 사용하는데, 일반적으로 특정 용어를 검색하는 데 사용한다고 한다.

 

예를 들어 아래와 같이 입력하면 테이블에서 Error 라는 용어에 대해 검색된다. (Take 100은 뭔 뜻이지)

search "error"
| take 100

하지만 요렇게 검색할 경우 관련없는 결과가 넘모 많이 반환될 가능성이 높다.

관련 테이블에서 검색을 하든 특정 열을 검색하든 하는 것이 좋다고.

 

 

범위를 지정하려면 요렇게 하면 된단다.

search in (Event, SecurityEvent) "error"
| take 100

요렇게 되면 Event, SecurityEvent 라는 테이블에서 Error 를 검색하는 셈.

 

 

아래의 두 쿼리가 동일한 결과를 반환한다.

Event | search "error"
search in (Event) "error"

 

이해는 차근차근 하자.. 그저 외울 뿐.

그것이 '시험' 이니까.

 

(끄덕)

 

 

 

 

답은 더보기를 누르세요 ▽

더보기

답은 D 랜다.. (처참한 탈락)

왜지 ?!! 저렇게 간단한게 답이라니 약오르는데 ,, 빡이 치는군요

요건 계속 공부를 해봐야겠다.

요건 틀렸으니 답지 원문을 옮겨둔다. 아래가 레퍼런스.

 

To search a term in a specific table, add in (table-name) just after the search operator
Reference:

https://docs.microsoft.com/en-us/azure/azure-monitor/log-query/search-queries

https://docs.microsoft.com/en-us/azure/azure-monitor/log-query/get-started-portal

 

 

 

 


 

조낸 어렵넹 ~~~ 

 

 

 

 

 

 

댓글