

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

# Como AWS Serverless Application Repository funciona com o IAM
<a name="security_iam_service-with-iam"></a>

Antes de usar o IAM para gerenciar o acesso ao AWS Serverless Application Repository, você deve entender quais recursos do IAM estão disponíveis para uso com AWS Serverless Application Repository o.

Para ter uma visão geral de como o IAM funciona, consulte [Entendendo como o IAM funciona](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html) no *Guia do usuário do IAM*. Para ter uma visão de alto nível de como o AWS Serverless Application Repository e outros AWS serviços funcionam com o IAM, consulte [AWS Serviços que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

**Topics**
+ [AWS Serverless Application Repository Políticas baseadas em identidade](#security_iam_service-with-iam-id-based-policies)
+ [AWS Serverless Application Repository Políticas de aplicativos](#security_iam_service-with-iam-resource-based-policies)
+ [Autorização baseada em AWS Serverless Application Repository tags](#security_iam_service-with-iam-tags)
+ [AWS Serverless Application Repository Funções do IAM](#security_iam_service-with-iam-roles)

## AWS Serverless Application Repository Políticas baseadas em identidade
<a name="security_iam_service-with-iam-id-based-policies"></a>

Com as políticas baseadas em identidade do IAM, é possível especificar ações ou recursos permitidos ou negados, bem como as condições sob as quais as ações são permitidas ou negadas. O AWS Serverless Application Repository oferece suporte a ações, recursos e chaves de condição específicos. Para conhecer todos os elementos usados em uma política JSON, consulte [Referência de elementos de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

A seguir, um exemplo de uma política de permissões.

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

****  

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

------

 A política tem duas instruções: 




+  A primeira instrução concede permissões para a AWS Serverless Application Repository ação `serverlessrepo:CreateApplication` em todos os AWS Serverless Application Repository recursos, conforme especificado pelo caractere curinga (\$1) como `Resource` valor. 
+ A segunda declaração concede permissão para a AWS Serverless Application Repository ação `serverlessrepo:CreateApplicationVersion` em um AWS recurso usando o Amazon Resource Name (ARN) para um AWS Serverless Application Repository aplicativo. O aplicativo é especificado pelo valor `Resource`.

A política não especifica o elemento `Principal` porque, em uma política baseada em identidade, não se especifica o principal que obtém as permissões. Quando você anexar uma política um usuário, o usuário será a entidade principal implícita. Quando você anexa uma política de permissão a um perfil do IAM, a entidade principal identificada na política de confiança do perfil obtém as permissões.

 Para ver uma tabela mostrando todas as operações de AWS Serverless Application Repository API e os AWS recursos aos quais elas se aplicam, consulte[AWS Serverless Application Repository Permissões de API: referência de ações e recursos](serverlessrepo-api-permissions-ref.md). 

### Ações
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. Incluem ações em uma política para conceder permissões para executar a operação associada.

As ações políticas no AWS Serverless Application Repository usam o seguinte prefixo antes da ação:`serverlessrepo:`. Por exemplo, para conceder permissão a alguém para executar uma AWS Serverless Application Repository instância com a operação da AWS Serverless Application Repository `SearchApplications` API, você inclui a `serverlessrepo:SearchApplications` ação na política dessa pessoa. As instruções de política devem incluir um elemento `Action` ou `NotAction`. O AWS Serverless Application Repository define seu próprio conjunto de ações que descrevem as tarefas que você pode executar com esse serviço.

Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:

```
"Action": [
      "serverlessrepo:action1",
      "serverlessrepo:action2"
]
```

Você também pode especificar várias ações usando caracteres curinga (\$1). Por exemplo, para especificar todas as ações que começam com a palavra `List`, inclua a seguinte ação:

```
"Action": "serverlessrepo:List*"
```



Para ver uma lista de AWS Serverless Application Repository ações, consulte [Ações definidas por AWS Serverless Application Repository](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsserverlessapplicationrepository.html#awsserverlessapplicationrepository-actions-as-permissions) no *Guia do usuário do IAM*.

### Recursos
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\$1) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

No AWS Serverless Application Repository, o AWS recurso principal é um AWS Serverless Application Repository *aplicativo*. AWS Serverless Application Repository os aplicativos têm nomes de recursos exclusivos da Amazon (ARNs) associados a eles, conforme mostrado na tabela a seguir. 


****  

| AWS Tipo de recurso | Formato do nome de recurso da Amazon (ARN)  | 
| --- | --- | 
| Aplicação |  arn ::serverlessrepo: ::aplicativos/ *partition* *region* *account-id* *application-name*  | 

Para obter mais informações sobre o formato de ARNs, consulte [Amazon Resource Names (ARNs) e AWS Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

Veja a seguir um exemplo de política que concede permissões para a `serverlessrepo:ListApplications` ação em todos os AWS recursos. Na implementação atual, AWS Serverless Application Repository não é possível identificar AWS recursos específicos usando o AWS recurso ARNs (também conhecido como permissões em nível de recurso) para algumas das ações da API. Nesses casos, você deve especificar um caractere curinga (\$1).

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

****  

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

------

Para ver uma tabela mostrando todas as ações da AWS Serverless Application Repository API e os AWS recursos aos quais elas se aplicam, consulte[AWS Serverless Application Repository Permissões de API: referência de ações e recursos](serverlessrepo-api-permissions-ref.md). 

### Chaves de condição
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

O AWS Serverless Application Repository não fornece nenhuma chave de condição específica do serviço, mas oferece suporte ao uso de algumas chaves de condição globais. Para ver todas as chaves de condição AWS globais, consulte [Chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

### Exemplos
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para ver exemplos de políticas AWS Serverless Application Repository baseadas em identidade, consulte. [AWS Serverless Application Repository Exemplos de políticas baseadas em identidade](security_iam_id-based-policy-examples.md)

## AWS Serverless Application Repository Políticas de aplicativos
<a name="security_iam_service-with-iam-resource-based-policies"></a>

As políticas de aplicativo determinam as ações que um principal ou PrincipalOrg especificado pode executar em um AWS Serverless Application Repository aplicativo.

Você pode adicionar permissões à política associada a um AWS Serverless Application Repository aplicativo. As políticas de permissões anexadas aos AWS Serverless Application Repository aplicativos são chamadas de *políticas de aplicativos*. As [políticas de aplicativos](security_iam_resource-based-policy-examples.md) são extensões das políticas [baseadas em recursos do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html). O recurso principal é o AWS Serverless Application Repository aplicativo. Você pode usar políticas de AWS Serverless Application Repository aplicativos para gerenciar as permissões de implantação de aplicativos.

AWS Serverless Application Repository as políticas de aplicativos são usadas principalmente pelos editores para conceder permissão aos consumidores para implantar seus aplicativos e operações relacionadas, como pesquisar e visualizar detalhes desses aplicativos. Os editores podem definir permissões de aplicativos às três seguintes categorias:
+ **Privado** — Aplicativos que foram criados com a mesma conta e não foram compartilhados com nenhuma outra conta. Você tem permissão para implantar aplicativos que foram criados usando sua AWS conta.
+ **Compartilhado de forma privada** — Aplicativos que o editor compartilhou explicitamente com um conjunto específico de AWS contas ou Organizations AWS . Você tem permissão para implantar aplicativos que foram compartilhados com sua AWS conta ou AWS organização.
+ **Compartilhado publicamente** — aplicativos que o editor compartilhou com todos. Você tem permissão para implantar aplicativos compartilhados publicamente.

Você pode conceder permissões usando o AWS CLI AWS SDKs, o ou Console de gerenciamento da AWS o.

### Exemplos
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>

Para ver exemplos de gerenciamento de políticas de AWS Serverless Application Repository aplicativos, consulte[AWS Serverless Application Repository Exemplos de políticas de aplicativos](security_iam_resource-based-policy-examples.md).

## Autorização baseada em AWS Serverless Application Repository tags
<a name="security_iam_service-with-iam-tags"></a>

O AWS Serverless Application Repository não oferece suporte ao controle do acesso a recursos ou ações com base em tags.

## AWS Serverless Application Repository Funções do IAM
<a name="security_iam_service-with-iam-roles"></a>

Uma [função do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) é uma entidade dentro da sua AWS conta que tem permissões específicas.

### Usando credenciais temporárias com o AWS Serverless Application Repository
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

É possível usar credenciais temporárias para fazer login com federação, assumir uma função do IAM ou assumir uma função entre contas. Você obtém credenciais de segurança temporárias chamando operações de AWS STS API, como [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

O AWS Serverless Application Repository suporte usa credenciais temporárias.

### perfis vinculados ao serviço
<a name="security_iam_service-with-iam-roles-service-linked"></a>

O AWS Serverless Application Repository não oferece suporte a funções vinculadas a serviços.

### Perfis de serviço
<a name="security_iam_service-with-iam-roles-service"></a>

 AWS Serverless Application Repository Não oferece suporte a funções de serviço.