Bagikan melalui


Mengelola izin dengan alat baris perintah

Azure DevOps

Izin memberikan akses untuk melakukan tindakan tertentu pada sumber daya tertentu seperti yang dijelaskan dalam Mulai menggunakan izin, akses, dan grup keamanan. Anda mengelola sebagian besar izin melalui portal web. Namun, Anda dapat mengelola izin menggunakan alat baris perintah atau REST API.

Azure DevOps memberikan sejumlah izin secara default kepada anggota grup keamanan default. Anda dapat menambahkan dan mengelola izin pada tingkat yang lebih terperinci dengan az devops security permission perintah. Gunakan perintah ini untuk:

  • Menampilkan izin yang terkait dengan namespace keamanan
  • Lihat detail tentang izin tersebut
  • Memperbarui atau mengatur ulang izin

Catatan

Namespace layanan dan token berlaku untuk semua versi Azure DevOps. Yang tercantum di sini berlaku untuk Azure DevOps 2019 dan versi yang lebih baru. Namespace layanan dapat berubah dari waktu ke waktu. Untuk mendapatkan daftar namespace layanan terbaru, jalankan salah satu alat baris perintah atau REST API. Beberapa namespace telah tidak digunakan lagi seperti yang tercantum dalam namespace keamanan dan referensi izin, Namespace tidak digunakan lagi dan baca-saja..

Prasyarat

  • Untuk mengelola token dan namespace, Anda harus menjadi anggota grup keamanan Administrator Koleksi Proyek. Untuk informasi selengkapnya tentang token, lihat Namespace keamanan dan referensi izin.
  • Anda harus telah menginstal ekstensi Azure DevOps CLI seperti yang dijelaskan di Mulai menggunakan Azure DevOps CLI.
  • Masuk ke Azure DevOps menggunakan az login.
  • Untuk contoh dalam artikel ini, atur organisasi default sebagai berikut:
    • Untuk Azure DevOps Services: az devops configure --defaults organization=YourOrganizationURL.
    • Untuk Azure DevOps Server: az devops configure --defaults organization=https://ServerName/CollectionName

Perintah izin keamanan

Masukkan perintah berikut untuk mencantumkan semua perintah yang tersedia.

az devops security permission -h

Untuk informasi selengkapnya tentang konsep yang terkait dengan izin keamanan, lihat dokumentasi REST API Keamanan

Perintah Deskripsi
az devops security permission list Mencantumkan token untuk pengguna atau grup dan namespace tertentu.
az devops security permission namespace list Mencantumkan semua namespace yang tersedia untuk organisasi.
az devops security permission namespace show Perlihatkan detail izin yang tersedia di setiap namespace layanan.
az devops security permission reset Reset izin untuk bit izin yang ditentukan.
az devops security permission reset-all Hapus semua izin token ini untuk pengguna atau grup.
az devops security permission show Perlihatkan izin untuk token, namespace, dan pengguna atau grup tertentu.
az devops security permission update Tetapkan izin izin izinkan atau tolak untuk pengguna atau grup yang ditentukan.

Parameter berikut bersifat opsional untuk semua perintah, dan tidak tercantum dalam contoh yang disediakan dalam artikel ini.

  • deteksi: Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true. Default-nya adalah true.
  • org: URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default menggunakan az devops configure -d organization=ORG_URL. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: --org https://dev.azure.com/MyOrganizationName/.

Mencantumkan namespace keamanan

Anda dapat mencantumkan semua namespace yang tersedia untuk organisasi dengan perintah az devops security permission namespace list . Untuk deskripsi semua namespace keamanan dan token terkait, lihat Namespace keamanan dan referensi izin.

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

Parameter

  • khusus lokal: Opsional. Jika true, hanya ambil namespace keamanan lokal.

    Namespace keamanan mungkin memiliki data mereka yang dikuasai dalam satu layanan mikro, tetapi masih terlihat di layanan mikro lainnya. Jika data namespace keamanan dikuasai dalam layanan mikro X, dikatakan lokal untuk layanan mikro tersebut. Jika tidak, dikatakan jarak jauh.

Masukkan az devops security permission namespace list untuk mencantumkan namespace yang ditentukan untuk organisasi atau server lokal Anda.

Catatan

Beberapa namespace yang tercantum tidak digunakan lagi dan tidak boleh digunakan. Untuk daftar namespace yang tidak digunakan lagi, lihat referensi Namespace, Namespace tidak digunakan lagi, dan namespace baca-saja.

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

Contoh: Mencantumkan namespace keamanan lokal

Perintah berikut ini hanya mencantumkan namespace keamanan lokal untuk organisasi Anda dan memperlihatkan hasilnya dalam format tabel.

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

Mencantumkan token untuk namespace keamanan

Anda dapat mencantumkan token untuk namespace dan pengguna atau grup tertentu dengan perintah az devops security permission list .

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

Parameter

  • subjek: Diperlukan. Alamat email atau pendeskripsi grup pengguna.
  • recurse: Opsional. Jika true, dan namespace layanan bersifat hierarkis, parameter ini mengembalikan ACL anak dari token.
  • token: Opsional. Tentukan token keamanan individual.

Contoh

Perintah berikut mencantumkan token dalam format tabel untuk namespace yang ditentukan, yang sesuai dengan Analytics, dan terkait dengan pengguna 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

Perlihatkan detail namespace layanan

Anda dapat menampilkan detail izin yang tersedia di setiap namespace layanan dengan perintah az devops security permission namespace show .

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

Parameter

  • id atau namespace-id: Diperlukan. ID namespace keamanan.

Contoh

Perintah berikut ini memperlihatkan detail izin yang tersedia untuk ID namespace yang ditentukan dan mengembalikan hasil dalam format tabel.

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

Mengatur ulang izin

Anda dapat mengatur ulang bit izin untuk pengguna atau grup tertentu dengan perintah az devops security permission reset .

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

Parameter

  • id atau namespace-id: Diperlukan. ID namespace keamanan.
  • permission-bit: Diperlukan. Bit izin atau penambahan bit izin yang perlu diatur ulang untuk pengguna atau grup dan token tertentu.
  • subjek: Diperlukan. Alamat email atau pendeskripsi grup pengguna.
  • token: Diperlukan. Token keamanan individu.

Contoh

Perintah berikut mereset izin token bit 8 untuk pengguna contoso@contoso.com di namespace yang ditentukan dan mengembalikan hasil dalam format tabel.

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

Mereset semua izin

Anda dapat menghapus semua izin token untuk pengguna atau grup dengan perintah az devops security reset-all .

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

Parameter

  • id atau namespace-id: Diperlukan. ID namespace keamanan.
  • subjek: Diperlukan. Alamat email atau pendeskripsi grup pengguna.
  • token: Diperlukan. Token keamanan individu.
  • Ya: Opsional. Jangan meminta konfirmasi.

Contoh

Perintah berikut menghapus semua izin untuk pengguna contoso@contoso.com di namespace yang ditentukan tanpa memerlukan konfirmasi. Hasilnya ditunjukkan dalam 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

Perlihatkan izin

Anda dapat menampilkan izin untuk token, namespace, dan pengguna atau grup tertentu dengan perintah az devops security permission show .

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

Parameter

  • id atau namespace-id: Diperlukan. ID namespace keamanan.
  • subjek: Diperlukan. Alamat email atau pendeskripsi grup pengguna.
  • token: Diperlukan. Token keamanan individu.

Contoh

Perintah berikut menunjukkan detail izin token untuk pengguna contoso@contoso.com di namespace yang ditentukan dan mengembalikan hasil dalam format tabel.

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

Memperbarui izin

Anda dapat menetapkan izin izin izinkan atau tolak ke pengguna atau grup tertentu dengan perintah az devops security permission update .

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

Parameter

  • id atau namespace-id: Diperlukan. ID namespace keamanan.
  • subjek: Diperlukan. Alamat email atau pendeskripsi grup pengguna.
  • token: Diperlukan. Token keamanan individu.
  • allow-bit: Opsional. Izinkan bit atau penambahan bit. Diperlukan jika --deny-bit hilang.
  • deny-bit: Opsional. Tolak bit atau penambahan bit. Diperlukan jika --allow-bit hilang.
  • merge: Opsional. Jika diatur, entri kontrol akses (ACE) yang ada memiliki izin dan tolak digabungkan dengan izinkan dan tolak ACE masuk. Jika tidak diatur, ACE yang ada akan dialihkan. Nilai yang diterima salah atau benar.

Contoh

Perintah berikut memperbarui izin untuk ExecuteUnrestrictedQuery (bit 8) untuk pengguna contoso@contoso.com di namespace yang ditentukan, dan memperlihatkan hasilnya dalam format tabel.

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

Namespace keamanan dan ID-nya

Lihat Namespace keamanan dan referensi izin untuk Azure DevOps.