자동 프로세스를 사용하여 위험 이벤트를 닫거나 닫으려고합니다. 이를 위해 Graph API https://graph.microsoft.com/beta를 사용해야합니다./riskyUsers/dismiss
예를 검색했지만 찾을 수 없습니다.
헤더에 OAuth Bearer 토큰을 제공하여 Post man을 사용해 보았고 PowerShell 스크립트를 사용해 보았으며 페이지에 제공된 .Net 예제를 사용해 보았습니다. 그들 중 아무도 일하지 않았다
PowerShell 코드
{
$body = @{grant_type="client_credentials";resource=$resource;client_id=$ClientID;client_secret=$ClientSecret}
$oauthResponse = Invoke-RestMethod -Method POST -Uri $loginURL/$TenantName/oauth2/token?api-version=1.0 -Body $body
return $oauthResponse
}
$loginURL = "https://login.windows.net"
$resource = "https://graph.microsoft.com"
$ClientSecret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
$ClientID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
$TenantName="xxxxx.com"
$oauth=RefreshToken -loginURL $loginURL -resource $resource -ClientID $ClientID -clientSecret $ClientSecret -tenantName $TenantName
$headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}
$url="https://graph.microsoft.com/beta/riskyUsers/dismiss"
[email protected]()
$userIds+="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
$body=(@{"userIds"=$userIds})|convertto-json
$Response = Invoke-WebRequest -UseBasicParsing -Headers $headerParams -Uri $url -Body $body -Method Post -ContentType "application/Json"
응답 : Invoke-WebRequest : 원격 서버가 오류를 리턴했습니다 : (500) 내부 서버 오류. C : \ SourceCode \ MIMSolution \ PowerShellScripts \ AzurePSMA \ RiskyIdentityEvents \ ExportScript_debug.ps1 : 19 char : 13에서 + $Response = Invoke-WebRequest -UseBasicParsing-헤더 $headerParams -Uri $url ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation : (System.Net.HttpWebRequest : HttpWebRequest) [Invoke-WebRequest], WebException + FullyQualifiedErrorId : WebCmdletWebResponseException, Microsoft.PowerShell.Commands.InvokeWebRequestCommand
C # 코드 :
static void Main(string[] args)
{
var userIdsList = new List<String>();
userIdsList.Add("xxxxx-xxxxx-xxxxx-xxxxx-xxxx");
dismissUser(userIdsList);
}
static async void dismissUser(List<string> userIDs)
{
ClientCredential clientCredential = new ClientCredential("xxxxxxxxxxxxxxxxxxxxxxx");
string clientId = "xxxxxxxxxxxxxxxxxxxxxx";
IConfidentialClientApplication clientApplication = ClientCredentialProvider.CreateClientApplication(clientId, clientCredential);
ClientCredentialProvider authProvider = new ClientCredentialProvider(clientApplication);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
await graphClient.RiskyUsers.Dismiss(userIDs).Request().PostAsync();
}```
Exception:
{"Code: generalException\r\nMessage: An error occurred sending the request.\r\n"}
Inner Exception:
{"Code: generalException\r\nMessage: Unexpected exception occured while authenticating the request.\r\n"}
- 답변 # 1
관련 자료
- python - 그래프 플로팅 문제
- timezone - Google Calendar API 이벤트 목록 시간대 문제
- sql server - 확장 이벤트의 교착 상태 그래프가 표시되지 않음
- javascript - 이벤트를 함수로 사용하여 문제 v4
- 그래프 API를 사용하여 Google에서 가져온 이벤트를 만들지 못했습니다
- identifier - 자동 생성 문제로 인한 SQL Server ID 교체
- C # 캔들 스틱 플롯 그래프 문제 촛불 본체가 보이지 않습니다 양초가 선처럼 그려집니다
- botframework - Microsoft Graph의 다중 테넌트 문제
- c# - serilog를 사용하여 ASPNet 코어 ID에서 이벤트 로깅
- wso2is - WSO2 Identity Server 키 관리자의 보조 JDBC 사용자 저장소에 대한 로그인/역할/권한 문제
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
마지막으로 여러 번의 트레일을 거쳐 해결책을 찾았습니다. OAuth 1.0과 같은 토큰 문제가있었습니다.
OAuth 2.0을 요청하는이 스 니펫을 수정했으며 문제가 해결되었습니다 :
$oauthResponse = Invoke-RestMethod-방법 POST -Uri $loginURL/$TenantName/oauth2/v2.0/token -Body $body $oauthResponse를 반환 }