다음을 통해 공유


서비스 후크에서 그룹에 대한 보기 권한 설정

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

기본적으로 프로젝트 관리자 만 보기 또는 편집 권한이 있습니다. 이러한 권한을 다른 사용자에게 직접 부여하려면 명령줄 도구 또는 보안 REST API를 사용할 수 있습니다.

사용 권한이 없는 ServiceHook 페이지를 보여 주는 스크린샷

ServiceHooks 보안 네임스페이스 ID는 목록 보안 네임스페이스 아래에 다음과 같이 정의됩니다.cb594ebe-87dd-4fc9-ac2c-6a10a4c92046

필수 조건

  1. Azure CLI를 설치하여 명령을 실행 az devops 합니다. Azure CLI를 설치하는 방법

  2. Azure DevOps 프로필에 대한 PAT(개인용 액세스 토큰) 를 만듭니다. PCA(프로젝트 컬렉션 관리자) 그룹의 구성원인지 확인합니다.

    • ID(읽기)
    • 그래프(읽기)
    • 보안(관리)
  3. 를 사용하여 Azure DevOps에 로그인합니다 az devops login. 확장이 az devops 없는 경우 설치합니다.

    > az devops login
    The command requires the extension azure-devops. Do you want to install it now? The command will continue to run after the extension is installed. (Y/n): Y
    
  4. 조직을 기본 조직으로 정의할 수 있습니다. 그렇지 않으면 각 명령에 대해 정의 --org "https://dev.azure.com/{organization}" 합니다.

    az devops configure --defaults organization="https://dev.azure.com/{organization}"
    
  5. 조직에 대한 사용 권한 목록을 볼 수 있는지 확인합니다.

    az devops security permission namespace list --org "https://dev.azure.com/{organization}"
    

그룹 ID 및 권한 토큰 읽기

  1. 그룹 ID 설명자를 찾습니다.

    > az devops security group list --project ac515e82-560c-4af8-845b-9f7f968d8e7b --output table
    
    Name                                             Descriptor
    -----------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------------------------
    [TEAM FOUNDATION]\EntraServiceHooksRead          aadgp.Uy0xLTktMTU1MTM3NDI0NS0xMjA0NDAwOTY5LTI0MDI5ODY0MTMtMjE3OTQwODYxNi0zLTM5NTQxNzM3ODYtMTUyMTA4MTkyNS0yNTQwNTA4MjYzLTMzNDgxNjQxNjg
    

    그룹 이름으로 필터링하려는 경우 명령 프롬프트에 따라 명령을 사용하거나 grep 명령을 사용할 findstr 수 있습니다.

  2. 권한 토큰을 가져옵니다.

    > az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table
    
    Token                                                   Effective Allow    Effective Deny
    ------------------------------------------------------  -----------------  ----------------
    PublisherSecurity                                       0                  0
    PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b  0                  0
    

서비스 후크에 대한 읽기 권한 업데이트

  1. 에 대해 정의할 수 있는 사용 권한 목록입니다 --allow-bit.

    • 구독 보기
    • 구독 편집
    • 구독 삭제
    • 이벤트 게시
    > az devops security permission namespace show --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046
    
    [
      {
        "actions": [
          {
            "bit": 1,
            "displayName": "View Subscriptions",
            "name": "ViewSubscriptions",
            "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046"
          },
          {
            "bit": 2,
            "displayName": "Edit Subscription",
            "name": "EditSubscriptions",
            "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046"
          },
          {
            "bit": 4,
            "displayName": "Delete Subscriptions",
            "name": "DeleteSubscriptions",
            "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046"
          },
          {
            "bit": 8,
            "displayName": "Publish Events",
            "name": "PublishEvents",
            "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046"
          }
        ],
        "dataspaceCategory": "Default",
        "displayName": "ServiceHooks",
        "elementLength": -1,
        "extensionType": null,
        "isRemotable": true,
        "name": "ServiceHooks",
        "namespaceId": "cb594ebe-87dd-4fc9-ac2c-6a10a4c92046",
        "readPermission": 1,
        "separatorValue": "/",
        "structureValue": 1,
        "systemBitMask": 0,
        "useTokenTranslator": true,
        "writePermission": 7
      }
    
  2. 그룹에 대한 보기 액세스를 설정합니다. View ServiceHooks Subscriptions equals equals 1 for --allow-bit.

    > az devops security permission update --namespace-id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --token PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b --allow-bit 1
    
    [
      {
        "acesDictionary": {
          "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-3-3954173786-1521081925-2540508263-3348164168": {
            "allow": 1,
            "deny": 0,
            "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-3-3954173786-1521081925-2540508263-3348164168",
            "extendedInfo": {
              "effectiveAllow": 1
            },
            "resolvedPermissions": [
              {
                "bit": 1,
                "displayName": "View Subscriptions",
                "effectivePermission": "Allow",
                "name": "ViewSubscriptions"
              }
            ]
          }
        },
        "includeExtendedInfo": true,
        "inheritPermissions": true,
        "token": "PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b"
      }
    ]
    
  3. 변경 내용을 볼 수 있는 권한 토큰을 가져옵니다.

    > az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table
    
    Token                                                   Effective Allow    Effective Deny
    ------------------------------------------------------  -----------------  ----------------
    PublisherSecurity                                       0                  0
    PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b  1                  0
    

다음 예제에서는 사용자가 서비스 후크 구독을 볼 수 있음을 보여 줍니다.

권한이 있는 ServiceHook 페이지를 보여 주는 스크린샷

그룹의 모든 서비스 후크 사용 권한 다시 설정

  • 그룹 또는 사용자의 모든 서비스 후크 권한을 다시 설정해야 하는 경우 호출 reset-all할 수 있습니다.

    > az devops security permission reset-all --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --token PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b
    
    Are you sure you want to reset all explicit permissions for this user/group and token? (y/n): Y
    true
    
    > az devops security permission list --id cb594ebe-87dd-4fc9-ac2c-6a10a4c92046 --subject <Group or user descriptor> --output table
    Token                                                   Effective Allow    Effective Deny
    ------------------------------------------------------  -----------------  ----------------
    PublisherSecurity                                       0                  0
    PublisherSecurity/ac515e82-560c-4af8-845b-9f7f968d8e7b  0                  0
    
  • 다음 예제에서는 사용 권한이 다시 설정되면 사용자가 서비스 후크 구독을 볼 수 없다는 것을 보여 줍니다.

    사용 권한이 없는 ServiceHooks 페이지를 보여 주는 스크린샷