# Simulación de un entorno de Runbook

## Información general

### Crear un registro de aplicación

Creamos un registro de aplicación de Azure para simular el inicio de sesión de tipo aplicación en Microsoft Entra.&#x20;

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FAELajVV85Wm6a1Mwtmew%2Fimage.png?alt=media&#x26;token=15d94203-906f-4d0f-8c7b-77e8e032201b" alt=""><figcaption><p>Crear un registro de aplicación</p></figcaption></figure>

### Conceder permisos

Concederemos los mismos permisos que tendría la identidad administrada. Usaremos la misma [AppRoleGranter Toolkit](https://github.com/hcoberdalhoff/approle-and-directoryrole-granter) para este propósito.

Reemplace `{AppRegObjectId}` con el ID de objeto de su registro de aplicación.

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

### Crear y cargar un certificado de desarrollo

Consulta [aquí ](https://github.com/realmjoin/RealmJoin.RunbookHelper/blob/main/DevCertificates.ps1)para un ejemplo de cómo crear un RunbookHelper Dev-Certificate. Reemplace `{Variables}` en consecuencia.&#x20;

El `{AppID}` se refiere al App / Client ID de los registros de aplicación.

Si no tiene un ID de suscripción específico, simplemente use una suscripción predeterminada de su tenant. (En la mayoría de los casos no 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"
```

Obtendrá un archivo `AzureRunAsConnection.cer` que cargará en los secretos del registro de la aplicación.

{% hint style="info" %}
Si desea atender múltiples aplicaciones / entornos, puede reemplazar el "AzureRunAsConnection" predeterminado en`CN=AzureRunAsConnection` por un nombre personalizado al crear el certificado para ese entorno.

Luego puede seleccionar qué entorno/certificado (por ejemplo, "OtherEnv") usar para conectarse mediante `Connect-RjRbGraph -AutomationConnectionName "OtherEnv"`

De esta manera puede acceder a múltiples entornos desde la misma máquina.
{% endhint %}

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2Fo2vVY6YO0gimSWg4XOfV%2Fimage.png?alt=media&#x26;token=958b8b21-c0fa-464e-aba9-954c008eea8c" alt=""><figcaption><p>Carga del certificado</p></figcaption></figure>

### Uso

Solo use `Connect-RjRbGraph` para autenticarse en la aplicación.&#x20;

Asegúrese de eliminar certificados de desarrollo antiguos usando mmc.exe de su conjunto de certificados personales, si los hay, para evitar conflictos/fallos de inicio de sesión.
