Successfully reported this slideshow.
Your SlideShare is downloading. ×

Azure DevOps's security

Ad

自己紹介
personal:
name: かめがわ かずし
alias: kkamegawa
community:
MVP: Microsoft MVP for Developer Technologies(2009-)
UsersGroup:...

Ad

This contents based on 2020/5/2

Ad

持ち帰っていただきたいもの
組織としてAzure DevOpsを運用する場合のポイント
Azure DevOpsをAzure ADベースで管理するポイント

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 51 Ad
1 of 51 Ad

More Related Content

Azure DevOps's security

  1. 1. 自己紹介 personal: name: かめがわ かずし alias: kkamegawa community: MVP: Microsoft MVP for Developer Technologies(2009-) UsersGroup: Team Foundation Server Users Group URL: https://dev.azure.com/tfsug/tfsuginfo Blog: はてなブログ URL: https://kkamegawa.hatenablog.jp
  2. 2. This contents based on 2020/5/2
  3. 3. 持ち帰っていただきたいもの 組織としてAzure DevOpsを運用する場合のポイント Azure DevOpsをAzure ADベースで管理するポイント
  4. 4. Azure DevOps全体象
  5. 5. Azure DevOps概要 アジャイルツールを使用し て、より迅速にユーザーに 価値をもたらし、 チームの 垣根を越えて作業の計画、 追跡、相談ができます。 多くの言語、プラットフォーム、 クラウドに 対応したCI/CD を使 用して、ビルド、テスト、 デプロ イできます。GitHub や他の Git プロバイダーも対応しています。 クラウドでホストされた容 量無制限のプライベート Git リポジトリです。プルリクエ ストと高度なファイル管理 を提供します。 手動の探索的テスト ツー ルを使用することで、テス トと公開を自信を持って行 えます。 パッケージを作成、提供して、 チームで共有し、ワンクリック で CI/CD パイプラインに 成果 物を追加できます。 Azure Boards Azure ReposAzure Pipelines Azure Test Plans Azure Artifacts https://azure.com/devops 
  6. 6. Azure DevOps全体像 MSアカウン ト 組織アカウン ト Express Route GitHub アカウント
  7. 7. Azure DevOpsの管理と聞いて 思い浮かぶところは?
  8. 8. Azure DevOpsの管理ポイント MSアカウン ト 組織アカウン ト GitHub アカウント Express Route
  9. 9. アカウント管理
  10. 10. Azure DevOpsの管理ポイント MSアカウン ト 組織アカウン ト GitHub アカウント Express Route
  11. 11. Azure DevOpsの認証に使用可能なアカウント Microsoft アカウント 組織アカウント (Azure AD)GitHub
  12. 12. Azure ADベースで Azure DevOpsを使う 場合のポイント
  13. 13. 組織アカウントと個人アカウントの違い 管理の主体(組織 or 個人) アカウントベースのアクセス制御 お金のかけ方 オンプレミスとの連携
  14. 14. Azure ADアカウントを作る方法 法人用Office 365を持っていればそのまま http://aad.portal.azure.com/ もっていない場合 Office 365を契約する? Azure ADを新規で作る?
  15. 15. Azure ADと連携して使う
  16. 16. Azure ADの作り方 組織の Azure ADを使う 独立した Azure ADを使う
  17. 17. 組織のAzure ADを使うケース Office 365がすでに入っている 自社内だけで使用する 社外パートナー(外部Azure AD)ユーザーを自社Azure ADに招待しない
  18. 18. 独立したAzure ADを使うケース 社外のパートナーと共同で使用する 社外の顧客に納品する 明確に課金とセキュリティの分割ポイントにしたい
  19. 19. 独立したAzure ADで運用する場合 別Azure ADを作成 新Azure ADにAzure DevOps Organizationを作る 全員Azure AD B2Bで新Azure ADへ参加する https://kkamegawa.hatenablog.jp/entry/2018/05/25/071259
  20. 20. Azure AD B2BとAzure DevOps Partner Azure AD Azure AD (Azure DevOps) Azure AD (Office 365) Azure AD B2B Azure AD B2BPartner Employees Enterprise Company Partner Company
  21. 21. Azure AD B2BでAzure DevOpsを使うメリット 不要になった時点でAzure AD自体を消せばよい 継続使用時は顧客側にAzure ADを作ってもらう セキュリティ、課金の分界点にできる Azure DevOpsのOwner変更で納品代わり
  22. 22. Azure AD B2Bで作る場合の注意点 Teamsを使う場合のテナントについて Azure AD Premium機能は作ったAD毎に課金 Azure ADの管理方式設計
  23. 23. 注意点1 : Teamsを使う場合 Azure BoardsをTeamsのタブに追加はできなくなる 代わりにAzure Boardsアプリを使う セルフサービスアクセスを使って、無料版Teamsを 使うと、管理が厄介 https://www.microsoft.com/microsoft- 365/roadmap?filters=&searchterms=52416 管理者のいないTeams用のAzure ADドメインができてしまう。 詳細は国井さんのAzure AD B2Bを見てみようシリーズで。 https://azuread.net/2018/07/19/azure-ad-b2b-part1/
  24. 24. Azure BoardsとTeams統合について https://docs.microsoft.com/en- us/azure/devops/boards/integrations/boards- teams?view=azure-devops
  25. 25. 注意点2: Azure AD Premiumは別課金 Azure AD Premiumはテナント単位に請求される https://docs.microsoft.com/ja-jp/azure/active-directory/b2b/licensing-guidance Azure Active Directory B2B コラボレーションのライセンスに関するガイダンス 自社テナントでPremiumを購入していた場合、二重課金に なる アプリを使った多要素認証は無償化が発表された 多要素認証用のPremiumは不要
  26. 26. 注意点3 : Azure ADの管理設計 そもそもAzure ADの管理をしたいわけじゃない 組織で使っているAzure ADの運営方針を参考にして作る 全然違うポリシーで運営していると「抜け穴作っている」と 思われないように
  27. 27. Azure DevOpsの権限
  28. 28. Azure DevOpsの管理ポイント MSアカウント 組織アカウント GitHub アカウント Express Route
  29. 29. サブスクリプション Azure DevOpsに紐づくサブスクリプションが必要 サブスクリプションに紐づくOrganizationは複数作成 可能 Azure ADでAzure DevOps管理者ロールを使用して制御 サブスクリプションへのアクセス権限も慎重に
  30. 30. Azure DevOps管理者ロール
  31. 31. Azure DevOpsとサブスクリプション、グループの関係
  32. 32. 外部接続とサブスクリプション
  33. 33. Organization分割の指針 開発者が地理的に近いデータセンターにしたい ゲストユーザーを秘匿したい サブスクリプション単位で使うAzure Artifactsを集中管理した い 接続方法を変更したい 監査単位を分離させたい
  34. 34. Organization設定で接続方法を制限する 接続ポリシー 説明 Alternate authentication credentials 以前、MSアカウントしかサポートしていなかった頃の 名残。Windows以外の環境でAzure DevOpsに接続す るために使用。現在は非推奨 Third-party application access via OAuth OAuthで認可する他社提供のアプリケーションを許可 するか。 SSH authentication SSHでの接続を許可するか External guest access 外部組織のゲストユーザーを許可するか Allow public projects プロジェクトを一般公開できるようにするか。仕事で はオフ Enable Azure Active Directory Conditional Access Policy Validation Azure ADのCAPを適用する。特定のIPから、証明書、 MFA必須といったアクセス制御ができるようになる。 https://dev.azure.com/{アカウント}/_settings/policy
  35. 35. Organizationに対する監査に関して Azure DevOpsでの監査ログは90日保存 定期的になんらかの方法でexportする Logic Appsで自動的にAzure Cosmos DBにエクスポートし てみる https://kkamegawa.hatenablog.jp/entry/2019/09/01/115041 現在特定イベント発生時の通知はない
  36. 36. サービスでセキュリティをかける サービスで機能制限がかかります Stakeholder BASIC Visual Studio Subscriber 明示的に 有効化した時 BASIC + Test Plan Visual Studioが 不要な人向け
  37. 37. 接続経路
  38. 38. Azure DevOpsの管理ポイント MSアカウント 組織アカウント GitHub アカウント Express Route
  39. 39. 接続を管理したい 承認したデバイスのみアクセス 特定の事業所および地域からのみアクセス Express Routeのみでのアクセス Firewallで接続先を制限したい
  40. 40. 承認したデバイスからのみアクセス 条件付きアクセス(Azure AD P1必須)を使う https://docs.microsoft.com/ja-jp/azure/active-directory/conditional-access/ ハイブリッドAD参加(Windows)、Azure AD参加端末のみ認める https://docs.microsoft.com/ja-jp/azure/active-directory/devices/hybrid-azuread-join-plan コンプライアンス準拠を強制 パスワードポリシー デバイス暗号化 デバイスセキュリティ
  41. 41. 特定の事業所からのアクセスに制限したい Azure ADの条件付きアクセスポリシー(CAP)を使って制限する 特定のIPアドレスのみ 特定の国や地域のみ
  42. 42. Firewallで接続先を制限したい Azure DevOpsが使うIPv4 / IPv6アドレスは明示されている。 IP以外にもサインイン用に必要なURLが多数あるので注意 Artifactsを使わず、NuGet / mavenなどに直接アクセスしたい 場合は別登録 https://devblogs.microsoft.com/devops/new-ip-firewall-rules-for-azure-devops/ https://docs.microsoft.com/en-us/azure/devops/organizations/security/allow-list- ip-url?view=azure-devops
  43. 43. Azure DevOpsとExpress Route MSアカウント 組織アカウント GitHub アカウント Express Route
  44. 44. Express Routeは専用線だからこれだけあればいい? No。ポータルが使うJavaScript/CSSなどはインター ネット経由で取得します。 Web UI一切なし(APIのみ)ならひょっとして? 速度は50Mbpsから。200Mbpsまでの増速は簡単。 減速は不可
  45. 45. チームプロジェクトの管理
  46. 46. プロジェクトの設定 チームプロジェクトごとに Public/Private(既定)を設定 誤って公開されたくない場合は Organizationで不可にする 使用しないサービスはOffに 例:レポジトリをGitHub使っていれば Reposは不要
  47. 47. チームプロジェクトを分割する方針案 リリースするプロダクト単位 サービス接続(Azure/GitHub等)で区切る Service Hook GitHub(Azure Boardsを連携) SVN, GitHub, Docker Hubなどの連携範囲 (OAuth, パスワード) Sprint 160以降、プロジェク トで共有可能になりました。
  48. 48. グループ管理 グループを作ってロール単位で割当がおすすめ ビルド定義を管理するグループ ライセンスグループ コードレビュワーグループ…etc 外部サービス接続管理 Azure ADのグループかAzure DevOpsのグループで 運用 Azure ADグループ数はテナント毎の上限があるため注意
  49. 49. Azure ADのグループ参照 Azureポータルで作ったAADグループを Azure DevOpsで利用可能 ライセンス一括割り当てで使用できる ※:ただし、同期には時間がかかる(1h間隔)
  50. 50. まとめ Azure DevOpsをセキュアに運用するにはAzure AD ベースでやると楽になります。 グループを考える場合、サービス、役割、開発チー ムというグループ中心で考えると運用が楽になり ます。

×