다음을 통해 공유


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

Azure DevOps Services

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

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

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

Note

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

Prerequisites

Category Requirements
Permissions 프로젝트 컬렉션 관리자 그룹멤버입니다. 조직 소유자는 자동으로 이 그룹의 구성원입니다. 토큰에 대한 자세한 내용은 보안 네임스페이스 및 권한 참조참조하세요.
Tools Azure DevOps CLI 확장 .
- az login사용하여 로그인합니다.
- 이 문서의 예제에서는 다음과 같이 기본 조직을 설정합니다.
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 설명서 참조하세요.

Command Description
az devops security permission list 지정된 사용자 또는 그룹 및 네임스페이스에 대한 토큰을 나열합니다.
az devops security permission namespace list 조직에 사용 가능한 모든 네임스페이스를 나열합니다.
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: Automatically detect organization. 허용되는 값: false, true. 기본값은 true입니다.
  • org: Azure DevOps organization URL. az devops configure -d organization=ORG_URL 사용하여 기본 조직을 구성할 수 있습니다. 기본값으로 구성되지 않았거나 git 구성을 통해 선택되는 경우 필수입니다. 예: --org https://dev.azure.com/MyOrganizationName/.

보안 네임스페이스 나열

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

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

Parameters

local-only: Optional. true이면 로컬 보안 네임스페이스만 검색합니다.

보안 네임스페이스의 데이터는 하나의 마이크로 서비스에서 관리되지만 다른 마이크로 서비스에서는 계속 볼 수 있습니다. 보안 네임스페이스의 데이터가 마이크로 서비스 X에서 관리되는 경우 해당 마이크로 서비스에 로컬입니다. 그렇지 않으면 원격입니다.

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

Note

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

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

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

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

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]

Parameters

  • id or namespace-id: Required. 보안 네임스페이스의 ID입니다. ID를 가져오려면 az devops 보안 권한 네임스페이스 목록 명령을 사용합니다.
  • subject: Required. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
  • recurse: Optional. true이고 네임스페이스가 계층적이면 이 매개 변수는 토큰의 자식 ACL을 반환합니다.
  • token: Optional. 개별 보안 토큰을 지정합니다.

Example

다음 명령은 지정된 네임스페이스에 대한 테이블 형식의 토큰을 나열합니다. 이 토큰은 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>

Parameters

  • id or namespace-id: Required. 보안 네임스페이스의 ID입니다.

Example

다음 명령은 지정된 네임스페이스 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

Reset permissions

az devops security permission reset 명령을 사용하여 지정된 사용자 또는 그룹의 사용 권한 비트를 다시 설정합니다.

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

Parameters

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

Example

다음 명령은 지정된 네임스페이스의 사용자 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]

Parameters

  • id or namespace-id: Required. 보안 네임스페이스의 ID입니다.
  • subject: Required. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
  • token: Required. 개별 보안 토큰입니다.
  • yes: Optional. 확인 메시지를 표시하지 않습니다.

Example

다음 명령은 확인 없이 지정된 네임스페이스에서 사용자 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

Show permissions

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

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

Parameters

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

Example

다음 명령은 지정된 네임스페이스에 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

Update permissions

You can assign allow or deny permissions to a specified user or group with the az devops security permission update command.

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

Parameters

  • id or namespace-id: Required. The ID of the security namespace.
  • subject: Required. The email address or group descriptor of the user.
  • token: Required. An individual security token.
  • allow-bit: Optional. Specifies the allow bit or adds more bits. Required if deny-bit isn't provided.
  • deny-bit: Optional. Specifies the deny bit or adds other bits. Required if allow-bit isn't provided.
  • merge: Optional. Determines whether to merge with existing access control entries (ACE).
    • If set to true, the existing ACEs allow and deny permissions merge with those permissions of the incoming ACE.
    • If set to false or omitted, the existing ACE is replaced.
    • 허용되는 값은 true 또는 false.

Example

The following command updates the permissions for ExecuteUnrestrictedQuery (bit 8) for the user contoso@contoso.com in the specified namespace, and shows the results in table format.

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대한 보안 네임스페이스 및 권한 참조를 참조하세요.