

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á.

# AWS Serverless Application Repository Exemplos de políticas baseadas em identidade
<a name="security_iam_id-based-policy-examples"></a>

Por padrão, os usuários e os perfis do IAM não têm permissão para criar ou modificar recursos do AWS Serverless Application Repository . Eles também não podem realizar tarefas usando a AWS API Console de gerenciamento da AWS AWS CLI, ou. Um administrador do IAM deve criar políticas do IAM que concedam aos usuários e perfis permissão para executarem operações de API específicas nos recursos especificados de que precisam. O administrador deve anexar essas políticas aos usuários ou grupos do IAM que exigem essas permissões.

*Para saber como criar uma política baseada em identidade do IAM usando esses exemplos de documentos de política JSON, consulte [Criação de políticas na guia JSON no](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) Guia do usuário do IAM.*

**Topics**
+ [Melhores práticas de políticas](#security_iam_service-with-iam-policy-best-practices)
+ [Usando o AWS Serverless Application Repository console](#security_iam_id-based-policy-examples-console)
+ [Permitir que os usuários visualizem suas próprias permissões](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Exemplos de política gerenciada pelo cliente](#security_iam_id-examples)

## Melhores práticas de políticas
<a name="security_iam_service-with-iam-policy-best-practices"></a>

As políticas baseadas em identidade são muito poderosas. Eles determinam se alguém pode criar, acessar ou excluir AWS Serverless Application Repository recursos em sua conta. Essas ações podem gerar custos para sua AWS conta. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
+ **Conceder privilégio mínimo**: ao criar políticas personalizadas, conceda apenas as permissões necessárias para executar uma tarefa. Comece com um conjunto mínimo de permissões e conceda permissões adicionais conforme necessário. Fazer isso é mais seguro do que começar com permissões que são muito lenientes e tentar restringi-las superiormente. Para obter mais informações, consulte [Conceder privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) no *Guia do usuário do IAM*.
+ **Habilitar MFA para operações confidenciais**: para aumentar a segurança, exija que os usuários do IAM usem Multi-Factor Authentication (MFA) para acessar recursos ou operações de API confidenciais. Para obter mais informações, consulte [Uso da autenticação multifator (MFA) na AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) no *Manual do ujsuário do IAM*.
+ **Usar condições de política para segurança adicional**: na medida do possível, defina as condições sob as quais suas políticas baseadas em identidade permitem o acesso a um recurso. Por exemplo, você pode gravar condições para especificar um intervalo de endereços IP permitidos do qual a solicitação deve partir. Você também pode escrever condições para permitir somente solicitações em uma data especificada ou período ou para exigir o uso de SSL ou MFA. Para obter mais informações, consulte [IAM JSON Policy Elements: Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) (Elementos da política JSON do IAM: Condição) no *Guia do usuário do IAM*.

## Usando o AWS Serverless Application Repository console
<a name="security_iam_id-based-policy-examples-console"></a>

O AWS Serverless Application Repository console fornece um ambiente integrado para você descobrir e gerenciar AWS Serverless Application Repository aplicativos. O console fornece recursos e fluxos de trabalho que geralmente exigem permissões para gerenciar um AWS Serverless Application Repository aplicativo, além das permissões específicas da API documentadas no. [AWS Serverless Application Repository Permissões de API: referência de ações e recursos](serverlessrepo-api-permissions-ref.md)

Para obter mais informações sobre as permissões necessárias para usar o AWS Serverless Application Repository console, consulte[Exemplos de política gerenciada pelo cliente](#security_iam_id-examples).

## Permitir que os usuários visualizem suas próprias permissões
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando a API AWS CLI ou AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Exemplos de política gerenciada pelo cliente
<a name="security_iam_id-examples"></a>

Os exemplos desta seção apresentam um grupo de políticas de amostra que você pode anexar a um usuário. Se você não estiver familiarizado com a criação de políticas, recomendamos primeiro criar um usuário do IAM na conta e anexar as políticas ao usuário sequencialmente. Você também pode usar esses exemplos para criar uma única política personalizada que inclui permissões para executar várias ações e depois anexá-la ao usuário.

 Para obter mais informações sobre como anexar políticas aos usuários, consulte [Adicionar permissões a um usuário](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.

**Topics**
+ [Exemplo 1 do editor: Permitir que um editor liste os aplicativos](#security_iam_id-example-publisher-list-apps)
+ [Exemplo 2 do editor: Permitir que um editor visualize os detalhes de um aplicativo ou de uma versão do aplicativo](#security_iam_id-example-publisher-view-app-details)
+ [Exemplo 3 do editor: Permitir que um editor crie um aplicativo ou uma versão do aplicativo](#security_iam_id-example-publisher-create-apps)
+ [Exemplo 4 do editor: Permitir que um editor crie uma política de aplicativo para compartilhar aplicativos com outros usuários](#security_iam_id-example-publisher-create-app-policies)
+ [Exemplo 1 de consumidor: Permitir que um consumidor pesquise por aplicativos](#security_iam_id-example-consumer-search-apps)
+ [Exemplo 2 de consumidor: Permitir que um consumidor visualize detalhes de um aplicativo](#security_iam_id-example-consumer-view-app-details)
+ [Exemplo 3 de consumidor: Permitir que um consumidor implante um aplicativo](#security_iam_id-example-consumer-deploy-apps)
+ [Exemplo 4 do consumidor: negar acesso aos ativos de implantação](#security_iam_id-example-consumer-deny-deployment-assets)
+ [Exemplo 5 do consumidor: impedir que um consumidor pesquise e implante aplicativos públicos](#access-control-identity-based-example-consumer-deny-public-apps)

### Exemplo 1 do editor: Permitir que um editor liste os aplicativos
<a name="security_iam_id-example-publisher-list-apps"></a>

Um usuário do IAM em sua conta deve ter permissões para a operação `serverlessrepo:ListApplications` antes que o usuário possa ver qualquer coisa no console. Quando você concede essas permissões, o console pode mostrar a lista de AWS Serverless Application Repository aplicativos na AWS conta criada na AWS região específica à qual o usuário pertence.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListExistingApplications",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:ListApplications"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Exemplo 2 do editor: Permitir que um editor visualize os detalhes de um aplicativo ou de uma versão do aplicativo
<a name="security_iam_id-example-publisher-view-app-details"></a>

Um usuário pode selecionar um AWS Serverless Application Repository aplicativo e visualizar os detalhes do aplicativo. Esses detalhes incluem autor, descrição, versões e outras informações de configuração. Para isso, o usuário precisa de permissões para as operações `serverlessrepo:ListApplicationVersions` e `serverlessrepo:GetApplication` da API para o AWS Serverless Application Repository. 

No exemplo a seguir, essas permissões são concedidas ao aplicativo específico cujo Amazon Resource Name (ARN - Nome de recurso da Amazon) é especificado como o valor de `Resource`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:GetApplication",
                "serverlessrepo:ListApplicationVersions"
            ],
            "Resource": "arn:aws:serverlessrepo:{{us-east-1}}:{{111122223333}}:applications/{{application-name}}"
        }
    ]
}
```

------

 

### Exemplo 3 do editor: Permitir que um editor crie um aplicativo ou uma versão do aplicativo
<a name="security_iam_id-example-publisher-create-apps"></a>

Se você quiser permitir que um usuário tenha permissões para criar AWS Serverless Application Repository aplicativos, você precisa conceder permissões às `serverlessrepo:CreateApplicationVersions` operações `serverlessrepo:CreateApplication` e, conforme mostrado na política a seguir.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:CreateApplication",
                "serverlessrepo:CreateApplicationVersion"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Exemplo 4 do editor: Permitir que um editor crie uma política de aplicativo para compartilhar aplicativos com outros usuários
<a name="security_iam_id-example-publisher-create-app-policies"></a>

Para que os usuários compartilhem aplicativos com outros usuários, você deve conceder a eles permissões para criar políticas de aplicativo, conforme exibido na política a seguir.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ShareApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:PutApplicationPolicy",
                "serverlessrepo:GetApplicationPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Exemplo 1 de consumidor: Permitir que um consumidor pesquise por aplicativos
<a name="security_iam_id-example-consumer-search-apps"></a>

Para que os consumidores pesquisem por aplicativos, você deve conceder as seguintes permissões.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SearchApplications",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:SearchApplications"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Exemplo 2 de consumidor: Permitir que um consumidor visualize detalhes de um aplicativo
<a name="security_iam_id-example-consumer-view-app-details"></a>

Um usuário pode selecionar um AWS Serverless Application Repository aplicativo e visualizar detalhes do aplicativo, como autor, descrição, versões e outras informações de configuração. Para fazer isso, o usuário deve ter permissões para as seguintes AWS Serverless Application Repository operações.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:GetApplication",
                "serverlessrepo:ListApplicationVersions"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Exemplo 3 de consumidor: Permitir que um consumidor implante um aplicativo
<a name="security_iam_id-example-consumer-deploy-apps"></a>

Para que os clientes implantem aplicativos, você deve conceder a eles permissões para executar várias operações. A política a seguir fornece as permissões necessárias aos clientes.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DeployApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:CreateCloudFormationChangeSet",
                "cloudformation:CreateChangeSet",
                "cloudformation:ExecuteChangeSet",
                "cloudformation:DescribeStacks"

            ],
            "Resource": "*"
        }
    ]
}
```

------

**nota**  
A implantação de um aplicativo pode exigir permissões para usar AWS recursos adicionais. Como o AWS Serverless Application Repository usa o mesmo mecanismo de implantação subjacente CloudFormation, consulte [Controlling Access with AWS Identity and Access Management](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html) para obter mais informações. Para obter ajuda com problemas de implantação relacionados a permissões, consulte [Solução de problemas: permissões do IAM insuficientes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-insufficient-iam-permissions).

### Exemplo 4 do consumidor: negar acesso aos ativos de implantação
<a name="security_iam_id-example-consumer-deny-deployment-assets"></a>

Quando um aplicativo é compartilhado de forma privada com uma AWS conta, por padrão, todos os usuários dessa conta podem acessar os ativos de implantação de todos os outros usuários na mesma conta. A política a seguir impede que os usuários de uma conta acessem ativos de implantação, que são armazenados no bucket do Amazon S3 para o. AWS Serverless Application Repository

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyDeploymentAssetAccess",
            "Effect": "Deny",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::awsserverlessrepo-changesets*/*"
            ]
        }
    ]
}
```

------

### Exemplo 5 do consumidor: impedir que um consumidor pesquise e implante aplicativos públicos
<a name="access-control-identity-based-example-consumer-deny-public-apps"></a>

É possível impedir que os usuários executem determinadas ações em aplicativos.

A política a seguir se aplica a aplicativos públicos especificando `serverlessrepo:applicationType` como `public`. Ela impede que os usuários realizem uma série de ações especificando `Effect` como `Deny`. Para obter mais informações sobre as chaves de condição disponíveis para AWS Serverless Application Repository, consulte [Ações, recursos e chaves de condição para AWS Serverless Application Repository](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsserverlessapplicationrepository.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Condition": {
                "StringEquals": {
                    "serverlessrepo:applicationType": "public"
                }
            },
            "Action": [
                "serverlessrepo:SearchApplications",
                "serverlessrepo:GetApplication",
                "serverlessrepo:CreateCloudFormationTemplate",
                "serverlessrepo:CreateCloudFormationChangeSet",
                "serverlessrepo:ListApplicationVersions",
                "serverlessrepo:ListApplicationDependencies"
            ],
            "Resource": "*",
            "Effect": "Deny"
        }
    ]
}
```

------

**nota**  
Essa declaração de política também pode ser usada como uma Política de Controle de Serviços e aplicada a uma AWS organização. Para obter mais informações sobre políticas de controle de serviços, consulte [Políticas de controle de serviços](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) no *Guia AWS Organizations do usuário*.