Etapa 5: Criar funções de lançamento - AWS Service Catalog

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 5: Criar funções de lançamento

Nesta etapa, você criará uma função do IAM (função de lançamento) especificando as permissões que o mecanismo de provisionamento do Terraform AWS Service Catalog pode assumir quando um usuário final lança um produto Terraform. HashiCorp

O perfil do IAM (função de inicialização) que você atribui posteriormente ao seu produto Terraform de bucket simples do Amazon S3 como uma restrição de inicialização deve ter as seguintes permissões:

  • Acesso aos recursos da AWS subjacentes do seu produto Terraform. Neste tutorial, isso inclui acesso às operações s3:CreateBucket*, s3:DeleteBucket*, s3:Get*, s3:List* e s3:PutBucketTagging do Amazon S3.

  • Acesso de leitura ao modelo do Amazon S3 em um bucket do Amazon S3 de propriedade do AWS Service Catalog

  • Acesso às operações CreateGroup, ListGroupResources, DeleteGroup e Tag do grupo de recursos. Essas operações permitem ao AWS Service Catalog gerenciar grupos de recursos e tags.

Para criar uma função de lançamento na conta do administrador AWS Service Catalog
  1. Enquanto estiver conectado à conta do administrador do AWS Service Catalog, siga as instruções para Criar novas políticas na guia JSON no Guia do Usuário do IAM.

  2. Crie uma política para seu produto simples do Amazon S3 bucket Terraform. Essa política deve ser criada antes de você criar o perfil de lançamento e consiste nas seguintes permissões:

    • s3 — concede ao AWS Service Catalog permissões completas para listar, ler, gravar, provisionar e marcar o produto Amazon S3.

    • s3 — permite acesso aos buckets do Amazon S3 de propriedade do AWS Service Catalog. Para implantar o produto, AWS Service Catalog é necessário acesso aos artefatos de provisionamento.

    • resourcegroups — permite ao AWS Service Catalog criar, listar, excluir e marcar AWS Resource Groups.

    • tag — concede ao AWS Service Catalog permissões de marcação.

    nota

    Dependendo dos recursos subjacentes que você deseja implantar, talvez seja necessário modificar o exemplo de política JSON.

    Cole o seguinte documento da 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. Escolha Próximo, Tags.

    2. Escolha Próximo, Revisar.

    3. Na página Revisar política, para o Nome , insiraS3ResourceCreationAndArtifactAccessPolicy .

    4. Escolha Criar política.

  3. No painel de navegação, escolha Roles (Funções) e Criar função.

  4. Em Selecionar entidade confiável, escolha Política de confiança personalizada e, em seguida, insira a seguinte política 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. Escolha Próximo.

  6. Na lista Políticas, selecione a S3ResourceCreationAndArtifactAccessPolicy que você criou.

  7. Escolha Próximo.

  8. Em Nome do perfil, insira SCLaunch-S3product.

    Importante

    Os nomes do perfil de lançamento devem começar com “SCLaunch” seguido pelo nome do perfil desejado.

  9. Selecione Criar perfil.

    Importante

    Depois de criar a função de lançamento na sua conta de administrador AWS Service Catalog, você também deve criar uma função de lançamento idêntico na conta do usuário final do AWS Service Catalog. O perfil na conta do usuário final deve ter o mesmo nome e incluir a mesma política do perfil na conta do administrador.

Para criar uma função de lançamento na conta do usuário final AWS Service Catalog
  1. Faça login como administrador na conta do usuário final e siga as instruções para Criar novas políticas na guia JSON no Guia do Usuário do IAM.

  2. Repita as etapas 2 a 10 de Para criar uma função de lançamento na conta de administrador AWS Service Catalog acima.

nota

Ao criar uma função de lançamento na conta do usuário final AWS Service Catalog, certifique-se de usar o mesmo administrador AccountId na política de confiança personalizada.

Agora que você criou uma função de lançamento nas contas de administrador e usuário final, pode adicionar uma restrição de lançamento ao produto.