Roles de IAM para la entrega entre cuentas
Al publicar en Amazon Data Firehose, puede elegir un flujo de entrega que esté en la misma cuenta que el recurso que se va a supervisar (la cuenta de origen) o en una cuenta diferente (la cuenta de destino). Para habilitar la entrega entre cuentas de los registros de flujo a Amazon Data Firehose, debe crear un rol de IAM en la cuenta de origen y un rol de IAM en la cuenta de destino.
Rol de cuenta de origen
En la cuenta de origen, cree un rol que conceda los siguientes permisos. En este ejemplo, el nombre del rol es mySourceRole
, pero puede elegir un nombre diferente para este rol. La última instrucción permite que el rol de la cuenta de destino asuma este rol. Las instrucciones de condición garantizan que esta función se pase solo al servicio de entrega de registros y solo al supervisar el recurso especificado. Al crear la política, especifique las VPC, las interfaces de red o las subredes que está supervisando con la clave de condición iam:AssociatedResourceARN
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
source-account
:role/mySourceRole
", "Condition": { "StringEquals": { "iam:PassedToService": "delivery.logs.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:region
:source-account
:vpc/vpc-00112233344556677
" ] } } }, { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:GetLogDelivery" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::destination-account
:role/AWSLogDeliveryFirehoseCrossAccountRole" } ] }
Asegúrese de que este rol tenga la siguiente política de confianza, la cual permite que el servicio de entrega de registros asuma el rol.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
En la cuenta de origen, use el siguiente procedimiento para crear el rol.
Para crear el rol de la cuenta de origen
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, seleccione Políticas.
-
Elija Create Policy (Crear política).
-
En la página Create policy (Crear política), haga lo siguiente:
-
Elija JSON.
-
Reemplace el contenido de esta ventana por la política de permisos que aparece al principio de esta sección.
-
Elija Siguiente.
-
Introduzca un nombre para su política y una descripción y etiquetas opcionales y, a continuación, elija Create policy (Crear política).
-
-
Seleccione Roles en el panel de navegación.
-
Elija Crear rol.
-
En Trusted entity type (Tipo de entidad de confianza), elija Custom trust policy (Política de confianza personalizada). En Custom trust policy (Política de confianza personalizada), reemplace
"Principal": {},
con lo siguiente, lo cual especifica el servicio de entrega de registros. Elija Siguiente."Principal": { "Service": "delivery.logs.amazonaws.com" },
-
En la página Add permissions (Agregar permisos), seleccione la casilla de verificación de la política que creó anteriormente en este procedimiento y luego elija Next (Siguiente).
-
Ingrese un nombre para el rol y, opcionalmente, especifique una descripción.
-
Elija Create role (Crear rol).
Rol de cuenta de destino
En la cuenta de destino, cree un rol con un nombre que comience con AWSLogDeliveryFirehoseCrossAccountRole. El rol debe otorgar los siguientes permisos.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "firehose:TagDeliveryStream" ], "Resource": "*" } ] }
Asegúrese de que este rol tenga la siguiente política de confianza, la cual permite que el rol que creó en la cuenta de origen asuma este rol.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
source-account
:role/mySourceRole
" }, "Action": "sts:AssumeRole" } ] }
En la cuenta de destino, use el siguiente procedimiento para crear el rol.
Para crear el rol de cuenta de destino
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, seleccione Políticas.
-
Elija Create Policy (Crear política).
-
En la página Create policy (Crear política), haga lo siguiente:
-
Elija JSON.
-
Reemplace el contenido de esta ventana por la política de permisos que aparece al principio de esta sección.
-
Elija Siguiente.
-
Ingrese un nombre para la política que comience con AWSLogDeliveryFirehoseCrossAccountRole y, a continuación, elija Create policy (Crear política).
-
-
Seleccione Roles en el panel de navegación.
-
Elija Crear rol.
-
En Trusted entity type (Tipo de entidad de confianza), elija Custom trust policy (Política de confianza personalizada). En Custom trust policy (Política de confianza personalizada), reemplace
"Principal": {},
con lo siguiente, lo cual especifica la función de la cuenta de origen. Elija Siguiente."Principal": { "AWS": "arn:aws:iam::
source-account
:role/mySourceRole
" }, -
En la página Add permissions (Agregar permisos), seleccione la casilla de verificación de la política que creó anteriormente en este procedimiento y luego elija Next (Siguiente).
-
Ingrese un nombre para el rol y, opcionalmente, especifique una descripción.
-
Elija Create role (Crear rol).