다음을 통해 공유


ACICollaborationAudit 테이블에 대한 쿼리

Azure Portal에서 이러한 쿼리를 사용하는 방법에 대한 자세한 내용은 Log Analytics 자습서를 참조하세요. REST API는 쿼리를 참조 하세요.

파이프라인 실행당 리소스에 부여된 권한 부여 횟수는 몇 번인가요?

파이프라인을 실행하는 동안 리소스에 대한 액세스 권한이 부여된 횟수를 반환합니다. 권한 유형별로 그룹화됩니다. 권한(프로덕션 모드의 참가자별), 참조됨(테스트 모드의 참가자별) 또는 소유자(리소스 소유자별).

//=================================================================================================================================================================
// summarize by CorrelationId groups audits by pipeline run. For more details about summarize see: https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/summarizeoperator
ACICollaborationAudit
| summarize PipelineExecutedOn=max(TimeGenerated), ResourceAccessGrantCount=count(), EntitlementResult=array_strcat(make_set(EntitlementResult), ',') by CorrelationId, GrantType, TargetResourceId
| project-away CorrelationId
| order by PipelineExecutedOn desc, TargetResourceId asc
| top 100 by PipelineExecutedOn;

내 리소스에 부여된 자격은 무엇인가요?

CI 리소스에 부여된 자격을 찾습니다. 특정 리소스를 쿼리하는 데 사용할 수 있습니다.

//==============================================================================================
// For specific results, insert values in the let statements and uncomment the where filters within the query
// let partialResourceId = "<Full or Partial resource name (DataAsset, DataSet or Script) to look for (e.g. "dataassets/e2etest2020qqigqeqp">");
ACICollaborationAudit
| where GrantType == 'Entitlement'
//| where TargetResourceId has partialResourceId
| extend ShortOperationName=tostring(array_slice(split(OperationName, '/'), -1, -1)[0])
| summarize TimeGenerated=max(TimeGenerated), EntitlementResult=array_strcat(make_set(EntitlementResult), ','), 
            GrantSource=any(GrantSource), GrantSourceType=any(GrantSourceType),
            TargetResourceId=any(TargetResourceId), TargetResourceType=any(TargetResourceType), ParticipantName=any(ParticipantName),
            OperationName=any(ShortOperationName)
    by GrantCorrelationId
| project-away GrantCorrelationId
| order by TimeGenerated desc
| limit 100;

자격으로 액세스한 리소스는 무엇인가요?

액세스 권한이 있는 CI 리소스를 찾습니다. 특정 자격을 쿼리하는 데 사용할 수 있습니다.

//============================================================================================
// For specific results, insert values in the let statements and uncomment the where filters within the query
// let entitlementOrContract = "<Full or Partial entitlement (or contract) name to look for (e.g. "proposals/e2etest2020qytcbkar","entitlements/e2etest2020nzutiqca">");
ACICollaborationAudit 
| where GrantType == 'Entitlement'
//| where GrantSource has entitlementOrContract
| extend ShortOperationName=tostring(array_slice(split(OperationName, '/'), -1, -1)[0])
| summarize TimeGenerated=max(TimeGenerated), EntitlementResult=array_strcat(make_set(EntitlementResult), ','),
            TargetResourceId=any(TargetResourceId), TargetResourceType=any(TargetResourceType), 
            ParticipantName=any(ParticipantName), GrantSource=any(GrantSource), GrantSourceType=any(GrantSourceType),
            OperationName=any(ShortOperationName)
    by GrantCorrelationId
| project-away GrantCorrelationId
| order by TimeGenerated desc
| limit 100;

내 리소스에 대한 액세스 권한이 부여된 참가자는 무엇인가요?

CI 리소스에 대한 액세스 권한이 부여된 참가자를 찾습니다. 특정 리소스를 쿼리하는 데 사용할 수 있습니다.

//=====================================================================================================
// For specific results, insert values in the let statements and uncomment the where filters within the query
// let partialParticipantName = "<Full or Partial participant (or tenant) name to look for (e.g. "propmtion.dept@contoso">");
ACICollaborationAudit 
| where GrantType == 'Entitlement'
//| where ParticipantName contains partialParticipantName
| extend ShortOperationName=tostring(array_slice(split(OperationName, '/'), -1, -1)[0])
| summarize TimeGenerated=max(TimeGenerated), EntitlementResult=array_strcat(make_set(EntitlementResult), ','),
            TargetResourceId=any(TargetResourceId), TargetResourceType=any(TargetResourceType), 
            GrantSource=any(GrantSource), GrantSourceType=any(GrantSourceType),
            OperationName=any(ShortOperationName), ParticipantName=any(ParticipantName)
    by GrantCorrelationId
| project-away GrantCorrelationId
| order by TimeGenerated desc
| limit 100;