

# Proveedor de API: cómo dejar de compartir un nombre de dominio personalizado privado mediante AWS RAM
<a name="apigateway-private-custom-domains-provider-stop-sharing"></a>

Para dejar de compartir su nombre de dominio personalizado privado, primero debe eliminar la asociación del recurso compartido para impedir que el consumidor de API cree más asociaciones de acceso a nombres de dominio. A continuación, debe rechazar la asociación de acceso a nombres de dominio y eliminar el punto de conexión de VPC de la `policy` del servicio `execute-api`. El consumidor de API puede entonces eliminar su asociación de acceso a nombres de dominio.

## Cómo dejar de compartir su nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-dissociate-ram"></a>

En primer lugar, debe detener el uso compartido de recursos mediante AWS RAM.

------
#### [ Consola de administración de AWS ]

Para usar la Consola de administración de AWS, consulte [Actualización de un recurso compartido en AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html).

------
#### [ AWS CLI ]

El siguiente comando [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) permite disociar un recurso compartido del nombre de dominio personalizado privado.

```
aws ram disassociate-resource-share \
    --region us-west-2 \
    --resource-arns arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234 \
    --principals 222222222222
```

------

## Rechazo de la asociación de acceso a nombres de dominio
<a name="apigateway-private-custom-domains-provider-reject"></a>

Cuando deje de compartir el recurso mediante AWS RAM, debe rechazar la asociación de acceso a nombres de dominio entre un punto de conexión de VPC de otra cuenta y su nombre de dominio personalizado privado. 

**nota**  
No puede rechazar una asociación de acceso a nombres de dominio en su propia cuenta. Para dejar de compartir recursos, elimine la asociación de acceso a nombres de dominio. Para obtener más información, consulte [Eliminación de una asociación de acceso a nombres de dominio](apigateway-private-custom-domains-tutorial.md#apigateway-private-custom-domains-cleanup).

Cuando rechaza una asociación de acceso a nombres de dominio con un punto de conexión de VPC, si un consumidor de API intenta llamar a su nombre de dominio personalizado privado, API Gateway rechaza la llamada y devuelve un código de estado `403`.

------
#### [ Consola de administración de AWS ]

**Para rechazar una asociación de acceso a nombres de dominio**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Nombres de dominio personalizados**.

1. Elija el nombre de dominio personalizado privado que compartió con otras Cuentas de AWS.

1. En **Compartir recursos**, elija la asociación de acceso a nombres de dominio que desea rechazar.

1. Elija **Rechazar asociación**.

1. Confirme la selección y, a continuación, elija **Rechazar**.

------
#### [ AWS CLI ]

El siguiente comando `reject-domain-name-access-association` rechaza la asociación de acceso a nombres de dominio entre el punto de conexión de la VPC y su nombre de dominio personalizado privado:

```
aws apigateway reject-domain-name-access-association \
    --domain-name-access-association-arn arn:aws:apigateway:us-west-2:444455556666:/domainnameaccessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234efg \
    --domain-name-arn arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234
```

------

## Denegación del acceso al proveedor de API para invocar su nombre de dominio personalizado privado
<a name="apigateway-private-custom-domains-provider-deny-access"></a>

Tras rechazar la asociación de acceso a nombres de dominio, debe eliminar el punto de conexión de VPC del consumidor de API de la `policy` para el servicio `execute-api`.

------
#### [ Consola de administración de AWS ]

**Para eliminar el punto de conexión de VPC del consumidor de API de la política de recursos**

1. Inicie sesión en la consola de API Gateway, en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Nombres de dominio personalizados**.

1. Elija el nombre de dominio personalizado privado que compartió con otras Cuentas de AWS.

1. En la pestaña **Política de recursos**, elija **Editar**.

1. Elimine el punto de conexión de VPC de la política.

1. Seleccione **Save changes (Guardar cambios)**.

------
#### [ AWS CLI ]

El siguiente comando [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) utiliza una operación de parche para actualizar la `policy` del servicio `execute-api` para un nombre de dominio personalizado privado. Esta nueva `policy` elimina un ID de punto de conexión de VPC adicional agregado en [Permiso para que otras cuentas invoquen su nombre de dominio personalizado privado](apigateway-private-custom-domains-provider-share.md#apigateway-private-custom-domains-provider-policy-update):

```
aws apigateway update-domain-name
    --domain-name private.example.com \
    --domain-name-id abcd1234 \
    --patch-operations op=replace,path=/policy,value='"{\"Version\": \"2012-10-17\",		 	 	 \"Statement\": [{\"Effect\": \"Allow\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\":[\"execute-api:/*\"]},{\"Effect\": \"Deny\",\"Principal\": \"*\",\"Action\": \"execute-api:Invoke\",\"Resource\":[\"execute-api:/*\"],\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpce\": \"vpce-abcd1234efg\"}}}]}"
```

------

A continuación, el consumidor de API debe eliminar la asociación de acceso a nombres de dominio. Usted no puede eliminarla en su nombre. Para obtener más información, consulte [Consumidor de API: eliminar su asociación de acceso a nombres de dominio con un nombre de dominio personalizado privado](apigateway-private-custom-domains-consumer-delete-domain-name-access-association.md).