サービス プリンシパル。 Azure CLI で Azure サービス プリンシパルを使用する

Power BI Embedded のサービス プリンシパルの提供開始

サービス プリンシパル

解決策 この問題を解決するには、ターミナル サーバーのサービス プリンシパル名 SPN を手動で登録します。 注: ターミナル サービスは、コンピュータが起動されるたびに SPN の登録を試みます。 SPN を登録するには、ターミナル サーバーが Active Directory ドメイン コントローラに接続できるようにする必要があります。 SPN が登録されていない場合、クライアント接続に Kerberos 認証を利用できません。 管理者によって禁じられていない場合は、NTLM 認証を使用できます。 この手順を実行するには、ドメインの Domain Admins グループのメンバであるか、適切な権限を委任されている必要があります。 SPN を登録するには、次の手順を実行します。 ターミナル サーバー上で、コマンド プロンプト ウィンドウを開きます。 コマンド プロンプト ウィンドウを開くには、[スタート] ボタン、[ファイル名を指定して実行] の順にクリックし、「 cmd」と入力して、[OK] をクリックします。 コマンド プロンプトで「 setspn -A host ServicePrincipalName」と入力し ここで host はターミナル サーバーの名前、ServicePrincipal Name は登録する SPN です 、ENTER キーを押します。 たとえば、Server1 の SPN を登録するには、コマンド プロンプトで次のように入力します。 このような場合、イベント ID 1067 は無視できます。 Microsoft. Windows. Windows. Server. 2008. TerminalServicesRole. Service. TerminalServer. EventCollection. 1067.

次の

ポータルで Azure AD アプリとサービス プリンシパルを作成する

サービス プリンシパル

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.

次の

Power BI Embedded のサービス プリンシパルの提供開始

サービス プリンシパル

Create an Azure service principal with Azure PowerShell• 読み終わるまで 6 分• この記事の内容 Automated tools that use Azure services should always have restricted permissions. Instead of having applications sign in as a fully privileged user, Azure offers service principals. 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. 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. This article shows you the steps for creating, getting information about, and resetting a service principal with Azure PowerShell. Create a service principal Create a service principal with the cmdlet. When creating a service principal, you choose the type of sign-in authentication it uses. Note If your account doesn't have permission to create a service principal, New-AzADServicePrincipal will return an error message containing "Insufficient privileges to complete the operation". Contact your Azure Active Directory admin to create a service principal. There are two types of authentication available for service principals: Password-based authentication, and certificate-based authentication. Password-based authentication Important The default role for a password-based authentication service principal is Contributor. This role has full permissions to read and write to an Azure account. For information on managing role assignments, see. Without any other authentication parameters, password-based authentication is used and a random password created for you. If you want password-based authentication, this method is recommended. Make sure that you store this value somewhere secure to authenticate with the service principal. Its value won't be displayed in the console output. If you lose the password,. Runtime. InteropServices. Runtime. InteropServices. Azure. Commands. ActiveDirectory. PSADPasswordCredential objects. These objects must have a valid StartDate and EndDate, and take a plaintext Password. When creating a password, make sure you follow the. Don't use a weak password or reuse a password. Import-Module -Name Az. Azure. Commands. ActiveDirectory. Important Signing in with a service principal requires the tenant ID which the service principal was created under. To get the active tenant when the service principal was created, run the following command immediately after service principal creation: Get-AzContext. Tenant. Id Certificate-based authentication Important There is no default role assigned when creating a certificate-based authentication service principal. For information on managing role assignments, see. Service principals using certificate-based authentication are created with the -CertValue parameter. This parameter takes a base64-encoded ASCII string of the public certificate. This is represented by a PEM file, or a text-encoded CRT or CER. Binary encodings of the public certificate aren't supported. These instructions assume that you already have a certificate available. These objects must have a valid StartDate, EndDate, and have the CertValue member set to a base64-encoded ASCII string of the public certificate. Azure. Commands. ActiveDirectory. Clients which sign in with the service principal also need access to the certificate's private key. Important Signing in with a service principal requires the tenant ID which the service principal was created under. To get the active tenant when the service principal was created, run the following command immediately after service principal creation: Get-AzContext. Tenant. Id Get an existing service principal A list of service principals for the active tenant can be retrieved with. By default this command returns all service principals in a tenant. For large organizations, it may take a long time to return results. Instead, using one of the optional server-side filtering arguments is recommended:• -DisplayNameBeginsWith requests service principals that have a prefix that match the provided value. The display name of a service principal is the value set with -DisplayName during creation. -DisplayName requests an exact match of a service principal name. Manage service principal roles Azure PowerShell has the following cmdlets to manage role assignments:• The default role for a password-based authentication service principal is Contributor. This role has full permissions to read and write to an Azure account. The Reader role is more restrictive, with read-only access. For more information on Role-Based Access Control RBAC and roles, see. This example adds the Reader role and removes the Contributor one: New-AzRoleAssignment -ApplicationId -RoleDefinitionName 'Reader' Remove-AzRoleAssignment -ObjectId -RoleDefinitionName 'Contributor' Note 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. The changes can be verified by listing the assigned roles: Get-AzRoleAssignment -ServicePrincipalName ServicePrincipalName Sign in using a service principal Test the new service principal's credentials and permissions by signing in. To sign in with a service principal, you need the applicationId value associated with it, and the tenant it was created under. Connect-AzAccount -ServicePrincipal -Tenant -CertificateThumbprint For instructions on importing a certificate into a credential store accessible by PowerShell, see Reset credentials If you forget the credentials for a service principal, use to add a new credential with a random password. This cmdlet does not support user-defined credentials when resetting the password. Important Before assigning any new credentials, you may want to remove existing credentials to prevent sign in with them. ", verify that a service principal with the same name doesn't already exist. Get-AzAdServicePrincipal -DisplayName ServicePrincipalName If the existing service principal is no longer needed, you can remove it using the following example. Remove-AzAdServicePrincipal -DisplayName ServicePrincipalName This error can also occur when you've previously created a service principal for an Azure Active Directory application. If you remove the service principal, the application is still available. This application prevents you from creating another service principal with the same name. You can use the following example to verify that an Azure Active Directory application with the same name doesn't exist: Get-AzADApplication -DisplayName ServicePrincipalName If an application with the same name does exist and is no longer needed, it can be removed using the following example. Remove-AzADApplication -DisplayName ServicePrincipalName Otherwise, choose an alternate name for the new service principal that you're attempting to create. 関連記事.

次の