Paso 5: Crear roles de lanzamiento - AWS Service Catalog

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 5: Crear roles de lanzamiento

En este paso, creará un rol de IAM (rol de lanzamiento) que especificará los permisos que el motor de aprovisionamiento de Terraform AWS Service Catalog puede asumir cuando un usuario final lanza un HashiCorp producto de Terraform.

El rol de IAM (rol de lanzamiento) que asigne más adelante a su bucket simple de Amazon S3, producto de Terraform, como restricción de lanzamiento debe tener los siguientes permisos:

  • Acceda a los recursos subyacentes de AWS de su producto Terraform. En este tutorial, esto incluye el acceso a las operaciones s3:CreateBucket*, s3:DeleteBucket*, s3:Get*, s3:List* y s3:PutBucketTagging de Amazon S3.

  • Acceso de lectura a la plantilla de Amazon S3 en un bucket de Amazon S3 propiedad de AWS Service Catalog

  • Acceso a las operaciones del grupo de recursos CreateGroup, ListGroupResources, DeleteGroup y Tag Estas operaciones permiten a AWS Service Catalog administrar los grupos de recursos y las etiquetas

Para crear un rol de lanzamiento en AWS Service Catalog en una cuenta de administrador
  1. Mientras esté conectado a la cuenta de administrador AWS Service Catalog, siga las instrucciones para Crear nuevas políticas en la pestaña JSON en la Guía del usuario de IAM.

  2. Cree una política para su producto de Terraform simple de bucket de Amazon S3. Esta política debe crearse antes de crear el rol de lanzamiento y consta de los siguientes permisos:

    • s3 - Concede permisos completos AWS Service Catalog para enumerar, leer, escribir, aprovisionar y etiquetar el producto de Amazon S3.

    • s3 - Permite el acceso a los buckets de Amazon S3 propiedad de AWS Service Catalog. Para implementar el producto, AWS Service Catalog requiere acceso a los artefactos de aprovisionamiento.

    • resourcegroups - Permite a AWS Service Catalog crear, enumerar, eliminar y etiquetar AWS Resource Groups.

    • tag - Concede permisos de etiquetado a AWS Service Catalog .

    nota

    En función de los recursos subyacentes que desee implementar, es posible que deba modificar la política de JSON de ejemplo.

    Pegue lo siguiente en el documento de política JSON:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/servicecatalog:provisioning": "true" } } }, { "Action": [ "s3:CreateBucket*", "s3:DeleteBucket*", "s3:Get*", "s3:List*", "s3:PutBucketTagging" ], "Resource": "arn:aws:s3:::*", "Effect": "Allow" }, { "Action": [ "resource-groups:CreateGroup", "resource-groups:ListGroupResources", "resource-groups:DeleteGroup", "resource-groups:Tag" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "tag:GetResources", "tag:GetTagKeys", "tag:GetTagValues", "tag:TagResources", "tag:UntagResources" ], "Resource": "*", "Effect": "Allow" } ] }
    1. Elija Siguiente, Etiquetas.

    2. Elija Siguiente, Etiquetas.

    3. En la página Revisar política para el Nombre introduzca S3ResourceCreationAndArtifactAccessPolicy.

    4. Elija Crear política.

  3. En el panel de navegación, seleccione Roles y luego seleccione Crear rol.

  4. En Seleccionar una entidad de confianza, seleccione Política de confianza personalizada y, a continuación, introduzca la siguiente política de JSON:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GivePermissionsToServiceCatalog", "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_id:root" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:PrincipalArn": [ "arn:aws:iam::accounti_id:role/TerraformEngine/TerraformExecutionRole*", "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogExternalParameterParserRole*", "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogTerraformOSParameterParserRole*" ] } } } ] }
  5. Elija Siguiente.

  6. En la lista de políticas, seleccione la S3ResourceCreationAndArtifactAccessPolicy que ha creado.

  7. Elija Siguiente.

  8. En Nombre del rol, ingrese SCLaunch-S3product.

    importante

    Los nombres de los roles de lanzamiento deben empezar por “SCLaunch” seguido del nombre de rol deseado.

  9. Elija Crear rol.

    importante

    Tras crear el rol de lanzamiento en su cuenta de administrador AWS Service Catalog, también debe crear un rol de lanzamiento idéntico en la cuenta de usuario final AWS Service Catalog. El rol de la cuenta de usuario final debe tener el mismo nombre e incluir la misma política que el rol de la cuenta de administrador.

Para crear un rol de lanzamiento en la cuenta del usuario final AWS Service Catalog
  1. Inicie sesión como administrador en la cuenta de usuario final y, a continuación, siga las instrucciones para Crear nuevas políticas en la pestaña JSON en la Guía del usuario de IAM.

  2. Repita los pasos 2 a 10 descritos anteriormente en Para crear un rol de lanzamiento en la cuenta de administrador AWS Service Catalog.

nota

Al crear un rol de lanzamiento en la cuenta del usuario final AWS Service Catalog, asegúrese de utilizar el mismo administrador de AccountId en la política de confianza personalizada.

Ahora que ha creado un rol de lanzamiento tanto en la cuenta de administrador como en la de usuario final, puede añadir una restricción de lanzamiento al producto.