AWS Serverless Application Repository Exemplos de políticas de aplicativos - AWS Serverless Application Repository

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 de aplicativos

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 aplicativo determinam as ações que um principal ou PrincipalOrg especificado pode executar em um AWS Serverless Application Repository aplicativo.

Um AWS Serverless Application Repository aplicativo é o principal AWS recurso no AWS Serverless Application Repository. 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. Somente consumidores que compartilham sua AWS conta têm permissão para implantar aplicativos privados.

  • Compartilhado de forma privada — Aplicativos que o editor compartilhou explicitamente com um conjunto específico de AWS contas ou com AWS contas em uma AWS organização. Os consumidores têm permissão para implantar aplicativos que foram compartilhados com sua AWS conta ou AWS organização. Para obter mais informações sobre AWS organizações, consulte o Guia AWS Organizations do usuário.

  • Compartilhado publicamente — aplicativos que o editor compartilhou com todos. Todos os consumidores têm permissão para implantar um aplicativo compartilhado publicamente.

nota

Para aplicativos compartilhados de forma privada, o AWS Serverless Application Repository único suporta AWS contas como diretores. Os editores podem conceder ou negar todos os usuários em uma AWS conta como um único grupo para um AWS Serverless Application Repository aplicativo. Os editores não podem conceder ou negar usuários individuais em uma AWS conta para um AWS Serverless Application Repository aplicativo.

Para obter instruções sobre como definir as permissões do aplicativo usando o AWS Management Console, consulteCompartilhar um aplicativo.

Para obter instruções sobre como definir permissões de aplicativos usando o AWS CLI e exemplos, consulte as seções a seguir.

Permissões do aplicativo (AWS CLI e AWS SDKs)

Ao usar o AWS CLI ou o AWS SDKs para definir permissões para um AWS Serverless Application Repository aplicativo, você pode especificar as seguintes ações:

Ação Descrição
GetApplication

Concede permissão para visualizar informações sobre o aplicativo.

CreateCloudFormationChangeSet

Concede permissão para o aplicativo ser implantado.

Observação: essa ação não concede nenhuma outra permissão além da permissão de implantação.

CreateCloudFormationTemplate

Concede permissão para criar um AWS CloudFormation modelo para o aplicativo.

ListApplicationVersions Concede permissão para listar as versões do aplicativo.
ListApplicationDependencies Concede permissão para relacionar os aplicativos que estão aninhados dentro do aplicativo.
SearchApplications Concede permissão para o aplicativo ser pesquisado.
Implantar

Essa ação habilita todas as ações listadas anteriormente na tabela. Ou seja, concede permissão para o aplicativo ser visualizado, implantado, as versões serem listadas e o aplicativo ser pesquisado.

Exemplos de políticas de aplicativos

Os exemplos a seguir mostram como conceder permissões usando a AWS CLI. Para obter informações sobre como conceder permissões usando o AWS Management Console, consulteCompartilhar um aplicativo.

Todos os exemplos desta seção usam esses AWS CLI comandos para gerenciar as políticas de permissões associadas aos AWS Serverless Application Repository aplicativos:

Exemplo 1: compartilhar um aplicativo com outra conta

Para compartilhar um aplicativo com outra conta específica, mas evitar que ele seja compartilhado com outras pessoas, você especifica o ID da AWS conta com a qual deseja compartilhar como principal. Isso também é conhecido como configurar o aplicativo como compartilhado de forma privada. Para fazer isso, use o AWS CLI comando a seguir.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id,Actions=Deploy
nota

Aplicativos compartilhados de forma privada só podem ser usados na mesma AWS região em que o aplicativo foi criado.

Exemplo 2: Compartilhar um aplicativo publicamente

Para tornar um aplicativo público, você o compartilha com todos os usuários especificando"*" como a entidade principal, como no exemplo a seguir. Os aplicativos compartilhados publicamente ficam disponíveis em todas as regiões.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,Actions=Deploy
nota

Para compartilhar um aplicativo publicamente, ele deve ter as propriedades LicenseUrl e SemanticVersion definidas.

Exemplo 3: Tornar um aplicativo privado

Você pode tornar um aplicativo privado, para que ele não seja compartilhado com ninguém e só possa ser implantado pela AWS conta que o possui. Para fazer isso, você limpa os princípios e as ações da política, o que também remove as permissões de outras contas da sua AWS organização de implantar seu aplicativo.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements '[]'
nota

Aplicativos privados só podem ser usados na mesma AWS região em que o aplicativo foi criado.

Exemplo 4: Especificação de várias contas e permissões

Você pode conceder várias permissões e concedê-las a mais de uma AWS conta ao mesmo tempo. Para fazer isso, especifique listas como o principal e como ações, conforme exibido no exemplo a seguir.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationChangeSet

Exemplo 5: Compartilhar um aplicativo com todas as contas em uma AWS organização

As permissões podem ser concedidas a todos os usuários de uma AWS organização. É possível fazer isso especificando o ID da organização, como no exemplo a seguir.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication

Para obter mais informações sobre AWS organizações, consulte o Guia do AWS Organizations usuário.

nota

Você só pode especificar a AWS organização da qual sua AWS conta é membro. Se você tentar especificar uma AWS organização da qual não é membro, ocorrerá um erro.

Para compartilhar seu aplicativo com sua AWS organização, você deve incluir permissão para a UnshareApplication ação, caso o compartilhamento precise ser revogado no futuro.

Exemplo 6: Compartilhando um aplicativo com algumas contas em uma AWS organização

As permissões podem ser concedidas a contas específicas dentro de uma AWS organização. Você faz isso especificando uma lista de AWS contas como principal e o ID da sua organização, como no exemplo a seguir.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication
nota

Você só pode especificar a AWS organização da qual sua AWS conta é membro. Se você tentar especificar uma AWS organização da qual não é membro, ocorrerá um erro.

Para compartilhar seu aplicativo com sua AWS organização, você deve incluir permissão para a UnshareApplication ação, caso o compartilhamento precise ser revogado no futuro.

Exemplo 7: recuperar uma política de aplicativo

Para visualizar a política atual de um aplicativo, por exemplo, para ver se ele está sendo compartilhado no momento, use o comando get-application-policy, como no exemplo a seguir.

aws serverlessrepo get-application-policy \ --region region \ --application-id application-arn

Exemplo 8: permitir que o aplicativo seja aninhado por contas específicas

Aplicativos públicos podem ser aninhados por qualquer pessoa. Caso você queira permitir que seu aplicativo seja aninhado por contas específicas, você deve ajustar as permissões mínimas abaixo, conforme exibido no exemplo a seguir.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationTemplate