サービス プリンシパル。 プリンシパルとはどんな言葉?ビジネスでの使い方、役職やITでの意味も解説

Microsoft Azure Resource Manager仮想化環境

サービス プリンシパル

Azure CLI で Azure サービス プリンシパルを作成する Create an Azure service principal with the Azure CLI• この記事の内容 Azure サービスを使用する自動化ツールのアクセス許可は、常に制限されている必要があります。 Automated tools that use Azure services should always have restricted permissions. 完全な特権を持つユーザーとしてアプリケーションをサインインさせる代わりに、Azure にはサービス プリンシパルが用意されています。 Instead of having applications sign in as a fully privileged user, Azure offers service principals. Azure サービス プリンシパルは、Azure リソースにアクセスするアプリケーション、ホステッド サービス、および自動化ツールで使用するために作成される ID です。 An Azure service principal is an identity created for use with applications, hosted services, and automated tools to access Azure resources. このアクセスはサービス プリンシパルに割り当てられているロールによって制限されるため、どのリソースに、どのレベルでアクセスできるかを制御することができます。 This access is restricted by the roles assigned to the service principal, giving you control over which resources can be accessed and at which level. セキュリティ上の理由から、自動化ツールにはユーザー ID でのログインを許可するのではなく、常にサービス プリンシパルを使用することを推奨します。 For security reasons, it's always recommended to use service principals with automated tools rather than allowing them to log in with a user identity. この記事では、Azure CLI を使用して、サービス プリンシパルの作成、情報取得、およびリセットを行うための手順について説明します。 This article shows you the steps for creating, getting information about, and resetting a service principal with the Azure CLI. サービス プリンシパルの作成 Create a service principal サービス プリンシパルは、 コマンドを使用して作成します。 Create a service principal with the command. サービス プリンシパルを作成する際に、サービス プリンシパルが使用するサインイン認証の種類を選択します。 When creating a service principal, you choose the type of sign-in authentication it uses. 注意 ご利用のアカウントにサービス プリンシパルを作成するためのアクセス許可がない場合は、 az ad sp create-for-rbac から "この操作を完了するのに十分な特権がありません" というエラー メッセージが返されます。 If your account doesn't have permission to create a service principal, az ad sp create-for-rbac will return an error message containing "Insufficient privileges to complete the operation. " サービス プリンシパルを作成するには、Azure Active Directory 管理者にお問い合わせください。 Contact your Azure Active Directory admin to create a service principal. サービス プリンシパルで使用できる認証には、パスワードベースの認証と証明書ベースの認証の 2 種類があります。 There are two types of authentication available for service principals: Password-based authentication, and certificate-based authentication. パスワードベースの認証 Password-based authentication パスワード ベースの認証では、認証パラメーターは使用せず、自動的に作成されるランダム パスワードと共に使用されます。 Without any authentication parameters, password-based authentication is used with a random password created for you. az ad sp create-for-rbac --name ServicePrincipalName 重要 Azure CLI 2. As of Azure CLI 2. 68, the --password parameter to create a service principal with a user-defined password is no longer supported to prevent the accidental use of weak passwords. パスワード認証によるサービス プリンシパルの出力には、 password キーが含まれます。 The output for a service principal with password authentication includes the password key. 取得することはできません。 Make sure you copy this value - it can't be retrieved. パスワードを忘れた場合は、します。 If you forget the password,. appId キーと tenant キーは az ad sp create-for-rbac の出力に表示され、サービス プリンシパルの認証で使用されます。 The appId and tenant keys appear in the output of az ad sp create-for-rbac and are used in service principal authentication. これらの値を記録してください。 ただし、 を使用していつでも取得できます。 Record their values, but they can be retrieved at any point with. 証明書ベースの認証 Certificate-based authentication 証明書ベースの認証の場合は、 --cert 引数を使用します。 For certificate-based authentication, use the --cert argument. この引数を使用するには、既存の証明書を保持しておく必要があります。 This argument requires that you hold an existing certificate. このサービス プリンシパルを使用する任意のツールから、証明書の秘密キーにアクセスできることを確認します。 Make sure any tool that uses this service principal has access to the certificate's private key. 証明書は、PEM、CER、または DER などの ASCII 形式でなければなりません。 Certificates should be in an ASCII format such as PEM, CER, or DER. 文字列として証明書を渡すか、 path 形式を使用してファイルから証明書を読み込みます。 Pass the certificate as a string, or use the path format to load the certificate from a file. 注意 PEM ファイルを使用する場合は、ファイル内で PRIVATE KEY 秘密キー に CERTIFICATE 証明書 を追加する必要があります。 When using a PEM file, the CERTIFICATE must be appended to the PRIVATE KEY within the file. az ad sp create-for-rbac --name ServicePrincipalName --cert "-----BEGIN CERTIFICATE-----... pem --keyvault 引数を追加すると、Azure Key Vault 内の証明書を使用できます。 The --keyvault argument can be added to use a certificate in Azure Key Vault. ここでは、 --cert 値は証明書の名前を表します。 In this case, the --cert value is the name of the certificate. az ad sp create-for-rbac --name ServicePrincipalName --cert CertName --keyvault VaultName 認証用の " 自己署名" 証明書を作成するには、 --create-cert 引数を使用します。 pem to a safe place. The az ad sp create-for-rbac --create-cert command creates the service principal and a PEM file. PEM ファイルには、正しく書式設定された PRIVATE KEY 秘密キー と CERTIFICATE 証明書 が含まれます。 The PEM file contains a correctly formatted PRIVATE KEY and CERTIFICATE. --keyvault 引数を追加すると、証明書を Azure Key Vault に格納できます。 The --keyvault argument can be added to store the certificate in Azure Key Vault. When using --keyvault, the --cert argument is required. az ad sp create-for-rbac --name ServicePrincipalName --create-cert --cert CertName --keyvault VaultName 証明書を Key Vault に格納しない場合は、出力に fileWithCertAndPrivateKey キーが含まれています。 Unless you store the certificate in Key Vault, the output includes the fileWithCertAndPrivateKey key. このキーの値を見ると、生成された証明書の格納場所がわかります。 This key's value tells you where the generated certificate is stored. そうしないと、このサービス プリンシパルでサインインすることができません。 Make sure that you copy the certificate to a secure location, or you can't sign in with this service principal. Key Vault に格納されている証明書の場合、 を使用して証明書の秘密キーを取得します。 For certificates stored in Key Vault, retrieve the certificate's private key with. Key Vault では、証明書のシークレットの名前は、証明書の名前と同じです。 In Key Vault, the name of the certificate's secret is the same as the certificate name. 証明書の秘密キーにアクセスできない場合は、します。 If you lose access to a certificate's private key,. appId キーと tenant キーは az ad sp create-for-rbac の出力に表示され、サービス プリンシパルの認証で使用されます。 The appId and tenant keys appear in the output of az ad sp create-for-rbac and are used in service principal authentication. これらの値を記録してください。 ただし、 を使用していつでも取得できます。 Record their values, but they can be retrieved at any point with. 既存のサービス プリンシパルの取得 Get an existing service principal を使用して、テナント内のサービス プリンシパルの一覧を取得できます。 A list of the service principals in a tenant can be retrieved with. 既定では、このコマンドによって、テナントの最初の 100 個のサービス プリンシパルが返されます。 By default this command returns the first 100 service principals for your tenant. テナントのサービス プリンシパルをすべて取得するには、 --all 引数を使用します。 To get all of a tenant's service principals, use the --all argument. この一覧の取得には時間がかかる場合があるため、次の引数のいずれかを使用して一覧をフィルター処理することをお勧めします。 Getting this list can take a long time, so it's recommended that you filter the list with one of the following arguments:• --display-name は、指定した名前に一致する " プレフィックス" を持つサービス プリンシパルを要求します。 --display-name requests service principals that have a prefix that match the provided name. サービス プリンシパルの表示名は、作成時に --name パラメーターで設定した値です。 The display name of a service principal is the value set with the --name parameter during creation. サービス プリンシパルの作成時に --name を設定していない場合、名前のプレフィックスは azure-cli- になります。 If you didn't set --name during service principal creation, the name prefix is azure-cli-. --spn は、正確に一致するサービス プリンシパル名でフィルター処理します。 --spn filters on exact service principal name matching. --show-mine は、サインインしているユーザーによって作成されたサービス プリンシパルのみを要求します。 --show-mine requests only service principals created by the signed-in user. --filter は OData フィルターを使用して、" サーバー側" のフィルター処理を実行します。 --filter takes an OData filter, and performs server-side filtering. この方法は、CLI の --query 引数を使用したクライアント側のフィルター処理よりも推奨されます。 This method is recommended over filtering client-side with the CLI's --query argument. OData フィルターの詳細については、に関するページをご覧ください。 To learn about OData filters, see. サービス プリンシパル オブジェクトについて返される情報は、詳細情報です。 The information returned for service principal objects is verbose. サインインに必要な情報のみを取得するには、クエリ文字列 []. To get only the information necessary for sign-in, use the query string []. たとえば、現在ログインしているユーザーによって作成されたすべてのサービス プリンシパルのサインイン情報を取得するには、次のコマンドを使用します。 For example, to get the sign-in information for all service principals created by the currently logged in user: az ad sp list --show-mine --query "[]. az ad sp list or get the user and tenant, but not any authentication secrets or the authentication method. Key Vault 内の証明書のシークレットは を使用して取得できますが、既定では、それ以外のシークレットは保存されません。 Secrets for certificates in Key Vault can be retrieved with , but no other secrets are stored by default. 認証方法やシークレットを忘れた場合は、します。 If you forget an authentication method or secret,. サービス プリンシパル ロールを管理する Manage service principal roles Azure CLI には、ロールの割り当てを管理するために、次のコマンドが用意されています。 The Azure CLI has the following commands to manage role assignments:• サービス プリンシパルの既定のロールは 共同作成者です。 The default role for a service principal is Contributor. このロールには、Azure アカウントの読み取りと書き込みを行うための完全なアクセス許可が付与されます。 This role has full permissions to read and write to an Azure account. 閲覧者ロールは制限がより厳しく、読み取り専用アクセスが提供されます。 The Reader role is more restrictive, with read-only access. ロールベースのアクセス制御 RBAC とロールの詳細については、に関するページをご覧ください。 For more information on Role-Based Access Control RBAC and roles, see. この例では、 閲覧者ロールを追加し、 共同作成者ロールを削除します。 ロールを管理するには、Azure Active Directory 管理者にお問い合わせください。 If your account doesn't have permission to assign a role, you see an error message that your account "does not have authorization to perform action 'Microsoft. " Contact your Azure Active Directory admin to manage roles. ロールを追加しても、以前に割り当てられたアクセス許可は制限され " ません"。 Adding a role doesn't restrict previously assigned permissions. When restricting a service principal's permissions, the Contributor role should be removed. 変更を確認するには、割り当てられているロールの一覧を表示します。 Test the new service principal's credentials and permissions by signing in. サービス プリンシパルでサインインするには、 appId、 tenant、および資格情報が必要です。 To sign in with a service prinicpal, you need the appId, tenant, and credentials. パスワードを使用してサービス プリンシパルでサインインするには、次のコマンドを使用します。 To sign in with a certificate, it must be available locally as a PEM or DER file, in ASCII format. PEM ファイルを使用する場合は、ファイル内に PRIVATE KEY 秘密キー と CERTIFICATE 証明書 を共に追加する必要があります。 When using a PEM file, the PRIVATE KEY and CERTIFICATE must be appended together within the file. To learn more about signing in with a service principal, see. 資格情報をリセットする Reset credentials サービス プリンシパルの資格情報を忘れた場合は、 を使用します。 If you forget the credentials for a service principal, use. リセット コマンドでは、 az ad sp create-for-rbac と同じ引数を使用します。 The reset command takes the same arguments as az ad sp create-for-rbac.

次の

Azureのサービスプリンシパルがあまりにわかりにくいのでまとめておく

サービス プリンシパル

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our and. Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our and for details. Hi there! I just wanted to share a list of sites that helped me a lot during my studies:.................................................................................................................................... www. EssayWrite. best - Write an essay.................................................................................................................................... www. LitReview. xyz - Summary of books.................................................................................................................................... www. Coursework. best - Online coursework.................................................................................................................................... www. Dissertations. me - proquest dissertations.................................................................................................................................... www. ReMovie. club - Movies reviews.................................................................................................................................... www. WebSlides. vip - Best powerpoint presentations.................................................................................................................................... www. WritePaper. info - Write a research paper.................................................................................................................................... www. EddyHelp. com - Homework help online.................................................................................................................................... www. MyResumeHelp. net - Professional resume writing service.................................................................................................................................. www. HelpWriting. net - Help with writing any papers......................................................................................................................................... Save so as not to lose 5 days ago 3分でわかるAzureでのService Principal• よく理解している。 それをネタに3杯呑める。 よく分からないけど、自動化ツールを動かすとき に作った。 やらされた感ある。 何それ。 食べられるの? 1 2 3 玄人 経験者 でもモヤモヤ これからの人• リソースへのアクセスを必要とするアプリケーションやスクリプト があるとき、そのプロセスを特定のユーザーの資格情報で実行 すると高い確率で不都合が生じます。 ユーザーの権限がプロセスに割り当てるべき権限と異なっていた り、ユーザーの職責が変わったりする可能性があります。 そのような場合は、認証の資格情報とロールの割り当てを含んだ アプリケーションの ID を作成します。 アプリケーションは、その実行時に都度、この ID でログインする ことになります。 リソースにアクセスするためのサービス プリンシパルを Azure CLI で作成する• API Endpoint MARS• API Endpoint JUPITER MARS• サービスプリンシパル作成時、パスワードと証明書、どちらかの認 証方式を選びます• どちらかひとつです• サービスプリンシパルを割り当てるアプリケーションによって判断します• microsoft. サービスプリンシパルに対するロール、権限付与は慎重に• 「なんとなくOwner」とかしない• 最小権限の原則• クラウド時代、セキュリティの最優先事項はネットワークでなくID管理になりつつあります• microsoft.

次の

アプリケーション登録を作成して Horizon Cloud ポッド デプロイヤに必要なサービス プリンシパルを作成する

サービス プリンシパル

Windows システムで、ZIP ファイルの次の内容を展開します。 ps1 CSM および PCG の NSX Cloud サービス プリンシパルおよび管理対象 ID ロールを生成するための PowerShell スクリプトです。 このスクリプトには次のパラメータを使用します。 -subscriptionId• (オプション) -servicePrincipalName• (オプション) -useOneServicePrincipal AddServicePrincipal. ps1 複数のサブスクリプションを追加し、各サブスクリプションに異なるサービス プリンシパルを割り当てる場合に必要となる、オプションのスクリプトです。 次の手順の、 [シナリオ 3] を参照してください。 このスクリプトには次のパラメータを使用します。 -computeSubscriptionId• -transitSubscriptionId• -csmRoleName• json CSM のロール名と権限の JSON テンプレートです。 このファイルは、PowerShell スクリプトに入力され、スクリプトと同じフォルダに配置されている必要があります。 json PCG のロール名と権限の JSON テンプレートです。 このファイルは、PowerShell スクリプトに入力され、スクリプトと同じフォルダに配置されている必要があります。 注: デフォルトのサービス プリンシパル名 nsx-service-admin を上書きする場合は、パラメータ - servicePrincipalName を使用することもできます。 サービス プリンシパル名は、Microsoft Azure Active Directory 内で一意である必要があります。 [シナリオ 2:]同じ Microsoft Azure Directory に、 NSX Cloud で有効にする複数の Microsoft Azure サブスクリプションがあり、すべてのサブスクリプションで 1 つの NSX Cloud サービス プリンシパルを使用する。 PowerShell インスタンスから、Microsoft Azure スクリプトと JSON ファイルをダウンロードしたディレクトリに移動します。 各 JSON ファイルを編集して、 "AssignableScopes" というセクションの下に他のサブスクリプション ID のリストを追加します。 以下に例を示します。 注: デフォルト名 nsx-service-admin を使用する場合は、ここでサービス プリンシパル名を省略します。 サービス プリンシパル名が Microsoft Azure Active Directory にすでにある場合は、サービス プリンシパル名なしでこのスクリプトを実行します。 これにより、サービス プリンシパルが更新されます。 [シナリオ 3:]同じ Microsoft Azure Directory に、 NSX Cloud で有効にする複数の Microsoft Azure サブスクリプションがあり、それぞれのサブスクリプションで異なる NSX Cloud サービス プリンシパルを使用する。 PowerShell インスタンスから、Microsoft Azure スクリプトと JSON ファイルをダウンロードしたディレクトリに移動します。 2 番目のシナリオの手順 [b] と [c] に沿って、各 JSON ファイルの AssignableScopes セクションに複数のサブスクリプションを追加します。 CreateNSXRoles. ps1 という名前のスクリプトをパラメータ -subscriptionID を指定して実行します。 注: デフォルト名 nsx-service-admin を使用する場合は、ここでサービス プリンシパル名を省略します。 サービス プリンシパル名が Microsoft Azure Active Directory にある場合は、サービス プリンシパル名なしでこのスクリプトを実行します。 これにより、サービス プリンシパルが更新されます。 AddServicePrincipal. ps1 という名前のスクリプトを次のパラメータを指定して実行します。 JSON からこの値を取得します -servicePrincipalName 新しいサービス プリンシパル名. PowerShell スクリプトを実行したディレクトリでファイルを探します。 このファイルには、 CSM で Microsoft Azure サブスクリプションを追加するために必要な情報が含まれています。 結果 次の構成で作成されます。 NSX Cloud 用の Azure Active Directory アプリケーション。 NSX Cloud アプリケーションの Azure Resource Manager サービス プリンシパル。 サービス プリンシパル アカウントに設定された CSM のロール。 パブリック クラウド インベントリで機能できるようにする PCG のロール。 このファイルには、 CSM で Microsoft Azure サブスクリプションを追加するために必要な情報が含まれています。

次の