コマンドラインツールを使用して権限を管理する

Azure DevOps Services

アクセス許可は、「アクセス許可、アクセス許可、およびセキュリティ グループの概要」の説明に従って、特定のリソースに 対して特定のアクションを実行するためのアクセス権を付与します。 ほとんどのアクセス許可は Web ポータルを使用して管理します。 ただし、コマンド ライン ツールまたは REST API を使用してアクセス許可を管理できます。

Azure DevOps では、既定のセキュリティ グループのメンバーに対して、既定で多数のアクセス許可が付与されます。 コマンドを使用して、より詳細なレベルでアクセス許可を az devops security permission 追加および管理できます。 次のコマンドを使用します。

  • セキュリティ名前空間に関連付けられているアクセス許可を表示する
  • これらのアクセス許可に関する詳細を表示する
  • アクセス許可を更新またはリセットする

Note

名前空間とトークンは、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

セキュリティアクセス許可コマンド

次のコマンドを入力して、使用可能なすべてのコマンドを一覧表示します。

az devops security permission -h

セキュリティアクセス許可に関連する概念の詳細については、Security 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 config を使って取得されていない場合は必須です (例: --org https://dev.azure.com/MyOrganizationName/)。

セキュリティ名前空間を一覧表示する

az devops security permission namespace list コマンドを使用して、組織で 使用可能なすべての名前空間を一覧表示 できます。 すべてのセキュリティ名前空間と関連するトークンの説明については、「セキュリティ名前空間とアクセス許可のリファレンス」を参照してください

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

パラメーター

  • local-only: 省略可能。 true の場合は、ローカル セキュリティ名前空間のみを取得します。

    セキュリティ名前空間では、データが 1 つのマイクロサービスでマスターされている可能性がありますが、他のマイクロサービスでは引き続き表示されます。 セキュリティ名前空間のデータがマイクロサービス 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]

パラメーター

    • id または namespace-id: 必須。 セキュリティ名前空間の ID。 ID を取得するには、az devops security permission namespace list コマンドを使用します。
  • 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
  • recurse: 省略可能。 true で名前空間が階層型の場合、このパラメーターはトークンの子 ACL を返します。
  • token: 省略可能。 個々のセキュリティ トークンを指定します。

次のコマンドは、指定された名前空間のテーブル形式でトークンを一覧表示します。これは、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: 必須。 特定のユーザーまたはグループとトークンに対してリセットする必要があるアクセス許可ビットまたはアクセス許可ビットの追加。
  • 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
  • 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。
  • 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
  • token: 必須。 個々のセキュリティ トークン。
  • yes: 省略可能。 確認を求めるプロンプトを表示しません。

次のコマンドは、確認を必要とせずに、指定された名前空間内のユーザー 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。
  • 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
  • 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。
  • 件名: 必須。 ユーザーの電子メール アドレスまたはグループ記述子。
  • 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 のセキュリティ名前空間とアクセス許可のリファレンスを参照してください