RBAC 역할기반 액세스 제어
 
Azure 리소스관리체계
Ex)네트워크담당에게 네트워크리소스, DB담당자에게 database
 
1.보안주체(누구)
사용자, 그룹
AAD사용자 혹은 그룹, MS계정, 외부계정
 
2.역할(수행할수있는작업, action)
소유자(다른사람에게 권한부여가능), 기여자(권한부여 빼고, 리소스관리 다할수있음),
읽기권한자(Readonly), 사용자액세스만 관리자
 
3.범위(권한이 적용되는 대상)
관리그룹, 구독, 리소스그룹, 리소스
 
권한 보기


누르면 IAM으로 이동됨.
 
리소스에서 "활동로그" 검색해서 보면,
이러한 활동(IAM 생성/수정/삭제) 대한 로그 확인 가능함.
 
 
기본 built-in 역할들이 많음.
기본 제공 역할
설명
리소스 액세스를 비롯한 모든 것을 관리할 수 있습니다.
리소스 액세스를 제외한 모든 것을 관리할 수 있습니다.
추가로 리소스단위 관리자 Role 있음.
DNS 기여자
CDN 기여자
Database 기여자
Log Analytics 기여자
"명칭은 관리자가 아닌 기여자로 되어있음"
 
 
 
 
 



구독의 상위 개념.
 
관리그룹 -> 구독 -> 리소스그룹 -> 리소스
Management Groups 라는 이름임. 영어로 해당 리소스를 찾아야됨.
 
엔터프라이즈 환경에서 필요한 개념
관리그룹이라는 컨테이너 안에 구독을 생성하는 개념.
 
, 관리그룹에 적용되는 조건들이, 하위 구독에 상속이 되는 개념.
 


 
관리그룹이 관리그룹을 포함 수도있음.
 
루트관리그룹 = 테넌트 루트 그룹 = 디렉터리에 만듬
ID AAD ID입니다.
루트관리그룹은 이동/삭제 불가
 



이미지 업로드 태그 지정 학습 시킨
 
아래와 같은 형태로 사용함.
예측URL 예측Key 사용자의 것을 지정해야됨.
 
-H "Prediction-Key: 0e56e0ab1cd546c580a2c7772ba9110b" \
-H "Content-Type: application/json" \
| jq '.'
 
결과는 JSON 형태로 받을 있음.
 
전체적으로 수동으로 진행 되는데, 자동화는 고민해봐야됨.
 
 
 
Microsoft Cognitive service
서비스로 제공되는 기계학습 알고리즘 집합
시각, 음성, 언어, 검색
 

시각, 비전

얼굴찾기
지배적인 찾기
이미지의 컨텐츠 분류
영어문장으로 설명
OCR 텍스트 추출
텍스트 인식, 필기인식
썸네일  생성
(고품질 썸네일을 생성한 다음, 이미지 내의 개체를 분석하여 ROI(관심 영역)를 결정합니다. 그런 다음, Computer Vision은 ROI의 요구 사항에 맞게 이미지를 자릅니다)
 
비디오 분석?
 
특정 사이트에서, 부적절한 이미지 업로드 차단 기능 등에 활용 가능
-> 분석 자극적 컨텐츠 점수, 성인컨텐츠 점수를 보여줌.
 
--인지서비스 만들기
az cognitiveservices account create \
--kind ComputerVision \
--name ComputerVisionService \
--sku S1 \
--resource-group 766baf6b-657a-4211-be40-e0263299ea62 \
--location "east us"
 
--조회
az cognitiveservices account keys list \
--name ComputerVisionService \
--resource-group 766baf6b-657a-4211-be40-e0263299ea62
 
--키를 변수에 담기
key=$(az cognitiveservices account keys list \
--name ComputerVisionService \
--resource-group 766baf6b-657a-4211-be40-e0263299ea62 \
--query key1 -o tsv)
 
--키변수 확인
Echo $key
 
 
테스트
-H "Ocp-Apim-Subscription-Key: $key" \
-H "Content-Type: application/json" \
| jq '.'
 


}


 



-H "Ocp-Apim-Subscription-Key: $key" \
-H "Content-Type: application/json" \
| jq '.'
 


 
썸네일 만들기
-H "Ocp-Apim-Subscription-Key: $key" \
-H "Content-Type: application/json" \
-o  thumbnail.jpg


 
 



텍스트 추출
-H "Ocp-Apim-Subscription-Key: $key" \
-H "Content-Type: application/json"  \
 | jq '.'
 
-H "Ocp-Apim-Subscription-Key: $key" \
-H "Content-Type: application/json"  \
 | jq '.'
 





-H "Ocp-Apim-Subscription-Key: $key" \
-H "Content-Type: application/json"  \
 | jq '.'
 
인식률이 조금 떨어짐


 

필기인식
-H "Ocp-Apim-Subscription-Key: $key" \
-H "Content-Type: application/json" \
-D -
 



    Event Hubs 네임스페이스 만들기

    NS_NAME=myEvt-HubNs1

    az eventhubs namespace create --name $NS_NAME

     

    az eventhubs namespace authorization-rule keys list --name RootManageSharedAccessKey --namespace-name $NS_NAME

    Event Hubs 네임스페이스에 대한 연결 문자열을 페치합니다. Event Hub를 사용하여 메시지를 보내고 받도록 응용 프로그램을 구성하려면 이 작업이 필요

     

    결과조회, 나중에 primaryKey sender 소스에 적어야됨

    $NS_NAME

    {

      "aliasPrimaryConnectionString": null,

      "aliasSecondaryConnectionString": null,

      "keyName": "RootManageSharedAccessKey",

      "primaryConnectionString": "Endpoint=sb://myevy-hubns1.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=JdXBEL2VQdqmfTgH4Z3KMsQML6XNTpFjTSFZYs8qOP0=",

      "primaryKey": "JdXBEL2VQdqmfTgH4Z3KMsQML6XNTpFjTSFZYs8qOP0=",

      "secondaryConnectionString": "Endpoint=sb://myevy-hubns1.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=Gf6+jHO5ZUpOW8wt2hC8Kf/6q0u4Z6UVVr5+egzHtfM=",

      "secondaryKey": "Gf6+jHO5ZUpOW8wt2hC8Kf/6q0u4Z6UVVr5+egzHtfM="

    }

     

    Event Hub 만들기

    HUB_NAME=onestxhub

    az eventhubs eventhub create --name $HUB_NAME --namespace-name $NS_NAME

    조회는 show

    az eventhubs eventhub show --namespace-name $NS_NAME --name $HUB_NAME

     

    기본 디폴트 스펙 : 보존기간 7, 파티션수 4


     

     

     

    이벤트허브 인스턴스, 개요에서... 확인

     

     

    이제 게시자 -- -소비자를 만들어보자

     

    --스토리지 생성

    az storage account create --name $STORAGE_NAME --sku Standard_RAGRS --encryption blob

    --account keys list 명령을 사용하여 저장소 계정과 연결된 모든 액세스 키를 나열

    az storage account keys list --account-name $STORAGE_NAME

    --연결문자열 보기

    az storage account show-connection-string -n $STORAGE_NAME

     

    -- 커넥션 스트링 이용하여, 컨테이너 만들때 사용

    az storage container create -n messages --connection-string "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=onestxstore;AccountKey=py24nMGjV+VEz/NBNypL2Q7Zt7RTeZ9xitpYp3yxHUQj6WV0vIGTkQIYazb6MXDj70OITEPGTATNZN9LMLtusg=="

     

    클론명령어로 깃허브 리포짓토리 복제해옴 (자바 소스임)

    cd ~

    git clone https://github.com/Azure/azure-event-hubs.git

     

     

    수정할 페이지 해당 경로로 가서

    cd azure-event-hubs/samples/Java/Basic/SimpleSend/src/main/java/com/microsoft/azure/eventhubs/samples/SimpleSend

     

    편집기 호출

    code .

     편집기에서 다음 문자열을 찾아서 바꿉니다.

    • "Your Event Hubs namespace name" Event Hub 네임스페이스의 이름으로 바꿉니다.
    • "Your Event Hub" Event Hub 이름으로 바꿉니다.
    • "Your policy name" RootManageSharedAccessKey로 바꿉니다.
    • "Your primary SAS key"를 이전에 저장한 Event Hub 네임스페이스에 대한 primaryKey 키 값으로 바꿉니다

     

     

    이제 mvn 명령을 사용하여 Java 응용 프로그램을 빌드하겠습니다.

    1. 기본 SimpleSend 폴더로 다시 변경합니다.
      bash
      복사
      cd ~/azure-event-hubs/samples/Java/Basic/SimpleSend
    2. Java SimpleSend 응용 프로그램을 빌드합니다. 이렇게 하면 응용 프로그램이 Event Hub에 대한 연결 세부 정보를 사용합니다.
      bash
      복사
      mvn clean package -DskipTests

     

     

    이제 수신자 소스 수정

    EventProcessorSample.java 편집

    EventHubReceiver 및 EventProcessorHost라는 두 개의 메서드를 사용할 수 있습니다.

     

    연결문자열 값들을 수정해주고 아래와 같은 명령어로 빌드

     

    1. 다음 명령을 사용하여 기본 EventProcessorSample 폴더로 변경합니다.
      bash
      복사
      cd ~/azure-event-hubs/samples/Java/Basic/EventProcessorSample
    2. 다음 명령을 사용하여 Java SimpleSend 응용 프로그램을 빌드합니다. 이렇게 하면 응용 프로그램이 Event Hub에 대한 연결 세부 정보를 사용합니다.
      bash
      복사
      mvn clean package -DskipTests

    발신자 및 수신자 앱 시작

    1. java 명령을 사용하고 .jar 패키지를 지정하여 명령줄에서 Java 응용 프로그램을 실행합니다. 다음 명령을 사용하여 SimpleSend 응용 프로그램을 시작합니다.
      bash
      복사
      cd ~/azure-event-hubs/samples/Java/Basic/SimpleSend
      java -jar ./target/simplesend-1.0.0-jar-with-dependencies.jar
    2. 보내기 완료... 가 표시되면 ENTER 키를 누릅니다.
      output
      복사
      jar-with-dependencies.jar
      SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
      SLF4J: Defaulting to no-operation (NOP) logger implementation
      SLF4J: See
      http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
      2018-09-18T19:42:15.146Z: Send Complete...
    3. 다음 명령을 사용하여 EventProcessorSample 응용 프로그램을 시작합니다.
      bash
      복사
      cd ~/azure-event-hubs/samples/Java/Basic/EventProcessorSample
      java -jar ./target/eventprocessorsample-1.0.0-jar-with-dependencies.jar
    4. 메시지가 콘솔에 표시되지 않으면 ENTER 키나 CTRL+C를 눌러서 프로그램을 종료합니다.

     

     

     

     

    스토리지 살펴보면

     

    해당 하나 열어보면 아래와 같은 스펙

     

     

     

     

    한번더 실행시키니…

     

     

    다시…

    이벤트허브 네임스페이스 하위 메트릭에서

     

    최근 30 선택하고,

    메트릭 항목중에서 Incoming Message 선택하면 200개로 확인됨.

    위에서 simplesend 자바 소스를 두번 실행했으니, 200 전송됨 확인가능

     







 IaaS(Infrastructure as a Service)

인프라(서버, 스토리지) 지원(임대)

HaaS(Hardware as a Service)

직접 관리 범위  가장 넓음

PaaS(Platform as a Service)

MS azure WebApp 같은 느낌

필요한 서비스를 선택해서 어플리케이션 포팅

SW 서비스를 개발하기 위한 플랫폼 제공 서비스

SaaS(Software as a Service)

서비스 수준으로 바로 사용

네이버메일, G메일, 구글클라우드 같이

 






'기술(Azure 만...) > [MS]Azure' 카테고리의 다른 글

Azure 구독의 소유권을 다른 계정으로 양도  (0) 2019.01.15
Azure RBAC  (0) 2019.01.15
azure 관리그룹(management groups)  (0) 2019.01.15
Azure Cognitive service 비젼관련 실습  (0) 2019.01.01
Event Hubs 실습  (0) 2019.01.01

+ Recent posts