Azure:Terraformを使用したサービスプリンシパルユーザーのベストプラクティス

ハフィズ

Terraformを使用してAzureでインフラストラクチャを管理しているときに、ServicePrincipleユーザーをどのように使用する必要があるかについて少し混乱しています。

たとえば、チーム全体で共有できる単一のSPを用意することをお勧めしますか?または、ユーザーごとにSPを設定する必要がありますか?

ユーザーごとのSPの場合、1人のSPユーザーでプロビジョニングされたキーボールトなどの一部のリソースで問題が発生するため、そのユーザーに対してアクセスポリシーが定義されていますが、別のSPを持つチーム内の別の人はラップトップからそのボールトを変更するためのアクセス。

私の質問が十分に明確であるかどうかはわかりませんが、これらのシナリオに関する具体的な詳細を見つけることができません。

とても感謝しています

リック・レイニー

サービスプリンシパルは、操作を実行するサービス(人間以外)がある場合に使用する必要がありますたとえば、このシナリオでは、Terraformはサービスプリンシパルを使用して、CI / CDパイプラインの一部としてインフラストラクチャをプロビジョニングします。

サービスプリンシパル(任意の環境)は、通常、最小特権で構成されますこれは、サービスプリンシパルが、環境をプロビジョニングするためにTerraformを呼び出すなど、単一の非常に特定の目的で使用されることを目的としているためです。そのため、サービスプリンシパルには、特定のリソースグループ(またはリソースグループのセット)のリソースをプロビジョニングするために使用される、Azure KeyVaultから特定のシークレットのセットを読み取るアクセス許可がある場合があります。それでおしまい。

これを、作業に使用するものなどのユーザーアカウントと比較してください。複数のAzureサブスクリプションにアクセスしたり、必要な場所にリソースをプロビジョニングしたり、リソースを削除したり、リソースへのアクセスを構成したりできます。

サービスプリンシパルを使用する主な理由は、セキュリティにあります。上記の例を使用すると、サービスプリンシパルの資格情報(クライアントIDとシークレット)が侵害された場合、それらの資格情報で実行できるのは、キーボールトからシークレットを読み取り、特定のリソースグループのリソースをプロビジョニングすることだけです。

ここのドキュメントは、サブスクリプション全体にサービスプリンシパルコントリビューターのアクセス許可を与えることを示しています。これは、上記の例よりも制限が少なくなっています。ただし、別のベストプラクティスを想定していると思います。つまり、開発/テスト環境では、本番環境や他の環境とは異なるAzureサブスクリプションを使用する必要があります。そのため、サービスプリンシパルは、開発/テスト専用のサブスクリプションに対する完全なコントリビューター権限を持っていますが、組織が持っている他のサブスクリプションにアクセスすることも、サブスクリプション内のリソースへのアクセス構成するために使用することもできません

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Azure:Terraformを使用したサービスプリンシパルユーザーのベストプラクティス

分類Dev

WebサービスとSOAPを使用したクライアント/サーバーアプリケーションでの遅延プロパティの使用

分類Dev

Laravelを使用した自動ログインのユーザー向けのベストプラクティス

分類Dev

C#でAzureサービスプリンシパルのベアラートークンを取得する方法

分類Dev

サービスプリンシパルを使用してAzureADIIDにマップされたAzureSQLデータベースユーザーを作成できない

分類Dev

クラスベースのビューを備えたDjangoマルチユーザープロファイル(ベストプラクティス)

分類Dev

Terraformを使用したサービスプリンシパルパスワードの更新

分類Dev

Azure:サービスプリンシパルがサービスプリンシパルのリストを取得するためのアクセス許可

分類Dev

Linuxサービスを別のユーザーとして実行するためのベストプラクティス

分類Dev

autofacを使用したオンザフライの再構成可能/更新可能(マイクロ)サービスのベストプラクティス?

分類Dev

Java8のオプションリターンを使用したJPAのベストプラクティス?

分類Dev

APIサービスはユーザーアクティベーションメールまたはクライアントアプリケーションを送信する必要がありますか?

分類Dev

JMSおよびJPA-トランザクションサービスのベストプラクティス

分類Dev

プロセスサービングアプリケーションプール「アプリプール」で、Windowsプロセスアクティベーションサービスとの致命的な通信エラーが発生しました

分類Dev

MATLABは、ユーザーが作成したクラスのプライベートメソッドとプロパティのヘルプを表示しません

分類Dev

クラスプロパティのビジュアルベーシックコレクション(リスト)

分類Dev

WebアプリケーションまたはWebサービスでユーティリティクラスを使用しますか?

分類Dev

ベストプラクティス/ jpa、hibernateを使用したデータ中心のアプリケーションの一般的なパターン

分類Dev

GUIを使用したアプリケーションのベストプラクティス

分類Dev

データベースを使用したオフラインツールのベストプラクティス

分類Dev

マイクロサービスアプリケーションのベストプラクティス

分類Dev

シェルスクリプトのデザインパターンまたはベストプラクティス

分類Dev

プリンシパルまたはアカウントサービスを使用して現在ログインしているユーザーを取得する方法

分類Dev

picocliを使用したスケーラブルなアプリケーション。ベストプラクティスの質問

分類Dev

サービスプリンシパルを使用して、ロールベースのアクセス制御を使用してAzureでホストされていないアプリケーションを認証できますか?

分類Dev

サービスにサブスクライブを追加し、そのサービスの単体テストを追加すると、プロパティ「サブスクライブ」がタイプ「サブスクリプション」に存在しませんか?

分類Dev

マイクロサービス–メモリ/時間の損失を最小限に抑えて他のマイクロサービスから特定のユーザーに関連データを取得するためのベストプラクティス

分類Dev

メールボックスの状態、デルタとサブスクリプションを同期するためのベストプラクティス

分類Dev

React Native pusher - laravel パスポート oauth を使用したプライベート チャネル サブスクリプション - http 応答の詳細

Related 関連記事

  1. 1

    Azure:Terraformを使用したサービスプリンシパルユーザーのベストプラクティス

  2. 2

    WebサービスとSOAPを使用したクライアント/サーバーアプリケーションでの遅延プロパティの使用

  3. 3

    Laravelを使用した自動ログインのユーザー向けのベストプラクティス

  4. 4

    C#でAzureサービスプリンシパルのベアラートークンを取得する方法

  5. 5

    サービスプリンシパルを使用してAzureADIIDにマップされたAzureSQLデータベースユーザーを作成できない

  6. 6

    クラスベースのビューを備えたDjangoマルチユーザープロファイル(ベストプラクティス)

  7. 7

    Terraformを使用したサービスプリンシパルパスワードの更新

  8. 8

    Azure:サービスプリンシパルがサービスプリンシパルのリストを取得するためのアクセス許可

  9. 9

    Linuxサービスを別のユーザーとして実行するためのベストプラクティス

  10. 10

    autofacを使用したオンザフライの再構成可能/更新可能(マイクロ)サービスのベストプラクティス?

  11. 11

    Java8のオプションリターンを使用したJPAのベストプラクティス?

  12. 12

    APIサービスはユーザーアクティベーションメールまたはクライアントアプリケーションを送信する必要がありますか?

  13. 13

    JMSおよびJPA-トランザクションサービスのベストプラクティス

  14. 14

    プロセスサービングアプリケーションプール「アプリプール」で、Windowsプロセスアクティベーションサービスとの致命的な通信エラーが発生しました

  15. 15

    MATLABは、ユーザーが作成したクラスのプライベートメソッドとプロパティのヘルプを表示しません

  16. 16

    クラスプロパティのビジュアルベーシックコレクション(リスト)

  17. 17

    WebアプリケーションまたはWebサービスでユーティリティクラスを使用しますか?

  18. 18

    ベストプラクティス/ jpa、hibernateを使用したデータ中心のアプリケーションの一般的なパターン

  19. 19

    GUIを使用したアプリケーションのベストプラクティス

  20. 20

    データベースを使用したオフラインツールのベストプラクティス

  21. 21

    マイクロサービスアプリケーションのベストプラクティス

  22. 22

    シェルスクリプトのデザインパターンまたはベストプラクティス

  23. 23

    プリンシパルまたはアカウントサービスを使用して現在ログインしているユーザーを取得する方法

  24. 24

    picocliを使用したスケーラブルなアプリケーション。ベストプラクティスの質問

  25. 25

    サービスプリンシパルを使用して、ロールベースのアクセス制御を使用してAzureでホストされていないアプリケーションを認証できますか?

  26. 26

    サービスにサブスクライブを追加し、そのサービスの単体テストを追加すると、プロパティ「サブスクライブ」がタイプ「サブスクリプション」に存在しませんか?

  27. 27

    マイクロサービス–メモリ/時間の損失を最小限に抑えて他のマイクロサービスから特定のユーザーに関連データを取得するためのベストプラクティス

  28. 28

    メールボックスの状態、デルタとサブスクリプションを同期するためのベストプラクティス

  29. 29

    React Native pusher - laravel パスポート oauth を使用したプライベート チャネル サブスクリプション - http 応答の詳細

ホットタグ

アーカイブ