サービス プリンシパル。 サービス プリンシパルとロールの生成

ターミナル サーバーは、サーバー認証に使用される 'TERMSRV' サービス プリンシパル名を登録できません

サービス プリンシパル

解決策 この問題を解決するには、ターミナル サーバーのサービス プリンシパル名 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 CLI で Azure サービス プリンシパルを使用する

サービス プリンシパル

サービス プリンシパルによる Azure Container Registry 認証 Azure Container Registry authentication with service principals• この記事の内容 Azure Active Directory Azure AD サービス プリンシパルを使って、コンテナー レジストリへのコンテナー イメージの docker push アクセスと pull アクセスを提供できます。 You can use an Azure Active Directory Azure AD service principal to provide container image docker push and pull access to your container registry. サービス プリンシパルを使うことで、「ヘッドレス」のサービスとアプリケーションへのアクセスを提供できます。 By using a service principal, you can provide access to "headless" services and applications. サービス プリンシパルとは What is a service principal? Azure AD の サービス プリンシパルは、サブスクリプション内の Azure リソースへのアクセスを提供します。 Azure AD service principals provide access to Azure resources within your subscription. サービス プリンシパルはサービスのユーザー ID と考えることができます。 ここで "サービス" は、リソースへのアクセスが必要なアプリケーション、サービス、またはプラットフォームです。 You can think of a service principal as a user identity for a service, where "service" is any application, service, or platform that needs to access the resources. 指定したそれらのリソースのみをスコープとするアクセス権を持つサービス プリンシパルを構成できます。 You can configure a service principal with access rights scoped only to those resources you specify. その後、サービス プリンシパルの資格情報を使用してそれらのリソースにアクセスするようにアプリケーションまたはサービスを構成します。 Then, configure your application or service to use the service principal's credentials to access those resources. Azure Container Registry のコンテキストでは、Azure 内のプライベート レジストリに対するプル、プッシュとプル、またはその他のアクセス許可を持つ Azure AD サービス プリンシパルを作成できます。 In the context of Azure Container Registry, you can create an Azure AD service principal with pull, push and pull, or other permissions to your private registry in Azure. 完全な一覧については、に関するページを参照してください。 For a complete list, see. サービス プリンシパルを使う理由 Why use a service principal? Azure AD サービス プリンシパルを使うことで、スコープを設定したプライベート コンテナー レジストリへのアクセスを提供できます。 By using an Azure AD service principal, you can provide scoped access to your private container registry. 各アプリケーションや各サービスに異なるサービス プリンシパルを作成し、それぞれにレジストリへの調整済みのアクセス権を持たせます。 Create different service principals for each of your applications or services, each with tailored access rights to your registry. また、サービスやアプリケーションの間での資格情報の共有を避けることができるため、資格情報を交換したり、選択したサービス プリンシパル および対象とするアプリケーション のみのアクセスを取り消したりできます。 And, because you can avoid sharing credentials between services and applications, you can rotate credentials or revoke access for only the service principal and thus the application you choose. たとえば、イメージの pull アクセスのみを提供するサービス プリンシパルを使用するように Web アプリケーションを構成し、一方でビルド システムでは push と pull 両方のアクセスを提供するサービス プリンシパルを使用します。 For example, configure your web application to use a service principal that provides it with image pull access only, while your build system uses a service principal that provides it with both push and pull access. アプリケーション開発の所有者が変わった場合は、ビルド システムに影響を与えずにそのサービス プリンシパルの資格情報を交換することができます。 If development of your application changes hands, you can rotate its service principal credentials without affecting the build system. サービス プリンシパルを使う場合 When to use a service principal サービス プリンシパルは、 ヘッドレス シナリオでレジストリへのアクセスを提供する際に使う必要があります。 You should use a service principal to provide registry access in headless scenarios. つまり、自動的にまたはそれ以外の無人の方法でコンテナー イメージをプッシュまたはプルする必要があるすべてのアプリケーション、サービス、またはスクリプトが対象です。 That is, any application, service, or script that must push or pull container images in an automated or otherwise unattended manner. 次に例を示します。 For example:• また、コンテナー レジストリから、、、、、 などの関連する Azure サービスにプルすることもできます。 You can also pull from container registries to related Azure services such as , , , , , and others. Push: コンテナー イメージを作成し、継続的インテグレーションと Azure Pipelines や Jenkins などのデプロイ ソリューションを使用してレジストリにプッシュします。 Push: Build container images and push them to a registry using continuous integration and deployment solutions like Azure Pipelines or Jenkins. コンテナー イメージを開発用ワークステーションに手動でプルするときなど、レジストリへの個別アクセスでは、代わりに各自の を使ってレジストリにアクセスすることをお勧めします を使うなど。 For individual access to a registry, such as when you manually pull a container image to your development workstation, we recommend using your own instead for registry access for example, with. サービス プリンシパルの作成 Create a service principal コンテナー レジストリへのアクセス権を持つサービス プリンシパルを作成するには、 または のローカル インストールで、次のスクリプトを実行します。 To create a service principal with access to your container registry, run the following script in the or a local installation of the. スクリプトは Bash シェル用に書式設定されています。 The script is formatted for the Bash shell. " エラーが発生した場合は、別のサービス プリンシパルの名前を指定します。 " error, specify a different name for the service principal. 別のアクセス許可を付与する場合は、必要に応じて コマンドの --role の値を変更することができます。 You can optionally modify the --role value in the command if you want to grant different permissions. ロールの一覧については、に関するページを参照してください。 For a complete list of roles, see. スクリプトを実行した後、サービス プリンシパルの ID と パスワードを書き留めます。 After you run the script, take note of the service principal's ID and password. その資格情報を作成したら、サービス プリンシパルとして、コンテナー レジストリに対する認証を受けるアプリケーションやサービスを構成できます。 Once you have its credentials, you can configure your applications and services to authenticate to your container registry as the service principal. Default permissions are for docker pull access. To grant registry access to an existing service principal, you must assign a new role to the service principal. 新しいサービス プリンシパルの作成と同様に、特に、プル、プッシュとプル、所有者のアクセスを付与できます。 As with creating a new service principal, you can grant pull, push and pull, and owner access, among others. 異なるレベルのアクセスを付与する場合は、 --role の値を調整します。 Adjust the --role value if you'd like to grant a different level of access. 各バージョンの Azure PowerShell についても同様です。 You can find the preceding sample scripts for Azure CLI on GitHub, as well as versions for Azure PowerShell:• サービス プリンシパルでの認証 Authenticate with the service principal コンテナー レジストリへのアクセスが許可されているサービス プリンシパルがある場合は、"ヘッドレス" サービスおよびアプリケーションにアクセスするための資格情報を構成するか、 docker login コマンドを使用してそれらを入力することができます。 Once you have a service principal that you've granted access to your container registry, you can configure its credentials for access to "headless" services and applications, or enter them using the docker login command. 次の値を使用します。 Use the following values:• ユーザー名 - サービス プリンシパルのアプリケーション ID クライアント ID とも呼ばれます User name - service principal application ID also called client ID• パスワード - サービス プリンシパルのパスワード クライアント シークレットとも呼ばれます Password - service principal password also called client secret 各値は、 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx という形式の GUID です。 Each value is a GUID of the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. ヒント コマンドを実行することで、サービス プリンシパルのパスワードを再生成できます。 You can regenerate the password of a service principal by running the command. Azure サービスで資格情報を使用する Use credentials with Azure services サービス プリンシパルの資格情報は、Azure コンテナー レジストリに対して認証を行うあらゆる Azure サービスから使用できます。 You can use service principal credentials from any Azure service that authenticates with an Azure container registry. さまざまなシナリオで、レジストリの管理者の資格情報の代わりにサービス プリンシパルの資格情報を使用します。 Use service principal credentials in place of the registry's admin credentials for a variety of scenarios. たとえば、その資格情報を使用して Azure コンテナー レジストリから にイメージをプルします。 For example, use the credentials to pull an image from an Azure container registry to. Docker ログインで使用する Use with docker login サービス プリンシパルを使用して docker login を実行できます。 You can run docker login using a service principal. Docker 資格情報の管理のベスト プラクティスについては、 コマンドのリファレンスを参照してください。 For best practices to manage Docker credentials, see the command reference. Log in to Docker with service principal credentials docker login myregistry. azurecr. Once logged in, Docker caches the credentials. 証明書と共に使用する Use with certificate サービス プリンシパルに証明書を追加した場合は、証明書ベースの認証を使用して Azure CLI にサインインし、 コマンドを使用してレジストリにアクセスできます。 If you've added a certificate to your service principal, you can sign into the Azure CLI with certificate-based authentication, and then use the command to access a registry. パスワードの代わりに証明書をシークレットとして使用すると、CLI を使用するときのセキュリティが強化されます。 Using a certificate as a secret instead of a password provides additional security when you use the CLI. するときに、自己署名証明書を作成できます。 A self-signed certificate can be created when you. または、既存のサービス プリンシパルに 1 つ以上の証明書を追加します。 Or, add one or more certificates to an existing service principal. たとえば、この記事のスクリプトの 1 つを使用して、レジストリからイメージをプルまたはプッシュする権限を持つサービス プリンシパルを作成または更新する場合は、 コマンドを使用して証明書を追加します。 For example, if you use one of the scripts in this article to create or update a service principal with rights to pull or push images from a registry, add a certificate using the command. 証明書と共にサービス プリンシパルを使用して にサインインするには、証明書を PEM 形式にして、秘密キーを含める必要があります。 To use the service principal with certificate to , the certificate must be in PEM format and include the private key. 証明書が必要な形式ではない場合は、 openssl などのツールを使用して変換します。 If your certificate isn't in the required format, use a tool such as openssl to convert it. を実行し、サービス プリンシパルを使用して CLI にサインインする場合は、サービス プリンシパルのアプリケーション ID と Active Directory テナント ID も指定します。 When you run to sign into the CLI using the service principal, also provide the service principal's application ID and the Active Directory tenant ID. これらの値を環境変数として指定する例を次に示します。 Then, run to authenticate with the registry: az acr login --name myregistry CLI では、 az login を実行したときに作成されたトークンが使用され、セッションがレジストリによる認証を受けます。 The CLI uses the token created when you ran az login to authenticate your session with the registry. 次のステップ Next steps• Azure コンテナー レジストリによる認証を受けるその他のシナリオについては、に関する記事を参照してください。 See the for other scenarios to authenticate with an Azure container registry. Azure キー コンテナーを使用してコンテナー レジストリのサービス プリンシパルの資格情報を格納および取得する例については、に関するチュートリアルを参照してください。 For an example of using an Azure key vault to store and retrieve service principal credentials for a container registry, see the tutorial to. 関連記事.

次の

AWS JSON ポリシーの要素:Principal

サービス プリンシパル

Service Principal SP は、主にプログラムからの Azure リソース使用 Azure 、Azure など や、Auzre DevOps との連携などで使用する(通常のアカウントも使えるけど)。 用途としては、アクセス制限を行った、プログラム専用のアカウントみたいな感じ。 通常の Azure アカウントで認証した方が手軽だったりするが、セキュリティ的にあまりよろしくなかったり、会社の場合は当該アカウントが削除された場合に、使用しているプログラムも同時に動かなくなる可能性があると言うこともあり、プログラムからのアクセスは SP による認証が推奨されているらしい。 なお、Azure AD で認証用のアカウントを作るということもあり、SP アカウントを作成するには管理者レベルの権限が必要になるはずなので、その点は注意。 作成手順• Azure ポータルで [Azure ] - [アプリの登録] - [+新規登録] の順にクリック。 いきなり分かりづらいが、ここでの「アプリの登録」が「サービス の登録」を意味していると思って OK• 名前にサービス名(アカウント名みたいなもの)を入力し、他は既定の設定で [登録] をクリック• 作成成功したら、概要画面で「アプリケーション クライアント ID」と「リ テナント ID」をメモしておく• [証明書とシークレット] - [+新しいクライアント シークレット] の順にクリック• クライアント シークレットの追加ダイアログが表示されたら、「有効期限」で「なし」を選択し、[追加] をクリック。 なお、ここでは無期限で登録しているが、定期的にパスワード変更をしたい場合は、適宜その期限を選択する• クライアント シークレット(パスワードみたいなもの)の値は、この時点でメモしておく(この後、参照不可になるため)• [] で、名と ID をメモする• この SP を使用してアクセスしたいリソースを選択し(ここではを選択)、[アクセス制御 IAM ] - [+追加] - [ロールの割り当ての追加] の順にクリック• 「選択」テキストボックスに先程作成した SP 名を入れて(ここで手入力しないと結果一覧に出てこないみたい)、そのすぐ下に検索結果が出てくるので先程作成した SP を選択し、[保存] をクリック 以上で SP の作成と設定が完了。 プログラムからはこの SP とメモした情報 を使用して認証を行うことで、役割を設定した特定リソースへのアクセスのみが可能となる。 なお、ドキュメントによって各項目の呼び方が微妙に違っていたりして少し分かりづらいが、基本的には、「アプリケーション クライアント ID」がユーザー名みたいな扱いで、「クライアント シークレット」がパスワードみたいな扱いと考えれば問題ない。 注意点としては、追加した役割のみ使用可能だということ。 SP 作成しただけではこの SP を使っても何も操作できないので、そこは注意。 もし忘れた場合は、クライアント シークレットを作り直す。 作成したサービスを使用して、Az モジュールでログインする場合は、以下も参照。

次の