AWS service (Serviço da AWS) Informações simplificadas para acesso programático - Referência de autorização do serviço

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 service (Serviço da AWS) Informações simplificadas para acesso programático

AWS fornece informações de referência de serviços no formato JSON para agilizar a automação dos fluxos de trabalho de gerenciamento de políticas. Com as informações de referência do serviço, você pode acessar as operações, ações, recursos e chaves de condição disponíveis a Serviços da AWS partir de arquivos legíveis por máquina. As informações de referência do serviço incluem metadados além dos detalhes da autorização, incluindo informações sobre o último acesso da ação do IAM e dados de geração de políticas do IAM Access Analyzer.

Os administradores de segurança podem estabelecer barreiras e os desenvolvedores podem garantir o acesso adequado aos aplicativos identificando as ações, os recursos e as chaves de condição disponíveis para cada um. AWS service (Serviço da AWS) AWS fornece informações de referência do serviço Serviços da AWS para permitir que você incorpore os metadados em seus fluxos de trabalho de gerenciamento de políticas.

O conteúdo apresentado na Referência de autorização de serviço pode ser apresentado de forma diferente ou conter metadados diferentes. Para obter mais informações, consulte Definições de campo adicionais.

As informações de referência do serviço também oferecem metadados sobre operações, incluindo informações sobre ações autorizadas e os nomes dos métodos em SDKs.

Um contexto adicional do valor das chaves de condição pode estar disponível para ajudar nas permissões de escopo. Por exemplo, o valor de iam:PassedToService pode aparecer quando a ação iam:PassRole é autorizada por uma operação.

Esse mapeamento de operação para ação não é suportado em todos os serviços. Os serviços que ainda não oferecem suporte a esse mapeamento omitirão a AuthorizedAction propriedade. Além disso, as informações de ações autorizadas para operações não incluem permissões que possam ser necessárias para operações chamadas em seu nome com sessões de acesso direto.

nota

As alterações nas informações de referência do serviço podem levar até 24 horas para serem refletidas na lista de metadados do serviço.

Acessando informações AWS service (Serviço da AWS) de referência
  1. Navegue até as informações de referência do serviço para acessar a lista Serviços da AWS para as quais as informações de referência estão disponíveis.

    Há dois pontos de entrada principais:

    http://servicereference.us-east-1.amazonaws.com/ exibe uma lista das informações de referência Serviços da AWS para as quais estão disponíveis.

    O exemplo a seguir mostra uma lista parcial de serviços e URLs suas respectivas informações de referência:

    [ { "service": "s3", "url": "https://servicereference.us-east-1.amazonaws.com/v1/s3/s3.json" }, { "service": "dynamodb", "url": "https://servicereference.us-east-1.amazonaws.com/v1/dynamodb/dynamodb.json" }, … ]

    https://servicereference.us-east-1.amazonaws.com/v1/mapping.json exibe um mapeamento dos serviços do SDK para o local na referência do serviço em que as informações podem ser encontradas.

    O exemplo a seguir mostra uma lista parcial de mapeamentos:

    { "SDK" : { "Python" : { "Boto3" : { "accessanalyzer" : { "service" : "access-analyzer", "url" : "https://servicereference.us-east-1.amazonaws.com/v1/access-analyzer/access-analyzer.json" }, "account" : { "service" : "account", "url" : "https://servicereference.us-east-1.amazonaws.com/v1/account/account.json" }, "amp" : { "service" : "aps", "url" : "https://servicereference.us-east-1.amazonaws.com/v1/aps/aps.json" }, ... } } } }
  2. Escolha um serviço e navegue até a página de informações dele no campo url para exibir uma lista de ações, recursos e chaves de condição do serviço.

    O exemplo a seguir mostra uma lista parcial de informações de referência do serviço do Amazon S3:

    { "Name": "s3", "Actions": [ { "Name": "GetObject", "ActionConditionKeys": [ "s3:AccessGrantsInstanceArn", "s3:AccessPointNetworkOrigin", "s3:DataAccessPointAccount", "s3:DataAccessPointArn", "s3:ExistingObjectTag/key", "s3:ResourceAccount", "s3:TlsVersion", "s3:authType", "s3:if-match", "s3:if-none-match", "s3:signatureAge", "s3:signatureversion", "s3:x-amz-content-sha256" ], "Annotations" : { "Properties" : { "IsList" : false, "IsPermissionManagement" : false, "IsTaggingOnly" : false, "IsWrite" : false } }, "Resources": [ { "Name": "object" } ], "SupportedBy" : { "IAM Access Analyzer Policy Generation" : false, "IAM Action Last Accessed" : false } }, { "Name": "ListBucket", "ActionConditionKeys": [ "s3:AccessGrantsInstanceArn", "s3:AccessPointNetworkOrigin", "s3:DataAccessPointAccount", "s3:DataAccessPointArn", "s3:ResourceAccount", "s3:TlsVersion", "s3:authType", "s3:delimiter", "s3:max-keys", "s3:prefix", "s3:signatureAge", "s3:signatureversion", "s3:x-amz-content-sha256" ], "Annotations" : { "Properties" : { "IsList" : true, "IsPermissionManagement" : false, "IsTaggingOnly" : false, "IsWrite" : false } }, "Resources": [ { "Name": "bucket" } ], "SupportedBy" : { "IAM Access Analyzer Policy Generation" : false, "IAM Action Last Accessed" : false } }, ... ], "ConditionKeys": [ { "Name": "s3:TlsVersion", "Types": [ "Numeric" ] }, { "Name": "s3:authType", "Types": [ "String" ] }, ... ], "Operations": [ { "Name" : "GetObject", "AuthorizedActions" : [ { "Name" : "GetObject", "Service" : "s3" }, { "Name" : "GetObject", "Service" : "s3-object-lambda" }, { "Name" : "GetObjectLegalHold", "Service" : "s3" }, { "Name" : "GetObjectRetention", "Service" : "s3" }, { "Name" : "GetObjectTagging", "Service" : "s3" }, { "Name" : "GetObjectVersion", "Service" : "s3" } ], "SDK" : [ { "Name" : "s3", "Method" : "get_object", "Package" : "Boto3" } ] }, ... ], "Resources": [ { "Name": "accesspoint", "ARNFormats": [ "arn:${Partition}:s3:${Region}:${Account}:accesspoint/${AccessPointName}" ] }, { "Name": "bucket", "ARNFormats": [ "arn:${Partition}:s3:::${BucketName}" ] } ... ], "Version": "v1.4" }
  3. Baixe o arquivo JSON do URL do serviço para usar em seus fluxos de trabalho de criação de políticas.

Glossário

  • Operação - Uma API que pode ser chamada, geralmente por meio de um SDK

  • Ação - Permissão autorizada ao realizar uma operação

Definições de campo adicionais

As propriedades da ação fornecem metadados adicionais sobre as ações de serviço para ajudar a categorizá-las com base no escopo da permissão. Essas propriedades são encontradas no campo Annotations de cada ação. Os metadados consistem em quatro valores booleanos:

  • IsList: fornece permissões para descobrir e listar recursos, incluindo metadados básicos, sem acessar o conteúdo dos recursos.

    Exemplo: essa propriedade é true para a ação ListBucket do Amazon S3, permitindo que os usuários visualizem listas de buckets sem acessar os próprios objetos.

  • IsPermissionManagement: fornece permissões para modificar as permissões do IAM ou as credenciais de acesso.

    Exemplo — Essa propriedade é true para a maioria das AWS Organizations ações e do IAM, bem como para ações do Amazon S3, como e. PutBucketPolicy DeleteBucketPolicy

  • IsTaggingOnly: fornece permissões somente para modificar etiquetas.

    Exemplo: essa propriedade é true para as ações do IAM TagRole e UntagRole, embora seja false para CreateRole, uma vez que fornece permissões mais amplas além da marcação.

  • IsWrite: fornece permissões para modificar recursos, o que pode incluir modificações de etiquetas.

    Exemplo: essa propriedade é true para as ações do Amazon S3 CreateBucket, DeleteBucket e PutObject, uma vez que permitem a modificação de recursos.

nota

Essas propriedades não são mutuamente exclusivas. Uma ação pode ter várias propriedades definidas como true.

Também é possível que todas as propriedades sejam false, como visto com a ação GetObject do Amazon S3. Isso indica que a ação só concede permissões de leitura em um objeto.

Essas propriedades podem ser usadas para gerar insights sobre serviços. O exemplo a seguir mostra quais permissões com o prefixo s3 permitem a mutação de recursos:

> curl https://servicereference.us-east-1.amazonaws.com/v1/s3/s3.json | \ jq '.Actions[] | select(.Annotations.Properties.IsWrite == true) | .Name' "AssociateAccessGrantsIdentityCenter" "BypassGovernanceRetention" "CreateAccessGrant" "CreateAccessGrantsInstance" "CreateAccessGrantsLocation" ...

O exemplo a seguir mostra quais chaves de condição de ação com o prefixo lambda você pode usar para limitar o acesso às ações de gerenciamento de permissões:

> curl https://servicereference.us-east-1.amazonaws.com/v1/lambda/lambda.json | \ jq '.Actions[] | select(.Annotations.Properties.IsPermissionManagement == true) | {Name: .Name, ActionConditionKeys: (.ActionConditionKeys // [])}' { "Name": "AddLayerVersionPermission", "ActionConditionKeys": [] } { "Name": "AddPermission", "ActionConditionKeys": [ "lambda:FunctionUrlAuthType", "lambda:Principal" ] } { "Name": "DisableReplication", "ActionConditionKeys": [] } { "Name": "EnableReplication", "ActionConditionKeys": [] } { "Name": "RemoveLayerVersionPermission", "ActionConditionKeys": [] } { "Name": "RemovePermission", "ActionConditionKeys": [ "lambda:FunctionUrlAuthType", "lambda:Principal" ] }