Modelo de Cloudformation para anexar política existente para o existente função do IAM

0

Pergunta

Eu quero anexar um aws política gerida para uma função existente. Estou conseguindo isso usando o modelo:

{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "AWS CloudFormation template to modify Role",
    "Parameters": {
        "MyRole": {
            "Type": "String",
            "Default": "MyRole",
            "Description": "Role to be modified"
        }
    },
    "Resources": {
        "S3FullAccess": {
            "Type": "AWS::IAM::ManagedPolicy",
            "Properties": {
                "PolicyDocument": {
                    "Version": "2012-10-17",
                    "Statement": [{
                        "Effect": "Allow",
                        "Action": [
                            "s3:*",
                            "s3-object-lambda:*"
                        ],
                        "Resource": "*"
                    }]
                },
                "Roles": [
                    "MyRole"
                ]
            }
        }
    }
}

Este modelo irá criar uma política com s3FullAccess e anexá-lo para MyRole. Mas eu não quero criar uma nova política, se eu quiser usar a política já está presente com a aws para s3 completo acesso, como posso fazer isso.

E se eu usar este modelo:

{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "AWS CloudFormation template to modify Role",
    "Resources": {
        "IAMRole": {
            "Type": "AWS::IAM::Role",
            "Properties": {
                "Path": "/",
                "ManagedPolicyArns": [
                    "arn:aws:iam::aws:policy/ReadOnlyAccess"
                ],
                "AssumeRolePolicyDocument": {
                    "Version": "2012-10-17",
                    "Statement": [{
                        "Action": "sts:AssumeRole",
                        "Effect": "Allow",
                        "Principal": {
                            "AWS": "*"
                        }
                    }]
                },
                "RoleName": "RoleName"
            }
        }
    }
}

Isto irá tentar criar uma nova função e anexar ReadOnlyPolicy para ele. Mas se eu quiser anexar uma política de função existentes, como referir-se a essa função no modelo.

1

Melhor resposta

0

Você usa o seu AWS::IAM::Role's ManagedPolicyArns propriedade, onde você especificar apenas o ARN, de gerir a política de anexar.

Para usar a função existente em CloudFormation, você tem que importá - lo. Então você vai ser capaz de controlá-lo a partir de CloudFormation.

2021-11-24 05:14:20

Se eu uso, a AWS::IAM::Papel, não há nenhuma maneira de especificar a função existente. Ele tenta criar um novo papel e, em seguida, anexar a política com ManagedPolicyArns para recém-criado papel.
PRaw

@PRaw Você adicionar gerenciados existentes política para o papel em seu modelo, usando ManagedPolicyArns propriedade.
Marcin

certo, eu tentei isso, mas como referir-se de função existente na mesma.
PRaw

@PRaw eu não tenho certeza do que você quer dizer. Talvez fosse boa ideia fazer nova pergunta, específicos para a função de problema com o CFN modelo que você usa. Sua pergunta atual é sobre política, e não apresenta quaisquer funções no mesmo.
Marcin

Eu atualizei a questão. Por favor, Verifique se você pode ajudar. @Sérgio
PRaw

@PRaw eu ver. Obrigado pela atualização. Eu atualizei a resposta. Também se a resposta for útil, a sua aceitação seria apreciada.
Marcin

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................