AWS CodeArtifact referencia de permisos - CodeArtifact

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS CodeArtifact referencia de permisos

AWS CodeArtifact recursos y operaciones

En AWS CodeArtifact, el recurso principal es un dominio. En una política, se usa un nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política. Los repositorios son también recursos y tienen ARN asociados. Para obtener más información, consulte Nombres de recurso de Amazon (ARN) en la Referencia general de Amazon Web Services.

Tipo de recurso Formato de ARN
Dominio

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

Repositorio

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

Grupo de paquetes

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

Paquete con un espacio de nombres

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

Paquete sin un espacio de nombres

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format//my_package

Todos los CodeArtifact recursos

arn:aws:codeartifact:*

Todos los CodeArtifact recursos que pertenecen a la cuenta especificada en la región de AWS especificada

arn:aws:codeartifact:region-ID:account-ID:*

El ARN del recurso que especifique depende de la acción o acciones cuyo acceso desee controlar.

Puede indicar un dominio específico (myDomain) en su declaración utilizando su ARN de la siguiente manera.

"Resource": "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain"

Puede indicar un repositorio específico (myRepo) en la instrucción usando su ARN de este modo.

"Resource": "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain/myRepo"

Para especificar varios recursos en una única instrucción, separe sus ARN con comas. La siguiente declaración se aplica a todos los paquetes y repositorios de un dominio específico.

"Resource": [ "arn:aws:codeartifact:us-east-2:123456789012:domain/myDomain", "arn:aws:codeartifact:us-east-2:123456789012:repository/myDomain/*", "arn:aws:codeartifact:us-east-2:123456789012:package/myDomain/*" ]
nota

Muchos AWS servicios utilizan los dos puntos (:)) o una barra diagonal (/) como el mismo carácter en los ARN. Sin embargo, CodeArtifact utiliza una coincidencia exacta en las reglas y patrones de recursos. Asegúrese de utilizar los caracteres correctos cuando cree patrones de eventos para que coincidan con la sintaxis de ARN en el recurso.

AWS CodeArtifact Operaciones y permisos de la API

Puede utilizar la siguiente tabla como referencia cuando configure políticas de control de acceso y de escritura pueda asociar a una identidad de IAM (políticas basadas en identidad).

Puede utilizar claves AWS de condición generales en sus AWS CodeArtifact políticas para expresar las condiciones. Para más información, consulte Referencia de los elementos de las políticas de JSON de IAM en la Guía del usuario de IAM.

Las acciones se especifican en el campo Action de la política. Para especificar una acción, use el prefijo codeartifact: seguido del nombre de operación de API (por ejemplo, codeartifact:CreateDomain y codeartifact:AssociateExternalConnection). Para especificar varias acciones en una única instrucción, sepárelas con comas (por ejemplo, "Action": [ "codeartifact:CreateDomain", "codeartifact:AssociateExternalConnection" ]).

Uso de caracteres comodín

Debe especificar un ARN, con o sin un carácter comodín (*), como el valor del recurso en el campo Resource de la política. Puede utilizar un carácter comodín para especificar varias acciones o recursos. Por ejemplo, codeartifact:* especifica todas CodeArtifact las acciones y codeartifact:Describe* especifica todas CodeArtifact las acciones que comienzan por la palabraDescribe.

CodeArtifact Operaciones de la API y permisos necesarios para las acciones
AWS CodeArtifact Operaciones de API Permisos necesarios (acciones de API) Recursos
AssociateExternalConnection

codeartifact:AssociateExternalConnection

Se necesita para agregar una conexión externa a un repositorio.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

CopyPackageVersions

Para copiar versiones de paquetes de un repositorio de origen a un repositorio de destino:

codeartifact:CopyPackageVersions

Se necesita en el repositorio de destino.

codeartifact:ReadFromRepository

Se necesita en el repositorio de origen.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

CreateDomain

codeartifact:CreateDomain

Se necesita para crear dominios.

kms:DescribeKey y kms:CreateGrant

Se requiere en la clave de KMS proporcionada cuando se especifica una clave encryptionKey no predeterminada.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

CreatePackageGroup

codeartifact:CreatePackageGroup

Necesario para crear grupos de paquetes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

CreateRepository

codeartifact:CreateRepository

Se necesita para crear repositorios.

codeartifact:AssociateWithDownstreamRepository

Se requiere en un repositorio para que pueda añadirse como repositorio ascendente a los repositorios descendentes.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DeleteDomain

codeartifact:DeleteDomain

Se necesita para eliminar dominios.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DeleteDomainPermissionsPolicy

codeartifact:DeleteDomainPermissionsPolicy

Se necesita para eliminar una política de recursos del dominio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DeletePackage

codeartifact:DeletePackage

Se necesita para eliminar un paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DeletePackageGroup

codeartifact:DeletePackageGroup

Necesario para eliminar un grupo de paquetes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

DeletePackageVersions

codeartifact:DeletePackageVersions

Se necesita para eliminar versiones de un paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DeleteRepository

codeartifact:DeleteRepository

Se necesita para eliminar un repositorio de .

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DeleteRepositoryPermissionsPolicy

codeartifact:DeleteRepositoryPermissionsPolicy

Se necesita para eliminar una política de recursos del repositorio.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DescribeDomain

codeartifact:DescribeDomain

Se necesita para obtener información sobre un dominio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

DescribePackage

codeartifact:DescribePackage

Se necesita para obtener información sobre un paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DescribePackageGroup

codeartifact:DescribePackageGroup

Necesario para obtener información sobre un grupo de paquetes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

DescribePackageVersion

codeartifact:DescribePackageVersion

Se necesita para obtener información sobre la versión de un paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

DescribeRepository

codeartifact:DescribeRepository

Se necesita para obtener información sobre un repositorio.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DisassociateExternalConnection

codeartifact:DisassociateExternalConnection

Se necesita para eliminar una conexión externa de un repositorio.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

DisposePackageVersions

codeartifact:DisposePackageVersions

Se necesita para eliminar versiones de un paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

GetAssociatedPackageGroup

codeartifact:GetAssociatedPackageGroup

Necesario para obtener el grupo de paquetes asociado a un paquete.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

GetAuthorizationToken

codeartifact:GetAuthorizationToken

sts:GetServiceBearerToken

Se necesita para obtener un token de autorización temporal para acceder a los repositorios.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

GetDomainPermissionsPolicy

codeartifact:GetDomainPermissionsPolicy

Se necesita para obtener una política de recursos de dominio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

GetPackageVersionAsset

codeartifact:GetPackageVersionAsset

Se necesita para obtener los activos en una versión de paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package
GetPackageVersionReadme

codeartifact:GetPackageVersionReadme

Se necesita para obtener el archivo readme de una versión del paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

GetRepositoryEndpoint

codeartifact:GetRepositoryEndpoint

Se necesita para obtener un punto de conexión del repositorio.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

GetRepositoryPermissionsPolicy

codeartifact:GetRepositoryPermissionsPolicy

Se necesita para obtener una política de recursos del repositorio.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ListAssociatedPackages

codeartifact:ListAssociatedPackages

Necesario para devolver una lista de paquetes asociados a un grupo de paquetes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

ListDomains

codeartifact:ListDomains

Se necesita para devolver una lista paginada de dominios en una cuenta de AWS.

*

ListPackageGroups

codeartifact:ListPackageGroups

Necesario para devolver una lista paginada de los grupos de paquetes de un dominio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

ListPackages

codeartifact:ListPackages

Se necesita para devolver una lista paginada de paquetes en un repositorio.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ListPackageVersionAssets

codeartifact:ListPackageVersionAssets

Se necesita para devolver una lista paginada de activos en una versión de paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListPackageVersionDependencies

codeartifact:ListPackageVersionDependencies

Se necesita para devolver una lista paginada de las dependencias de una versión de paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListPackageVersions

codeartifact:ListPackageVersions

Se necesita para devolver una lista paginada de versiones de paquetes en un repositorio.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

ListRepositories

codeartifact:ListRepositories

Se necesita para devolver una lista paginada de repositorios en una cuenta de AWS.

*

ListRepositoriesInDomain

codeartifact:ListRepositoriesInDomain

Se necesita para devolver una lista paginada de repositorios en un dominio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

ListSubPackageGroups

codeartifact:ListSubPackageGroups

Necesario para devolver una lista de grupos de paquetes secundarios directos de un grupo de paquetes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

ListTagsForResource

codeartifact:ListTagsForResource

Se necesita para obtener la lista de las etiquetas de un recurso específico.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

PublishPackageVersion

codeartifact:PublishPackageVersion

Se necesita para publicar una versión del paquete en un repositorio.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutDomainPermissionsPolicy

codeartifact:PutDomainPermissionsPolicy

Se necesita para agregar una política de recursos a un dominio.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

PutPackageMetadata

codeartifact:PutPackageMetadata

Se necesita para publicar las versiones de los paquetes de Maven en un repositorio o para añadir o eliminar etiquetas npm de las versiones de los paquetes de npm.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutPackageOriginConfiguration

codeartifact:PutPackageOriginConfiguration

Se necesita para actualizar la configuración de origen de un paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

PutRepositoryPermissionsPolicy

codeartifact:PutRepositoryPermissionsPolicy

Se necesita para agregar una política de recursos a un repositorio.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ReadFromRepository

codeartifact:ReadFromRepository

Se necesita para leer desde un repositorio con un cliente administrador de paquetes.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

TagResource

codeartifact:TagResource

Se necesita para etiquetar un recurso.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

UntagResource

codeartifact:UntagResource

Se necesita para eliminar una etiqueta de un recurso.

arn:aws:codeartifact:region-ID:account-ID:domain/my_domain

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

UpdatePackageGroup

codeartifact:UpdatePackageGroup

Necesario para actualizar un grupo de paquetes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

UpdatePackageGroupOriginConfiguration

codeartifact:UpdatePackageGroupOriginConfiguration

Necesario para actualizar la configuración de origen de un grupo de paquetes.

arn:aws:codeartifact:region-ID:account-ID:package-group/my_domain/encoded_package_group_pattern

UpdatePackageVersionsStatus

codeartifact:UpdatePackageVersionsStatus

Se necesita para cambiar el estado de una versión del paquete.

arn:aws:codeartifact:region-ID:account-ID:package/my_domain/my_repo/package-format/namespace/my_package

UpdateRepository

codeartifact:UpdateRepository

Se necesita para actualizar la descripción de un repositorio o las conexiones ascendentes. Consulte Modificación de la configuración inicial de un repositorio o consulte UpdateRepositoryla Guía de la CodeArtifact API para obtener más información.

codeartifact:AssociateWithDownstreamRepository

Se requiere en un repositorio para que pueda añadirse como repositorio ascendente a los repositorios descendentes.

arn:aws:codeartifact:region-ID:account-ID:repository/my_domain/my_repo

ARN de grupos de paquetes

nota

Esta sección sobre cómo los ARN de los grupos de paquetes y la codificación de patrones es informativa. Se recomienda copiar los ARN de la consola o buscarlos mediante la DescribePackageGroup API en lugar de codificar patrones y construir los ARN.

Las políticas de IAM utilizan el carácter comodín,*, para hacer coincidir varias acciones de IAM o varios recursos. Los patrones de grupos de paquetes también utilizan el * carácter. Para escribir más fácilmente las políticas de IAM que coincidan con un único grupo de paquetes, el formato ARN del grupo de paquetes utiliza una versión codificada del patrón del grupo de paquetes.

En concreto, el formato ARN del grupo de paquetes es el siguiente:

arn:aws:codeartifact:region:account-ID:package-group/my_domain/encoded_package_group_pattern

Donde el patrón del grupo de paquetes codificado es el patrón del grupo de paquetes, con ciertos caracteres especiales reemplazados por sus valores codificados en porcentaje. La siguiente lista contiene los caracteres y sus correspondientes valores porcentuales codificados:

  • * : %2a

  • $ : %24

  • % : %25

Por ejemplo, el ARN de un grupo de paquetes raíz de un dominio, (/*), sería:

arn:aws:codeartifact:us-east-1:111122223333:package-group/my_domain/%2a

Tenga en cuenta que los caracteres no incluidos en la lista no se pueden codificar y los ARN distinguen entre mayúsculas y minúsculas, por lo que * deben codificarse como %2a y no. %2A