명령줄 도구를 사용하여 권한 관리
Azure DevOps Services
권한은 권한, 액세스 및 보안 그룹시작하기
Azure DevOps는 기본적으로 기본 보안 그룹의 멤버에게 많은 권한을 부여합니다.
az devops security permission
명령을 사용하여 더 세부적인 수준에서 권한을 추가하고 관리할 수 있습니다. 다음 명령을 사용하여 다음을 수행합니다.
- 보안 네임스페이스와 연결된 권한 보기
- 해당 권한에 대한 세부 정보 보기
- 권한 업데이트 또는 재설정
메모
네임스페이스 및 토큰은 모든 버전의 Azure DevOps에 유효합니다. 여기에 나열된 내용은 Azure DevOps 2019 이상 버전에 유효합니다. 네임스페이스는 시간이 지남에 따라 변경될 수 있습니다. 최신 네임스페이스 목록을 얻으려면 명령줄 도구 또는 REST API 중 하나를 실행합니다. 일부 네임스페이스는 보안 네임스페이스 및 권한 참조에 나열된 대로 사용되지 않으며 더 이상 사용되지 않으며 읽기 전용 네임스페이스는.
필수 구성 요소
- 사용 권한: Project Collection Administrators 보안 그룹의 구성원이 됩니다. 토큰에 대한 자세한 내용은 보안 네임스페이스 및 권한 참조참조하세요.
도구 : Azure DevOps CLI시작하기설명한 대로 Azure DevOps CLI 확장을 설치합니다. -
az login
사용하여 Azure DevOps에 로그인합니다. - 이 문서의 예제에서는 다음과 같이 기본 조직을 설정합니다.
- Azure DevOps Services
: . - Azure DevOps Server
:
- 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 |
지정된 사용자 또는 그룹에 허용 또는 거부 권한을 할당합니다. |
다음 매개 변수는 모든 명령에 대해 선택 사항이며 이 문서에 제공된 예제에 나열되지 않습니다.
- 검색: 조직을 자동으로 검색합니다. 허용되는 값: false, true. 기본값은 true입니다.
-
조직: 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 security permission list 명령을
az devops security permission list --id
--subject
[--recurse]
[--token]
매개 변수
-
- id 또는 네임스페이스 ID: 필수입니다. 보안 네임스페이스의 ID입니다. ID를 가져오려면 az devops 보안 권한 네임스페이스 목록 명령을 사용합니다.
- 제목: 필수입니다. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
- 재귀: 선택 사항입니다. 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 또는 네임스페이스 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 또는 네임스페이스 ID: 필수입니다. 보안 네임스페이스의 ID입니다.
- 권한 비트: 필수입니다. 사용 권한 비트 또는 지정된 사용자 또는 그룹 및 토큰에 대해 다시 설정해야 하는 사용 권한 비트의 추가입니다.
- 제목: 필수입니다. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
- 토큰: 필수입니다. 개별 보안 토큰입니다.
본보기
다음 명령은 지정된 네임스페이스의 사용자 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 또는 네임스페이스 ID: 필수입니다. 보안 네임스페이스의 ID입니다.
- 제목: 필수입니다. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
- 토큰: 필수입니다. 개별 보안 토큰입니다.
- 예: 선택 사항입니다. 확인 메시지를 표시하지 않습니다.
본보기
다음 명령은 확인 없이 지정된 네임스페이스에서 사용자 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 또는 네임스페이스 ID: 필수입니다. 보안 네임스페이스의 ID입니다.
- 제목: 필수입니다. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
- 토큰: 필수입니다. 개별 보안 토큰입니다.
본보기
다음 명령은 지정된 네임스페이스에 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 --id
--subject
--token
[--allow-bit]
[--deny-bit]
[--merge {false, true}]
매개 변수
- id 또는 네임스페이스 ID: 필수입니다. 보안 네임스페이스의 ID입니다.
- 제목: 필수입니다. 사용자의 전자 메일 주소 또는 그룹 설명자입니다.
- 토큰: 필수입니다. 개별 보안 토큰입니다.
- 허용 비트
: 선택 사항입니다. 허용 비트를 지정하거나 비트를 더 추가합니다. 거부 비트 제공되지 않은 경우 필수. - 거부 비트: 선택 사항입니다. 거부 비트를 지정하거나 다른 비트를 추가합니다. 허용 비트 제공되지 않은 경우 필수.
- 병합
: 선택 사항입니다. 기존 ACE(액세스 제어 항목)와 병합할지 여부를 결정합니다.- true
설정하면 기존 ACE는 들어오는 ACE의 사용 권한과 병합을 허용 및 거부합니다. - false
설정하거나 생략하면 기존 ACE가 대체됩니다. - 허용되는 값은
true
또는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대한