# Runbook環境のシミュレーション

## 概要

### アプリケーション登録を作成する

Microsoft Entra へのアプリケーション形式のサインインをシミュレートするために、Azure のアプリケーション登録を作成します。

<figure><img src="/files/60a30ee41b0e9836382d7b03bce4a9d2c9050004" alt=""><figcaption><p>アプリ登録を作成する</p></figcaption></figure>

### 権限を付与する

マネージド ID が持つのと同じ権限を付与します。ここでは同じ [AppRoleGranter Toolkit](https://github.com/hcoberdalhoff/approle-and-directoryrole-granter) を使用します。

置き換えてください `{AppRegObjectId}` を、アプリケーション登録のオブジェクト ID に置き換えます。

```powershell
git clone https://github.com/hcoberdalhoff/approle-and-directoryrole-granter.git
cd "approle-and-directoryrole-granter\RealmJoinVnext"
. .\AllInOne.ps1 -appRegObjectId "{AppRegObjectId}"
```

### 開発用証明書を作成してアップロードする

参照 [ここ ](https://github.com/realmjoin/RealmJoin.RunbookHelper/blob/main/DevCertificates.ps1)RunbookHelper の開発用証明書を作成する方法のサンプルとして。 `{Variables}` それに応じて。

この `{AppID}` は、アプリケーション登録の App / Client ID を指します。

特定のサブスクリプション ID がない場合は、Tenant の既定のサブスクリプションを使用してください。（ほとんどの場合、問題ありません。）

```powershell
New-SelfSignedCertificate -Subject 'CN=AzureRunAsConnection, OU={AppID}, DC={TenantID}, O={SubscriptionID}' `
    -CertStoreLocation "cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(10) -KeySpec Signature | `
    Export-Certificate -FilePath "AzureRunAsConnection.cer"
```

ファイルが生成されます `AzureRunAsConnection.cer` これは、アプリケーション登録のシークレットにアップロードします。

{% hint style="info" %}
複数のアプリ / 環境を扱いたい場合は、`CN=AzureRunAsConnection` の既定の "AzureRunAsConnection" を、その環境用の証明書を作成する際に任意の名前に置き換えることができます。

その後、 `Connect-RjRbGraph -AutomationConnectionName "OtherEnv"`

を使用して、どの環境/証明書（例: "OtherEnv"）に接続するかを選択できます。
{% endhint %}

<figure><img src="/files/7bfc20194b9d869c95fe6464671b30ed834cbbc0" alt=""><figcaption><p>証明書のアップロード</p></figcaption></figure>

### 使用状況

次を使用するだけです `Connect-RjRbGraph` アプリに認証します。

競合やログイン失敗を避けるため、個人用証明書の一覧に古い開発用証明書がある場合は、mmc.exe を使って必ず削除してください。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.realmjoin.com/ja/dev-reference/simulating-a-runbook-environment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
