> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/pt/dev-reference/simulating-a-runbook-environment.md).

# Simular um ambiente de runbook

## Visão geral

### Criar um Registro de Aplicativo

Criamos um Registro de Aplicativo do Azure para simular o login no estilo de aplicativo no Microsoft Entra.

<figure><img src="/files/fe256ee68c11d5e284aa7d324ee27da3057ea507" alt=""><figcaption><p>Criar um Registro de Aplicativo</p></figcaption></figure>

### Conceder Permissões

Concederemos as mesmas permissões que a identidade gerenciada teria. Usaremos o mesmo [AppRoleGranter Toolkit](https://github.com/hcoberdalhoff/approle-and-directoryrole-granter) para esse fim.

Substitua `{AppRegObjectId}` com o ID de objeto do seu registro de aplicativo.

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

### Criar e enviar um Dev-Certificate

Ver [aqui ](https://github.com/realmjoin/RealmJoin.RunbookHelper/blob/main/DevCertificates.ps1)para um exemplo de como criar um RunbookHelper Dev-Certificate. Substitua `{Variables}` de acordo.

O `{AppID}` refere-se ao App / Client ID das Application Registrations.

Se você não tiver um ID de assinatura específico, basta usar uma assinatura padrão do seu locatário. (Na maioria dos casos, isso não importa.)

```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"
```

Você obterá um arquivo `AzureRunAsConnection.cer` que você envia para os segredos do Registro de Aplicativo.

{% hint style="info" %}
Se você quiser atender a vários aplicativos / ambientes, você pode substituir o padrão "AzureRunAsConnection" em`CN=AzureRunAsConnection` por um nome personalizado ao criar o certificado para esse ambiente.

Em seguida, você pode selecionar qual ambiente/certificado (por exemplo, "OtherEnv") usar para se conectar usando `Connect-RjRbGraph -AutomationConnectionName "OtherEnv"`

Dessa forma, você pode acessar vários ambientes a partir da mesma máquina.
{% endhint %}

<figure><img src="/files/500f70714135a3cfef6d68b93f97d467ee97e4a3" alt=""><figcaption><p>Carregamento do certificado</p></figcaption></figure>

### Utilização

Basta usar `Connect-RjRbGraph` para autenticar no aplicativo.

Certifique-se de remover Dev-Certificates mais antigos usando o mmc.exe do seu conjunto de certificados pessoais, se houver, para evitar conflitos/falhas de login.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
