명령줄 도구를 사용하여 권한 관리
Azure DevOps Services
권한은 권한, 액세스 및 보안 그룹 시작에 설명된 대로 특정 리소스에 대한 특정 작업을 수행할 수 있는 액세스 권한을 부여합니다. 웹 포털을 통해 대부분의 권한을 관리합니다. 그러나 명령줄 도구 또는 REST API를 사용하여 권한을 관리할 수 있습니다.
Azure DevOps는 기본적으로 기본 보안 그룹의 멤버에게 여러 권한을 부여합니다. 명령을 사용하여 더 세부적인 수준에서 az devops security permission
권한을 추가하고 관리할 수 있습니다. 다음 명령을 사용하여 다음을 수행합니다.
- 보안 네임스페이스와 연결된 권한 보기
- 해당 권한에 대한 세부 정보 보기
- 권한 업데이트 또는 재설정
참고 항목
네임스페이스 및 토큰은 모든 버전의 Azure DevOps에 유효합니다. 여기에 나열된 내용은 Azure DevOps 2019 이상 버전에 유효합니다. 네임스페이스는 시간이 지남에 따라 변경될 수 있습니다. 최신 네임스페이스 목록을 얻으려면 명령줄 도구 또는 REST API 중 하나를 실행합니다. 일부 네임스페이스는 보안 네임스페이스 및 권한 참조에 나열된 대로 사용되지 않으며 더 이상 사용되지 않으며 읽기 전용 네임스페이스입니다.
필수 조건
- 토큰 및 네임스페이스를 관리하려면 Project Collection 관리istrators 보안 그룹의 구성원이어야 합니다. 토큰에 대한 자세한 내용은 보안 네임스페이스 및 권한 참조를 참조하세요.
- Azure DevOps CLI 시작에 설명된 대로 Azure DevOps CLI 확장을 설치해야 합니다.
- 를 사용하여
az login
Azure DevOps에 로그인합니다. - 이 문서의 예제에서는 다음과 같이 기본 조직을 설정합니다.
- Azure DevOps Services의 경우:
az devops configure --defaults organization=YourOrganizationURL
. - Azure DevOps Server의 경우:
az devops configure --defaults organization=https://ServerName/CollectionName
- Azure DevOps Services의 경우:
보안 권한 명령
다음 명령을 입력하여 사용 가능한 모든 명령을 나열합니다.
az devops security permission -h
보안 권한과 관련된 개념에 대한 자세한 내용은 보안 REST API 설명서를 참조 하세요.
명령 | 설명 |
---|---|
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: 조직을 자동으로 검색합니다. 허용되는 값: false, true. 기본값은 true입니다.
- org: Azure DevOps 조직 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]
매개 변수
로컬 전용: 선택 사항입니다. true이면 로컬 보안 네임스페이스만 검색합니다.
보안 네임스페이스는 하나의 마이크로 서비스에서 데이터를 마스터할 수 있지만 다른 마이크로 서비스에서는 계속 볼 수 있습니다. 보안 네임스페이스의 데이터가 마이크로 서비스 X에서 마스터되는 경우 해당 마이크로 서비스에 로컬이라고 합니다. 그렇지 않으면 원격이라고 합니다.
조직 또는 온-프레미스 서버에 대해 정의된 네임스페이스를 나열하려면 입력 az devops security permission namespace list
합니다.
참고 항목
나열된 일부 네임스페이스는 더 이상 사용되지 않으며 사용해서는 안 됩니다. 사용되지 않는 네임스페이스 목록은 네임스페이 스 참조, 사용되지 않는 네임스페이스 및 읽기 전용 네임스페이스를 참조하세요.
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 보안 권한 목록 명령을 사용하여 지정된 네임스페이스 및 사용자 또는 그룹에 대한 토큰을 나열 할 수 있습니다.
az devops security permission list --id
--subject
[--recurse]
[--token]
매개 변수
-
- id 또는 namespace-id: 필수입니다. 보안 네임스페이스의 ID입니다. ID를 가져오려면 az devops 보안 권한 네임스페이스 목록 명령을 사용합니다.
- 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: 필수 요소입니다. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
- 토큰: 필수입니다. 개별 보안 토큰입니다.
예시
다음 명령은 지정된 네임스페이스의 사용자 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: 필수 요소입니다. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
- 토큰: 필수입니다. 개별 보안 토큰입니다.
- 예: 선택 사항입니다. 확인을 묻는 메시지를 표시하지 않습니다.
예시
다음 명령은 확인 없이 지정된 네임스페이스의 사용자 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: 필수 요소입니다. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
- 토큰: 필수입니다. 개별 보안 토큰입니다.
예시
다음 명령은 지정된 네임스페이스의 사용자 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 보안 권한 업데이트 명령을 사용하여 지정된 사용자 또는 그룹에 허용 또는 거부 권한을 할당할 수 있습니다.
az devops security permission update --id
--subject
--token
[--allow-bit]
[--deny-bit]
[--merge {false, true}]
매개 변수
- id 또는 namespace-id: 필수입니다. 보안 네임스페이스의 ID입니다.
- subject: 필수 요소입니다. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
- 토큰: 필수입니다. 개별 보안 토큰입니다.
- 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에 대한 보안 네임스페이스 및 권한 참조를 참조 하세요.