Establecimiento de la autorización de servicio a servicio
Para configurar el uso compartido de DNS para puertas de enlace VPE entre VPC de concentrador y VPC de DNS compartido en cuentas diferentes, el administrador de VPC de concentrador debe establecer una política de autorización de servicio a servicio de IAM ( s2s ). Para obtener más información, consulte Uso de autorizaciones para otorgar acceso entre servicios.
Notas:
- Si una VPC compartida por DNS y la VPC concentrador utilizan las mismas cuentas o cuentas diferentes, como administrador de VPC concentrador, debe crear una política de autorización de servicio a servicio de IAM que otorgue a esta VPC compartida
por DNS el permiso
DNSBindingConnectoren la VPC concentrador. - Actualmente, la interfaz de usuario solo permite que Todas las instancias de VPC tengan el permiso
DNSBindingConnectoren la VPC concentrador. Para indicar una VPC "específica", debe utilizar la API o envolver una solicitud de API en un archivo JSON para utilizarla con la CLI. Se proporciona un código de ejemplo para su uso con la CLI y la API.
Puede establecer la autorización de s2s con la consola, CLI, API o Terraform.
Creación de una política de autorización IAM s2s en la consola
Para crear una política de autorización IAM s2s en la consola, siga estos pasos:
-
En la consola de IBM Cloud, ve a «Gestionar» > «Acceso» (IAM). Aparece la página « IBM Cloud® Identity and Access Management ».
-
En el panel lateral, seleccione Autorizaciones.
-
En la página «Gestionar autorizaciones», haz clic en « Crear ».
-
En la página «Conceder autorización de servicio», selecciona una cuenta de origen:
-
Si está configurando la autorización en su cuenta, seleccione Esta cuenta.
-
Si está configurando la autorización en la cuenta de empresa, seleccione Otra cuenta.
Sólo para configuraciones entre cuentas, especifique la cuenta de origen para la autorización introduciendo el ID de cuenta.
-
-
Para el servicio de origen, seleccione Servicios de infraestructura de VPC en la lista.
-
Seleccione el ámbito. Elija Recursos específicos.
-
Seleccione Tipo de recurso. En la lista, seleccione Virtual Private Cloud.
-
Selecciona la instancia del servicio de origen. Elija Todas las instancias.
Para seleccionar una instancia específica, debe utilizar las instrucciones de CLI o API. Se trata de una limitación conocida.
-
Para el servicio de destino, seleccione Servicios de infraestructura de VPC en la lista.
-
Para el ámbito, seleccione Recursos específicos.
-
Seleccione Tipo de recurso. En la lista, seleccione Virtual Private Cloud.
Si desea proporcionar la VPC de destino, seleccione ID de VPC. Operador: Seleccione cadena igual e introduzca el valor VPC.
-
En la sección Roles bajo Acceso de servicio, seleccione DNSBindingConnector.
-
Pulse Autorizar.
-
Cuando vuelva a la página Gestionar autorizaciones, pulse Crear de nuevo y siga los mismos pasos para configurar las autorizaciones para los otros dos servicios.
Creación de una política de autorización s2s de IAM desde la CLI
Para crear una política de autorización s2s de IAM desde la CLI, siga estos pasos:
-
Configure el entorno de la CLI.
-
Inicia sesión en tu cuenta a través de la CLI. Después de especificar la contraseña, el sistema solicita qué cuenta y región desea utilizar:
ibmcloud login --sso -
Cree una política de autorización s2s de IAM:
ibmcloud iam authorization-policy-create is DNSBindingConnector --source-resource-type vpc --target-resource-type vpc
Indicación de una instancia de VPC específica desde la CLI
Si una VPC compartida por DNS y la VPC concentrador utilizan la misma cuenta, como administrador de VPC concentrador, debe crear una política de autorización de servicio a servicio de IAM que otorgue a esta VPC compartida por DNS el permiso
DNSBindingConnector en la VPC concentrador.
Actualmente, la interfaz de usuario Source service instance sólo permite que Todas las instancias de VPC tengan el permiso DNSBindingConnector en la VPC concentrador.
Para indicar una VPC específica desde la CLI, debe utilizar un archivo JSON con contenido de solicitud de API. Por ejemplo:
ibmcloud iam authorization-policy-create --file JSON_FILE
Donde JSON_FILE contiene:
{"type":"authorization","subjects":[{"attributes":[{"name":"accountId","value":"e38cfd44b6e44b249ac75dd5de0cc8aa"},{"name":"serviceName","value":"is"},{"name":"resourceType","value":"vpc"},{"name":"resource","value":"r006-fd189c4f-52a0-4694-abfd-186cb6011a3c"}]}],"roles":[{"role_id":"crn:v1:bluemix:public:is::::serviceRole:DNSBindingConnector"}],"resources":[{"attributes":[{"name":"accountId","value":"e38cfd44b6e44b249ac75dd5de0cc8aa"},{"name":"serviceName","value":"is"},{"name":"vpcId","value":"r006-ffaedf75-4f44-4ead-989d-cd37816a13d2"}]}]}
Creación de una política de autorización s2s de IAM con la API
Para crear una política de autorización s2s de IAM con la API, siga estos pasos:
-
Configure el entorno de la API.
-
Guarda los siguientes valores en variables para utilizarlos en los comandos de la API:
export dns_shared_account_id=<dns_shared_vpc_account_id> export hub_account_id=<hub_vpc_account_id> export dns_shared_vpc_id=<dns_shared_vpc_id> export hub_vpc_id=<hub_vpc_id> -
Para crear y eliminar un enlace de resolución de DNS entre el concentrador y las VPC compartidas de DNS en diferentes cuentas, un s2s La política debe existir en la cuenta de VPC central. Esto otorga a la VPC compartida por DNS un rol
DNSBindingConnectoren la VPC concentrador. para crear el s2s política, consulte lapoliciesmétodo en el API de gestión de políticas de IAM
Solicitud de ejemplo
{
"type": "authorization",
"subjects": [
{
"attributes": [
{
"name": "accountId",
"value": "'$dns_shared_account_id'"
},
{
"name": "serviceName",
"value": "is"
},
{
"name": "resourceType",
"value": "vpc"
},
{
"name": "resource",
"value": "'$dns_shared_vpc_id'"
}
]
}
],
"roles": [
{
"role_id": "crn:v1:bluemix:public:is::::serviceRole:DNSBindingConnector"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "'$hub_account_id'"
},
{
"name": "serviceName",
"value": "is"
},
{
"name": "vpcId",
"value": "'$hub_vpc_id'"
}
]
}
]
}
Ejemplo de mandato
curl -sX POST "$iam_api_endpoint/v1/policies" -H "Authorization: Bearer ${iam_token}" -d '$request_body'
Indicación de una instancia de VPC específica con la API
Si una VPC compartida por DNS y la VPC concentrador utilizan la misma cuenta, como administrador de VPC concentrador, debe crear una política de autorización de servicio a servicio de IAM que otorgue a esta VPC compartida por DNS el permiso
DNSBindingConnector en la VPC concentrador.
Actualmente, la interfaz de usuario Source service instance sólo permite que Todas las instancias de VPC tengan el permiso DNSBindingConnector en la VPC concentrador.
A continuación se muestra una API de ejemplo para otorgar a la VPC compartida por DNS el permiso DNSBindingConnector en la VPC concentrador. Tenga en cuenta que role_id es crn:v1:bluemix:public:is::::serviceRole:DNSBindingConnector.
{
"type": "authorization",
"subjects": [
{
"attributes": [
{ "name": "accountId", "value": "Account S (Spoke)" }
,
{ "name": "serviceName", "value": "is" }
,
{ "name": "resourceType", "value": "vpc" }
,
{ "name": "resource", "value": "Spoke VPC ID" }
]
}
],
"roles": [
{ "role_id": "crn:v1:bluemix:public:is::::serviceRole:DNSBindingConnector" }
],
"resources": [
{
"attributes": [
{ "name": "accountId", "value": "Account H (Hub)" }
,
{ "name": "serviceName", "value": "is" }
,
{ "name": "vpcId", "value": "Hub VPC ID" }
]
}
]
}