docs(oidc): actualiza documentacion con valores reales de configuracion DEV/PROD
This commit is contained in:
@@ -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:
|
Antes de empezar, asegúrate de tener:
|
||||||
|
|
||||||
@@ -63,9 +80,9 @@ Antes de empezar, asegúrate de tener:
|
|||||||
- DEV: `668889063715`
|
- DEV: `668889063715`
|
||||||
- PROD: `523761210517`
|
- PROD: `523761210517`
|
||||||
2. **Permiso para crear** `iam:CreateOpenIDConnectProvider` y `iam:CreateRole`.
|
2. **Permiso para crear** `iam:CreateOpenIDConnectProvider` y `iam:CreateRole`.
|
||||||
3. El **Repository UUID** de `ccsoft1/proyectosacc`. Lo encuentras en:
|
3. El **Repository UUID** de `ccsoft1/proyectosacc`:
|
||||||
- Bitbucket > Repository settings > OpenID Connect > **Repository UUID**
|
- `{3ceb5bec-0805-4bfb-b891-aaf5626ad7a5}` (incluye las llaves `{}`)
|
||||||
- Formato: `{1de489be-ce6a-42a0-a8c8-eadbf1174ac7}` (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
|
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
|
```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**:
|
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.
|
5. En **Conditions**, agrega una condición personalizada (avanzado) o edita el trust policy después de crearlo.
|
||||||
6. Nombre del rol: `BitbucketProyectosaccCICDRoleDev`
|
6. Nombre del rol: `BitbucketProyectosaccCICDRoleDev`
|
||||||
7. Adjunta la política `AdministratorAccess` (solo como punto de partida).
|
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
|
```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"
|
"api.bitbucket.org/2.0/workspaces/ccsoft1/pipelines-config/identity/oidc:aud": "sts.amazonaws.com"
|
||||||
},
|
},
|
||||||
"StringLike": {
|
"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
|
#### Paso 3: Crear el Rol IAM para PROD
|
||||||
|
|
||||||
Repite exactamente el paso 2 pero en la cuenta PROD (`523761210517`) y con el nombre:
|
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:
|
Deberías ver algo como:
|
||||||
```json
|
```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",
|
"aud": "sts.amazonaws.com",
|
||||||
"iss": "https://api.bitbucket.org/2.0/workspaces/ccsoft1/pipelines-config/identity/oidc",
|
"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}:*"
|
"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).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user