docs(oidc): actualiza documentacion con valores reales de configuracion DEV/PROD

This commit is contained in:
Evert Daniel Romero Garrido
2026-04-15 13:51:45 -06:00
parent cbae04ab3f
commit 3e215f866f
+27 -12
View File
@@ -55,7 +55,24 @@ El proceso es como mostrar una credencial de invitado en la entrada de un edific
---
## 3. Pre-requisitos
## 3. Configuración aplicada (resumen de esta sesión)
Los siguientes recursos OIDC ya fueron configurados manualmente en la consola AWS durante abril de 2026:
| Cuenta | OIDC Provider | Rol IAM | Permisos |
|--------|---------------|---------|----------|
| **DEV** (`668889063715`) | `api.bitbucket.org/2.0/workspaces/ccsoft1/pipelines-config/identity/oidc` | `BitbucketProyectosaccCICDRoleDev` | `AdministratorAccess` (temporal) |
| **PROD** (`523761210517`) | `api.bitbucket.org/2.0/workspaces/ccsoft1/pipelines-config/identity/oidc` | `BitbucketProyectosaccCICDRoleProd` | `AdministratorAccess` (temporal) |
**Audience configurada:** `sts.amazonaws.com`
**Repository UUID usado en trust policies:** `{3ceb5bec-0805-4bfb-b891-aaf5626ad7a5}`
> **Nota de seguridad:** `AdministratorAccess` fue adjunta solo como punto de partida para desbloquear el pipeline. En una iteración posterior debe reemplazarse por la política mínima de `docs/iam-policy-ci-cd-proyectosacc.json`.
---
## 4. Pre-requisitos
Antes de empezar, asegúrate de tener:
@@ -63,9 +80,9 @@ Antes de empezar, asegúrate de tener:
- DEV: `668889063715`
- PROD: `523761210517`
2. **Permiso para crear** `iam:CreateOpenIDConnectProvider` y `iam:CreateRole`.
3. El **Repository UUID** de `ccsoft1/proyectosacc`. Lo encuentras en:
- Bitbucket > Repository settings > OpenID Connect > **Repository UUID**
- Formato: `{1de489be-ce6a-42a0-a8c8-eadbf1174ac7}` (incluye las llaves `{}`)
3. El **Repository UUID** de `ccsoft1/proyectosacc`:
- `{3ceb5bec-0805-4bfb-b891-aaf5626ad7a5}` (incluye las llaves `{}`)
- Lo encuentras en: Bitbucket > Repository settings > OpenID Connect > **Repository UUID**
---
@@ -81,9 +98,9 @@ Antes de empezar, asegúrate de tener:
cd proyectosacc/terraform
```
2. Edita `terraform/oidc-bitbucket.tf` y reemplaza el placeholder:
2. Verifica que `terraform/oidc-bitbucket.tf` tenga el UUID correcto:
```hcl
bitbucket_repo_uuid = "{1de489be-ce6a-42a0-a8c8-eadbf1174ac7}"
bitbucket_repo_uuid = "{3ceb5bec-0805-4bfb-b891-aaf5626ad7a5}"
```
3. Configura tus credenciales de admin para la cuenta **DEV**:
@@ -129,7 +146,7 @@ Repite esto en **DEV** y **PROD**:
5. En **Conditions**, agrega una condición personalizada (avanzado) o edita el trust policy después de crearlo.
6. Nombre del rol: `BitbucketProyectosaccCICDRoleDev`
7. Adjunta la política `AdministratorAccess` (solo como punto de partida).
8. Edita el **Trust Policy** para que quede así:
8. Edita el **Trust Policy** para que quede exactamente así:
```json
{
@@ -146,7 +163,7 @@ Repite esto en **DEV** y **PROD**:
"api.bitbucket.org/2.0/workspaces/ccsoft1/pipelines-config/identity/oidc:aud": "sts.amazonaws.com"
},
"StringLike": {
"api.bitbucket.org/2.0/workspaces/ccsoft1/pipelines-config/identity/oidc:sub": "{REPO_UUID}:*"
"api.bitbucket.org/2.0/workspaces/ccsoft1/pipelines-config/identity/oidc:sub": "{3ceb5bec-0805-4bfb-b891-aaf5626ad7a5}:*"
}
}
}
@@ -154,8 +171,6 @@ Repite esto en **DEV** y **PROD**:
}
```
Reemplaza `{REPO_UUID}` por el UUID real del repositorio.
#### Paso 3: Crear el Rol IAM para PROD
Repite exactamente el paso 2 pero en la cuenta PROD (`523761210517`) y con el nombre:
@@ -227,7 +242,7 @@ echo "$BITBUCKET_STEP_OIDC_TOKEN" | cut -d'.' -f2 | base64 -d 2>/dev/null | pyth
Deberías ver algo como:
```json
{
"sub": "{1de489be-ce6a-42a0-a8c8-eadbf1174ac7}:{759de0c6-eaee-4eaa-b7a6-c507eec759a7}",
"sub": "{3ceb5bec-0805-4bfb-b891-aaf5626ad7a5}:{759de0c6-eaee-4eaa-b7a6-c507eec759a7}",
"aud": "sts.amazonaws.com",
"iss": "https://api.bitbucket.org/2.0/workspaces/ccsoft1/pipelines-config/identity/oidc",
...
@@ -302,7 +317,7 @@ oidc: true
"api.bitbucket.org/2.0/workspaces/ccsoft1/pipelines-config/identity/oidc:sub": "{REPO_UUID}:*"
}
```
3. Si aún no conoces el `REPO_UUID`, puedes poner `"*"` temporalmente **solo para pruebas** (menos seguro).
3. El UUID configurado es `{3ceb5bec-0805-4bfb-b891-aaf5626ad7a5}`. Si el pipeline sigue fallando, verifica que el `sub` claim del token real coincida con este UUID. Solo en casos de emergencia puedes poner `"*"` temporalmente **solo para pruebas** (menos seguro).
---