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:
Tópicos
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-idapplication-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-idapplication-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-idapplication-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-idapplication-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-idapplication-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-idapplication-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-idapplication-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-idapplication-arn
\ --statements Principals=account-id-1
,account-id-2
,Actions=GetApplication,CreateCloudFormationTemplate