명령줄 도구를 사용하여 권한 관리

Azure DevOps Services

권한은 권한 , 액세스 및 보안 그룹 시작에 설명된 대로 특정 리소스에 대한 특정 작업을 수행할 수 있는 액세스 권한을 부여합니다. 웹 포털을 통해 대부분의 권한을 관리합니다. 그러나 명령줄 도구 또는 REST API를 사용하여 권한을 관리할 수 있습니다.

Azure DevOps는 기본적으로 기본 보안 그룹의 멤버에게 많은 권한을 부여합니다. 명령을 사용하여 더 세분화된 수준에서 az devops security permission 권한을 추가하고 관리할 수 있습니다. 다음 명령을 사용하여 다음을 수행합니다.

  • 보안 네임스페이스와 연결된 권한 보기
  • 해당 권한에 대한 세부 정보 보기
  • 권한 업데이트 또는 재설정

참고

네임스페이스 및 토큰은 모든 버전의 Azure DevOps에 유효합니다. 여기에 나열된 내용은 Azure DevOps 2019 이상 버전에 유효합니다. 네임스페이스는 시간이 지남에 따라 변경될 수 있습니다. 네임스페이스의 최신 목록을 얻으려면 명령줄 도구 또는 REST API 중 하나를 실행합니다. 일부 네임스페이스는 보안 네임스페이스 및 권한 참조인 사용되지 않음 및 읽기 전용 네임스페이스에 나열된 대로 더 이상 사용되지 않습니다.

필수 구성 요소

  • 토큰 및 네임스페이스를 관리하려면 프로젝트 컬렉션 관리자 보안 그룹의 구성원이어야 합니다. 토큰에 대한 자세한 내용은 보안 네임스페이스 및 권한 참조를 참조하세요.
  • Azure DevOps CLI 시작에 설명된 대로 Azure DevOps CLI 확장을 설치해야 합니다.
  • 를 사용하여 az loginAzure DevOps에 로그인합니다.
  • 이 문서의 예제에서는 다음과 같이 기본 organization 설정합니다.
    • Azure DevOps Services 경우: az devops configure --defaults organization=YourOrganizationURL.
    • Azure DevOps Server 경우:az devops configure --defaults organization=https://ServerName/CollectionName

보안 권한 명령

다음 명령을 입력하여 사용 가능한 모든 명령을 나열합니다.

az devops security permission -h

보안 권한과 관련된 개념에 대한 자세한 내용은 보안 REST API 설명서를 참조하세요.

명령 설명
az devops security permission list 지정된 사용자 또는 그룹 및 네임스페이스에 대한 토큰을 나열합니다.
az devops security permission namespace list organization 사용할 수 있는 모든 네임스페이스를 나열합니다.
az devops security permission namespace show 각 네임스페이스에서 사용할 수 있는 사용 권한의 세부 정보를 표시합니다.
az devops security permission reset 지정된 권한 비트에 대한 권한을 다시 설정합니다.
az devops security permission reset-all 사용자 또는 그룹에 대한 이 토큰의 모든 권한을 지웁니다.
az devops security permission show 지정된 토큰, 네임스페이스 및 사용자 또는 그룹에 대한 사용 권한을 표시합니다.
az devops security permission update 지정된 사용자 또는 그룹에 허용 또는 거부 권한을 할당합니다.

다음 매개 변수는 모든 명령에 대해 선택 사항이며 이 문서에 제공된 예제에는 나열되지 않습니다.

  • detect: organization 자동으로 검색합니다. 허용되는 값: false, true. 기본값은 true입니다.
  • org: Azure DevOps organization URL. az devops configure -d organization=ORG_URL 사용하여 기본 organization 구성할 수 있습니다. 기본값으로 구성되지 않았거나 git 구성을 통해 선택되지 않은 경우 필수입니다. 예: --org https://dev.azure.com/MyOrganizationName/.

보안 네임스페이스 나열

az devops security permission namespace list 명령을 사용하여 organization 사용할 수 있는 모든 네임스페이스를 나열할 수 있습니다. 모든 보안 네임스페이스 및 연결된 토큰에 대한 설명은 보안 네임스페이스 및 권한 참조를 참조하세요.

az devops security permission namespace list [--local-only]

매개 변수

  • 로컬 전용: 선택 사항입니다. true이면 로컬 보안 네임스페이스만 검색합니다.

    보안 네임스페이스는 데이터를 하나의 마이크로 서비스에서 마스터할 수 있지만 다른 마이크로 서비스에서는 여전히 볼 수 있습니다. 보안 네임스페이스의 데이터가 마이크로 서비스 X에서 마스터되는 경우 해당 마이크로 서비스에 로컬이라고 합니다. 그렇지 않으면 원격이라고 합니다.

를 입력 az devops security permission namespace list 하여 organization 또는 온-프레미스 서버에 대해 정의된 네임스페이스를 나열합니다.

참고

나열된 일부 네임스페이스는 더 이상 사용되지 않으며 사용하면 안 됩니다. 사용되지 않는 네임스페이스 목록은 네임스페이스 참조, 사용되지 않음 및 읽기 전용 네임스페이스를 참조하세요.

az devops security permission namespace list --org https://dev.azure.com/OrganizationName --output table
 
Id                                    Name
------------------------------------  ------------------------------
c788c23e-1b46-4162-8f5e-d7585343b5de  ReleaseManagement
58450c49-b02d-465a-ab12-59ae512d6531  Analytics
d34d3680-dfe5-4cc6-a949-7d9c68f73cba  AnalyticsViews
62a7ad6b-8b8d-426b-ba10-76a7090e94d5  PipelineCachePrivileges
7c7d32f7-0e86-4cd6-892e-b35dbba870bd  ReleaseManagement
a6cc6381-a1ca-4b36-b3c1-4e65211e82b6  AuditLog
5a27515b-ccd7-42c9-84f1-54c998f03866  Identity
445d2788-c5fb-4132-bbef-09c4045ad93f  WorkItemTrackingAdministration
101eae8c-1709-47f9-b228-0e476c35b3ba  DistributedTask
71356614-aad7-4757-8f2c-0fb3bff6f680  WorkItemQueryFolders
2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87  Git Repositories
3c15a8b7-af1a-45c2-aa97-2cb97078332e  VersionControlItems2
2bf24a2b-70ba-43d3-ad97-3d9e1f75622f  EventSubscriber
5a6cd233-6615-414d-9393-48dbb252bd23  WorkItemTrackingProvision
49b48001-ca20-4adc-8111-5b60c903a50c  ServiceEndpoints
cb594ebe-87dd-4fc9-ac2c-6a10a4c92046  ServiceHooks
bc295513-b1a2-4663-8d1a-7017fd760d18  Chat
3e65f728-f8bc-4ecd-8764-7e378b19bfa7  Collection
cb4d56d2-e84b-457e-8845-81320a133fbb  Proxy
bed337f8-e5f3-4fb9-80da-81e17d06e7a8  Plan
2dab47f9-bd70-49ed-9bd5-8eb051e59c02  Process
11238e09-49f2-40c7-94d0-8f0307204ce4  AccountAdminSecurity
b7e84409-6553-448a-bbb2-af228e07cbeb  Library
83d4c2e6-e57d-4d6e-892b-b87222b7ad20  Environment
52d39943-cb85-4d7f-8fa8-c6baac873819  Project
58b176e7-3411-457a-89d0-c6d0ccb3c52b  EventSubscription
83e28ad4-2d72-4ceb-97b0-c7726d5502c3  CSS
9e4894c3-ff9a-4eac-8a85-ce11cafdc6f1  TeamLabSecurity
fc5b7b85-5d6b-41eb-8534-e128cb10eb67  ProjectAnalysisLanguageMetrics
bb50f182-8e5e-40b8-bc21-e8752a1e7ae2  Tagging
f6a4de49-dbe2-4704-86dc-f8ec1a294436  MetaTask
bf7bfa03-b2b7-47db-8113-fa2e002cc5b1  Iteration
fa557b48-b5bf-458a-bb2b-1b680426fe8b  Favorites
4ae0db5d-8437-4ee8-a18b-1f6fb38bd34c  Registry
c2ee56c9-e8fa-4cdd-9d48-2c44f697a58e  Graph
dc02bf3d-cd48-46c3-8a41-345094ecc94b  ViewActivityPaneSecurity
2a887f97-db68-4b7c-9ae3-5cebd7add999  Job
73e71c45-d483-40d5-bdba-62fd076f7f87  WorkItemTracking
4a9e8381-289a-4dfd-8460-69028eaa93b3  StrongBox
1f4179b3-6bac-4d01-b421-71ea09171400  Server
e06e1c24-e93d-4e4a-908a-7d951187b483  TestManagement
6ec4592e-048c-434e-8e6c-8671753a8418  SettingEntries
302acaca-b667-436d-a946-87133492041c  BuildAdministration
2725d2bc-7520-4af4-b0e3-8d876494731f  Location
83abde3a-4593-424e-b45f-9898af99034d  UtilizationPermissions
c0e7a722-1cad-4ae6-b340-a8467501e7ce  WorkItemsHub
0582eb05-c896-449a-b933-aa3d99e121d6  WebPlatform
66312704-deb5-43f9-b51c-ab4ff5e351c3  VersionControlPrivileges
93bafc04-9075-403a-9367-b7164eac6b5c  Workspaces
093cbb02-722b-4ad6-9f88-bc452043fa63  CrossProjectWidgetView
35e35e8e-686d-4b01-aff6-c369d6e36ce0  WorkItemTrackingConfiguration
0d140cae-8ac1-4f48-b6d1-c93ce0301a12  Discussion Threads
5ab15bc8-4ea1-d0f3-8344-cab8fe976877  BoardsExternalIntegration
7ffa7cf4-317c-4fea-8f1d-cfda50cfa956  DataProvider
81c27cc8-7a9f-48ee-b63f-df1e1d0412dd  Social
9a82c708-bfbe-4f31-984c-e860c2196781  Security
a60e0d84-c2f8-48e4-9c0c-f32da48d5fd1  IdentityPicker
84cc1aa4-15bc-423d-90d9-f97c450fc729  ServicingOrchestration
33344d9c-fc72-4d6f-aba5-fa317101a7e9  Build
8adf73b7-389a-4276-b638-fe1653f7efc7  DashboardsPrivileges
a39371cf-0841-4c16-bbd3-276e341bc052  VersionControlItems

예: 로컬 보안 네임스페이스 나열

다음 명령은 organization 대한 로컬 보안 네임스페이스만 나열하고 결과를 테이블 형식으로 표시합니다.

az devops security permission namespace list --local-only --output table

Id                                    Name
------------------------------------  ------------------------------
71356614-aad7-4757-8f2c-0fb3bff6f680  WorkItemQueryFolders
fa557b48-b5bf-458a-bb2b-1b680426fe8b  Favorites
4ae0db5d-8437-4ee8-a18b-1f6fb38bd34c  Registry
c2ee56c9-e8fa-4cdd-9d48-2c44f697a58e  Graph
dc02bf3d-cd48-46c3-8a41-345094ecc94b  ViewActivityPaneSecurity
2a887f97-db68-4b7c-9ae3-5cebd7add999  Job
73e71c45-d483-40d5-bdba-62fd076f7f87  WorkItemTracking
4a9e8381-289a-4dfd-8460-69028eaa93b3  StrongBox
1f4179b3-6bac-4d01-b421-71ea09171400  Server
e06e1c24-e93d-4e4a-908a-7d951187b483  TestManagement
6ec4592e-048c-434e-8e6c-8671753a8418  SettingEntries
302acaca-b667-436d-a946-87133492041c  BuildAdministration
2725d2bc-7520-4af4-b0e3-8d876494731f  Location
83abde3a-4593-424e-b45f-9898af99034d  UtilizationPermissions
c0e7a722-1cad-4ae6-b340-a8467501e7ce  WorkItemsHub
0582eb05-c896-449a-b933-aa3d99e121d6  WebPlatform
66312704-deb5-43f9-b51c-ab4ff5e351c3  VersionControlPrivileges
93bafc04-9075-403a-9367-b7164eac6b5c  Workspaces
093cbb02-722b-4ad6-9f88-bc452043fa63  CrossProjectWidgetView
35e35e8e-686d-4b01-aff6-c369d6e36ce0  WorkItemTrackingConfiguration
0d140cae-8ac1-4f48-b6d1-c93ce0301a12  Discussion Threads
5ab15bc8-4ea1-d0f3-8344-cab8fe976877  BoardsExternalIntegration
7ffa7cf4-317c-4fea-8f1d-cfda50cfa956  DataProvider
81c27cc8-7a9f-48ee-b63f-df1e1d0412dd  Social
9a82c708-bfbe-4f31-984c-e860c2196781  Security
a60e0d84-c2f8-48e4-9c0c-f32da48d5fd1  IdentityPicker
84cc1aa4-15bc-423d-90d9-f97c450fc729  ServicingOrchestration
33344d9c-fc72-4d6f-aba5-fa317101a7e9  Build
8adf73b7-389a-4276-b638-fe1653f7efc7  DashboardsPrivileges
445d2788-c5fb-4132-bbef-09c4045ad93f  WorkItemTrackingAdministration
101eae8c-1709-47f9-b228-0e476c35b3ba  DistributedTask
2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87  Git Repositories
a39371cf-0841-4c16-bbd3-276e341bc052  VersionControlItems
3c15a8b7-af1a-45c2-aa97-2cb97078332e  VersionControlItems2
2bf24a2b-70ba-43d3-ad97-3d9e1f75622f  EventSubscriber
5a6cd233-6615-414d-9393-48dbb252bd23  WorkItemTrackingProvision
49b48001-ca20-4adc-8111-5b60c903a50c  ServiceEndpoints
cb594ebe-87dd-4fc9-ac2c-6a10a4c92046  ServiceHooks
bc295513-b1a2-4663-8d1a-7017fd760d18  Chat
3e65f728-f8bc-4ecd-8764-7e378b19bfa7  Collection
cb4d56d2-e84b-457e-8845-81320a133fbb  Proxy
bed337f8-e5f3-4fb9-80da-81e17d06e7a8  Plan
2dab47f9-bd70-49ed-9bd5-8eb051e59c02  Process
11238e09-49f2-40c7-94d0-8f0307204ce4  AccountAdminSecurity
b7e84409-6553-448a-bbb2-af228e07cbeb  Library
83d4c2e6-e57d-4d6e-892b-b87222b7ad20  Environment
52d39943-cb85-4d7f-8fa8-c6baac873819  Project
58b176e7-3411-457a-89d0-c6d0ccb3c52b  EventSubscription
83e28ad4-2d72-4ceb-97b0-c7726d5502c3  CSS
9e4894c3-ff9a-4eac-8a85-ce11cafdc6f1  TeamLabSecurity
fc5b7b85-5d6b-41eb-8534-e128cb10eb67  ProjectAnalysisLanguageMetrics
bb50f182-8e5e-40b8-bc21-e8752a1e7ae2  Tagging
f6a4de49-dbe2-4704-86dc-f8ec1a294436  MetaTask
bf7bfa03-b2b7-47db-8113-fa2e002cc5b1  Iteration

보안 네임스페이스에 대한 토큰 나열

az devops security permission list 명령을 사용하여 지정된 네임스페이스 및 사용자 또는 그룹에 대한 토큰을 나열할 수 있습니다.

az devops security permission list --id
                                   --subject
                                   [--recurse]
                                   [--token]

매개 변수

  • subject: 필수 요소입니다. 사용자의 이메일 주소 또는 그룹 설명자입니다.
  • recurse: 선택 사항입니다. true이고 네임스페이스가 계층적이면 이 매개 변수는 토큰의 자식 ACL을 반환합니다.
  • 토큰: 선택 사항입니다. 개별 보안 토큰을 지정합니다.

예제

다음 명령은 지정된 네임스페이스에 대한 테이블 형식의 토큰을 나열합니다. 이 네임스페이스는 Analytics에 해당하며 사용자 contoso@contoso.com와 연결됩니다.

az devops security permission list --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --output table

Token                                   Effective Allow    Effective Deny
--------------------------------------  -----------------  ----------------
$/0611925a-b287-4b0b-90a1-90f1a96e9f1f  0                  0
$/087572e2-5569-49ec-af80-d3caf22b446c  0                  0
$/131271e0-a6ad-49ba-837e-2d475ab2b169  0                  0
$/14c92f9d-9fff-48ec-8171-9d1106056ab3  0                  0
$/1965830d-5fc4-4412-8c71-a1c39c939a42  0                  0
$/4b80d122-a5ca-46ec-ba28-e03d37e53404  0                  0
$/4fa8e9de-e86b-4986-ac75-f421881a7664  0                  0
$/5417a1c3-4b04-44d1-aead-50774b9dbf5f  0                  0
$/56af920d-393b-4236-9a07-24439ccaa85c  0                  0
$/69265579-a1e0-4a30-a141-ac9e3bb82572  0                  0

네임스페이스 세부 정보 표시

az devops security permission namespace show 명령을 사용하여 각 네임스페이스에서 사용할 수 있는 사용 권한의 세부 정보를 표시할 수 있습니다.

az devops security permission namespace show --namespace-id <NAMESPACE_ID>

매개 변수

  • id 또는 namespace-id: 필수입니다. 보안 네임스페이스의 ID입니다.

예제

다음 명령은 지정된 네임스페이스 ID에 사용할 수 있는 사용 권한의 세부 정보를 보여 줍니다. 그러면 결과가 테이블 형식으로 반환됩니다.

az devops security permission namespace show --namespace-id 58450c49-b02d-465a-ab12-59ae512d6531 --output table

Name                      Permission Description                                    Permission Bit
------------------------  --------------------------------------------------------  ----------------
Read                      View analytics                                            1
Administer                Manage analytics permissions                              2
Stage                     Push the data to staging area                             4
ExecuteUnrestrictedQuery  Execute query without any restrictions on the query form  8
ReadEuii                  Read EUII data                                            16

권한 다시 설정

az devops security permission reset 명령을 사용하여 지정된 사용자 또는 그룹에 대한 권한 비트를 다시 설정할 수 있습니다.

az devops security permission reset --id
                                    --permission-bit
                                    --subject
                                    --token

매개 변수

  • id 또는 namespace-id: 필수입니다. 보안 네임스페이스의 ID입니다.
  • permission-bit: 필수입니다. 권한 비트 또는 지정된 사용자 또는 그룹 및 토큰에 대해 다시 설정해야 하는 권한 비트 추가
  • subject: 필수 요소입니다. 사용자의 이메일 주소 또는 그룹 설명자입니다.
  • token: 필수입니다. 개별 보안 토큰.

예제

다음 명령은 지정된 네임스페이스의 사용자 contoso@contoso.com 에 대한 토큰의 권한 비트 8을 다시 설정하여 결과를 테이블 형식으로 반환합니다.

az devops security permission reset --id 58450c49-b02d-465a-ab12-59ae512d6531 --permission-bit 8 --subject contoso@contoso.com --token 0611925a-b287-4b0b-90a1-90f1a96e9f1f --output table

Name                      Bit    Permission Description                                    Permission Value
------------------------  -----  --------------------------------------------------------  ------------------
ExecuteUnrestrictedQuery  8      Execute query without any restrictions on the query form  Not set

모든 권한 다시 설정

az devops security permission reset-all 명령을 사용하여 사용자 또는 그룹에 대한 토큰의 모든 권한을 지울 수 있습니다.

az devops security permission reset-all --id
                                        --subject
                                        --token
                                        [--yes]

매개 변수

  • id 또는 namespace-id: 필수입니다. 보안 네임스페이스의 ID입니다.
  • subject: 필수 요소입니다. 사용자의 이메일 주소 또는 그룹 설명자입니다.
  • token: 필수입니다. 개별 보안 토큰.
  • : 선택 사항입니다. 확인 메시지를 표시하지 마세요.

예제

다음 명령은 확인 없이 지정된 네임스페이스의 사용자 contoso@contoso.com 에 대한 모든 권한을 지웁니다. 결과는 CLI에 표시됩니다.

az devops security permission reset-all --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --token 0611925a-b287-4b0b-90a1-90f1a96e9f1f --yes --output table

Result
--------
True

권한 표시

az devops security permission show 명령을 사용하여 지정된 토큰, 네임스페이스 및 사용자 또는 그룹에 대한 권한을 표시할 수 있습니다.

az devops security permission show --id
                                   --subject
                                   --token

매개 변수

  • id 또는 namespace-id: 필수입니다. 보안 네임스페이스의 ID입니다.
  • subject: 필수 요소입니다. 사용자의 이메일 주소 또는 그룹 설명자입니다.
  • token: 필수입니다. 개별 보안 토큰.

예제

다음 명령은 지정된 네임스페이스의 사용자 contoso@contoso.com 에 대한 토큰의 권한 세부 정보를 보여 하며 결과를 테이블 형식으로 반환합니다.

az devops security permission show --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --token 0611925a-b287-4b0b-90a1-90f1a96e9f1f --output table

Name                      Bit    Permission Description                                    Permission Value
------------------------  -----  --------------------------------------------------------  ------------------
Read                      1      View analytics                                            Not set
Administer                2      Manage analytics permissions                              Allow
Stage                     4      Push the data to staging area                             Not set
ExecuteUnrestrictedQuery  8      Execute query without any restrictions on the query form  Not set
ReadEuii                  16     Read EUII data                                            Deny

사용 권한 업데이트

az devops security permission update 명령을 사용하여 지정된 사용자 또는 그룹에 허용 또는 거부 권한을 할당할 수 있습니다.

az devops security permission update --id
                                     --subject
                                     --token
                                     [--allow-bit]
                                     [--deny-bit]
                                     [--merge {false, true}]

매개 변수

  • id 또는 namespace-id: 필수입니다. 보안 네임스페이스의 ID입니다.
  • subject: 필수 요소입니다. 사용자의 이메일 주소 또는 그룹 설명자입니다.
  • token: 필수입니다. 개별 보안 토큰.
  • allow-bit: 선택 사항입니다. 비트 또는 비트 추가를 허용합니다. --deny-bit가 누락된 경우 필요합니다.
  • deny-bit: 선택 사항입니다. 비트 또는 비트 추가를 거부합니다. --allow-bit가 누락된 경우 필요합니다.
  • merge: 선택 사항입니다. 설정된 경우 기존 ACE(액세스 제어 항목)에는 들어오는 ACE의 허용 및 거부와 병합된 허용 및 거부가 있습니다. 설정되지 않은 경우 기존 ACE가 대체됩니다. 허용되는 값은 false 또는 true입니다.

예제

다음 명령은 지정된 네임스페이스의 사용자 contoso@contoso.com 에 대한 ExecuteUnrestrictedQuery(비트 8)에 대한 권한을 업데이트하고 결과를 테이블 형식으로 표시합니다.

az devops security permission update --allow-bit 8 --id 58450c49-b02d-465a-ab12-59ae512d6531 --subject contoso@contoso.com --token 56af920d-393b-4236-9a07-24439ccaa85c --output table

Name                      Bit    Permission Description                                    Permission Value
------------------------  -----  --------------------------------------------------------  ------------------
ExecuteUnrestrictedQuery  8      Execute query without any restrictions on the query form  Allow

보안 네임스페이스 및 해당 ID

Azure DevOps에 대한 보안 네임스페이스 및 권한 참조를 참조하세요.