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.
Uso de políticas basadas en la identidad para AWS CodeBuild
En este tema se proporcionan ejemplos de políticas basadas en la identidad que muestran cómo un administrador de cuentas puede adjuntar políticas de permisos a las IAM identidades (es decir, a los usuarios, los grupos y las funciones) y, de ese modo, conceder permisos para realizar operaciones en los recursos. AWS CodeBuild
importante
Le recomendamos que consulte primero los temas introductorios en los que se explican los conceptos básicos y las opciones disponibles para administrar el acceso a sus CodeBuild recursos. Para obtener más información, consulte Descripción general de la administración de los permisos de acceso a sus AWS CodeBuild recursos.
Temas
- Permisos necesarios para usar la consola de AWS CodeBuild
- Permisos necesarios para conectarse AWS CodeBuild a Amazon Elastic Container Registry
- Permisos necesarios para que la AWS CodeBuild consola se conecte a los proveedores de origen
- AWS políticas gestionadas (predefinidas) para AWS CodeBuild
- CodeBuild políticas y notificaciones gestionadas
- CodeBuild actualizaciones de las políticas AWS gestionadas
- Ejemplos de políticas administradas por los clientes
A continuación se muestra un ejemplo de una política de permisos que permite a un usuario obtener información acerca de los proyectos de compilación únicamente en la región us-east-2
de la cuenta 123456789012
para cualquier proyecto de compilación que empiece con el nombre my
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetProjects", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }
Permisos necesarios para usar la consola de AWS CodeBuild
El usuario que usa la AWS CodeBuild consola debe tener un conjunto mínimo de permisos que le permita describir otros AWS recursos de la AWS cuenta. Debe tener permisos de los siguientes servicios:
-
AWS CodeBuild
-
Amazon CloudWatch
-
CodeCommit (si está almacenando su código fuente en un AWS CodeCommit repositorio)
-
Amazon Elastic Container Registry (AmazonECR) (si utiliza un entorno de compilación que se basa en una imagen de Docker en un ECR repositorio de Amazon)
nota
El 26 de julio de 2022, se actualizó la IAM política predeterminada. Para obtener más información, consulte Permisos necesarios para conectarse AWS CodeBuild a Amazon Elastic Container Registry.
-
Amazon Elastic Container Service (AmazonECS) (si utiliza un entorno de compilación que se basa en una imagen de Docker en un ECR repositorio de Amazon)
-
AWS Identity and Access Management (IAM)
-
AWS Key Management Service (AWS KMS)
-
Amazon Simple Storage Service (Amazon S3)
Si crea una IAM política que sea más restrictiva que los permisos mínimos requeridos, la consola no funcionará según lo previsto.
Permisos necesarios para conectarse AWS CodeBuild a Amazon Elastic Container Registry
A partir del 26 de julio de 2022, AWS CodeBuild ha actualizado su IAM política predeterminada de ECR permisos de Amazon. Se han eliminado los permisos siguientes de la política predeterminada:
"ecr:PutImage", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload"
Para CodeBuild los proyectos que se crearon antes del 26 de julio de 2022, te recomendamos que actualices tu política con la siguiente ECR política de Amazon:
"Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ]
Para obtener más información sobre cómo actualizar sus políticas, consulte Permita que los usuarios interactúen con CodeBuild.
Permisos necesarios para que la AWS CodeBuild consola se conecte a los proveedores de origen
La AWS CodeBuild consola utiliza las siguientes API acciones para conectarse a los proveedores de fuentes (por ejemplo, GitHub los repositorios).
-
codebuild:ListConnectedOAuthAccounts
-
codebuild:ListRepositories
-
codebuild:PersistOAuthToken
-
codebuild:ImportSourceCredentials
Puedes asociar proveedores de código fuente (como GitHub repositorios) a tus proyectos de compilación mediante la AWS CodeBuild consola. Para ello, primero debes añadir las API acciones anteriores para IAM acceder a las políticas asociadas al usuario que utilizas para acceder a la AWS CodeBuild consola.
Las PersistOAuthToken
API acciones ListConnectedOAuthAccounts
ListRepositories
, y no están pensadas para que el código las invoque. Por lo tanto, estas API acciones no están incluidas en las letras AWS CLI y AWS
SDKs.
AWS políticas gestionadas (predefinidas) para AWS CodeBuild
AWS aborda muchos casos de uso comunes al proporcionar IAM políticas independientes creadas y administradas por. AWS Estas políticas AWS administradas otorgan los permisos necesarios para casos de uso comunes, de modo que no tenga que investigar qué permisos son necesarios. Las políticas gestionadas CodeBuild también proporcionan permisos para realizar operaciones en otros servicios, como AmazonIAM, Amazon AWS CodeCommit EC2, Amazon y Amazon ECR CloudWatch EventsSNS, según lo exijan las responsabilidades de los usuarios a los que se ha concedido la política en cuestión. Por ejemplo, la AWSCodeBuildAdminAccess
política es una política de usuario de nivel administrativo que permite a los usuarios con esta política crear y gestionar reglas de CloudWatch eventos para compilaciones de proyectos y SNS temas de Amazon para notificaciones sobre eventos relacionados con proyectos (temas cuyos nombres llevan el prefijoarn:aws:codebuild:
), así como administrar proyectos y grupos de informes en. CodeBuild Para obtener más información, consulte Políticas AWS administradas en la Guía del usuario. IAM
Las siguientes políticas AWS administradas, que puede adjuntar a los usuarios de su cuenta, son específicas de AWS CodeBuild.
- AWSCodeBuildAdminAccess
-
Proporciona acceso completo e CodeBuild incluye permisos para administrar proyectos de CodeBuild compilación.
- AWSCodeBuildDeveloperAccess
-
Proporciona acceso a la administración de proyectos de compilación, CodeBuild pero no la permite.
- AWSCodeBuildReadOnlyAccess
-
Proporciona acceso de solo lectura a. CodeBuild
Para acceder a los artefactos de salida de compilación que CodeBuild crea, también debe adjuntar la política AWS administrada denominada. AmazonS3ReadOnlyAccess
Para crear y administrar las funciones de CodeBuild servicio, también debe adjuntar la política AWS administrada denominadaIAMFullAccess
.
También puedes crear tus propias IAM políticas personalizadas para permitir permisos para CodeBuild acciones y recursos. Puede asociar estas políticas personalizadas a los usuarios o grupos de que requieran esos permisos.
AWSCodeBuildAdminAccess
La AWSCodeBuildAdminAccess
política proporciona acceso completo a los proyectos de CodeBuild construcción CodeBuild, incluidos los permisos para administrarlos. Aplica esta política solo a los usuarios de nivel administrativo para darles el control total sobre los CodeBuild proyectos, los grupos de informes y los recursos relacionados de tu AWS cuenta, incluida la posibilidad de eliminar proyectos y grupos de informes.
La política AWSCodeBuildAdminAccess
contiene la siguiente instrucción:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AWSServicesAccess",
"Action": [
"codebuild:*",
"codecommit:GetBranch",
"codecommit:GetCommit",
"codecommit:GetRepository",
"codecommit:ListBranches",
"codecommit:ListRepositories",
"cloudwatch:GetMetricStatistics",
"ec2:DescribeVpcs",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ecr:DescribeRepositories",
"ecr:ListImages",
"elasticfilesystem:DescribeFileSystems",
"events:DeleteRule",
"events:DescribeRule",
"events:DisableRule",
"events:EnableRule",
"events:ListTargetsByRule",
"events:ListRuleNamesByTarget",
"events:PutRule",
"events:PutTargets",
"events:RemoveTargets",
"logs:GetLogEvents",
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Sid": "CWLDeleteLogGroupAccess",
"Action": [
"logs:DeleteLogGroup"
],
"Effect": "Allow",
"Resource": "arn:aws:logs:*:*:log-group:/aws/codebuild/*:log-stream:*"
},
{
"Sid": "SSMParameterWriteAccess",
"Effect": "Allow",
"Action": [
"ssm:PutParameter"
],
"Resource": "arn:aws:ssm:*:*:parameter/CodeBuild/*"
},
{
"Sid": "SSMStartSessionAccess",
"Effect": "Allow",
"Action": [
"ssm:StartSession"
],
"Resource": "arn:aws:ecs:*:*:task/*/*"
},
{
"Sid": "CodeStarConnectionsReadWriteAccess",
"Effect": "Allow",
"Action": [
"codestar-connections:CreateConnection",
"codestar-connections:DeleteConnection",
"codestar-connections:UpdateConnectionInstallation",
"codestar-connections:TagResource",
"codestar-connections:UntagResource",
"codestar-connections:ListConnections",
"codestar-connections:ListInstallationTargets",
"codestar-connections:ListTagsForResource",
"codestar-connections:GetConnection",
"codestar-connections:GetIndividualAccessToken",
"codestar-connections:GetInstallationUrl",
"codestar-connections:PassConnection",
"codestar-connections:StartOAuthHandshake",
"codestar-connections:UseConnection"
],
"Resource": [
"arn:aws:codestar-connections:*:*:connection/*",
"arn:aws:codeconnections:*:*:connection/*"
]
},
{
"Sid": "CodeStarNotificationsReadWriteAccess",
"Effect": "Allow",
"Action": [
"codestar-notifications:CreateNotificationRule",
"codestar-notifications:DescribeNotificationRule",
"codestar-notifications:UpdateNotificationRule",
"codestar-notifications:DeleteNotificationRule",
"codestar-notifications:Subscribe",
"codestar-notifications:Unsubscribe"
],
"Resource": "*",
"Condition": {
"StringLike": {
"codestar-notifications:NotificationsForResource": "arn:aws:codebuild:*"
}
}
},
{
"Sid": "CodeStarNotificationsListAccess",
"Effect": "Allow",
"Action": [
"codestar-notifications:ListNotificationRules",
"codestar-notifications:ListEventTypes",
"codestar-notifications:ListTargets",
"codestar-notifications:ListTagsforResource"
],
"Resource": "*"
},
{
"Sid": "CodeStarNotificationsSNSTopicCreateAccess",
"Effect": "Allow",
"Action": [
"sns:CreateTopic",
"sns:SetTopicAttributes"
],
"Resource": "arn:aws:sns:*:*:codestar-notifications*"
},
{
"Sid": "SNSTopicListAccess",
"Effect": "Allow",
"Action": [
"sns:ListTopics",
"sns:GetTopicAttributes"
],
"Resource": "*"
},
{
"Sid": "CodeStarNotificationsChatbotAccess",
"Effect": "Allow",
"Action": [
"chatbot:DescribeSlackChannelConfigurations",
"chatbot:ListMicrosoftTeamsChannelConfigurations"
],
"Resource": "*"
}
]
}
AWSCodeBuildDeveloperAccess
La AWSCodeBuildDeveloperAccess
política permite el acceso a todas las funciones y a los recursos relacionados con los CodeBuild grupos de proyectos e informes. Esta política no permite a los usuarios eliminar CodeBuild proyectos o grupos de informes ni recursos relacionados en otros AWS servicios, como CloudWatch los eventos. Le recomendamos que aplique esta política a la mayoría de los usuarios.
La política AWSCodeBuildDeveloperAccess
contiene la siguiente instrucción:
{
"Statement": [
{
"Sid": "AWSServicesAccess",
"Action": [
"codebuild:StartBuild",
"codebuild:StopBuild",
"codebuild:StartBuildBatch",
"codebuild:StopBuildBatch",
"codebuild:RetryBuild",
"codebuild:RetryBuildBatch",
"codebuild:BatchGet*",
"codebuild:GetResourcePolicy",
"codebuild:DescribeTestCases",
"codebuild:DescribeCodeCoverages",
"codebuild:List*",
"codecommit:GetBranch",
"codecommit:GetCommit",
"codecommit:GetRepository",
"codecommit:ListBranches",
"cloudwatch:GetMetricStatistics",
"events:DescribeRule",
"events:ListTargetsByRule",
"events:ListRuleNamesByTarget",
"logs:GetLogEvents",
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Sid": "SSMParameterWriteAccess",
"Effect": "Allow",
"Action": [
"ssm:PutParameter"
],
"Resource": "arn:aws:ssm:*:*:parameter/CodeBuild/*"
},
{
"Sid": "SSMStartSessionAccess",
"Effect": "Allow",
"Action": [
"ssm:StartSession"
],
"Resource": "arn:aws:ecs:*:*:task/*/*"
},
{
"Sid": "CodeStarConnectionsUserAccess",
"Effect": "Allow",
"Action": [
"codestar-connections:ListConnections",
"codestar-connections:GetConnection"
],
"Resource": [
"arn:aws:codestar-connections:*:*:connection/*",
"arn:aws:codeconnections:*:*:connection/*"
]
},
{
"Sid": "CodeStarNotificationsReadWriteAccess",
"Effect": "Allow",
"Action": [
"codestar-notifications:CreateNotificationRule",
"codestar-notifications:DescribeNotificationRule",
"codestar-notifications:UpdateNotificationRule",
"codestar-notifications:Subscribe",
"codestar-notifications:Unsubscribe"
],
"Resource": "*",
"Condition": {
"StringLike": {
"codestar-notifications:NotificationsForResource": "arn:aws:codebuild:*"
}
}
},
{
"Sid": "CodeStarNotificationsListAccess",
"Effect": "Allow",
"Action": [
"codestar-notifications:ListNotificationRules",
"codestar-notifications:ListEventTypes",
"codestar-notifications:ListTargets",
"codestar-notifications:ListTagsforResource"
],
"Resource": "*"
},
{
"Sid": "SNSTopicListAccess",
"Effect": "Allow",
"Action": [
"sns:ListTopics",
"sns:GetTopicAttributes"
],
"Resource": "*"
},
{
"Sid": "CodeStarNotificationsChatbotAccess",
"Effect": "Allow",
"Action": [
"chatbot:DescribeSlackChannelConfigurations",
"chatbot:ListMicrosoftTeamsChannelConfigurations"
],
"Resource": "*"
}
],
"Version": "2012-10-17"
}
AWSCodeBuildReadOnlyAccess
La AWSCodeBuildReadOnlyAccess
política otorga acceso de solo lectura a otros AWS servicios CodeBuild y a los recursos relacionados en ellos. Aplique esta política a los usuarios que pueden consultar y ejecutar compilaciones, consultar proyectos y consultar grupos de informes, pero que no pueden realizar ningún cambio en ellos.
La política AWSCodeBuildReadOnlyAccess
contiene la siguiente instrucción:
{
"Statement": [
{
"Sid": "AWSServicesAccess",
"Action": [
"codebuild:BatchGet*",
"codebuild:GetResourcePolicy",
"codebuild:List*",
"codebuild:DescribeTestCases",
"codebuild:DescribeCodeCoverages",
"codecommit:GetBranch",
"codecommit:GetCommit",
"codecommit:GetRepository",
"cloudwatch:GetMetricStatistics",
"events:DescribeRule",
"events:ListTargetsByRule",
"events:ListRuleNamesByTarget",
"logs:GetLogEvents"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Sid": "CodeStarConnectionsUserAccess",
"Effect": "Allow",
"Action": [
"codestar-connections:ListConnections",
"codestar-connections:GetConnection"
],
"Resource": [
"arn:aws:codestar-connections:*:*:connection/*",
"arn:aws:codeconnections:*:*:connection/*"
]
},
{
"Sid": "CodeStarNotificationsPowerUserAccess",
"Effect": "Allow",
"Action": [
"codestar-notifications:DescribeNotificationRule"
],
"Resource": "*",
"Condition": {
"StringLike": {
"codestar-notifications:NotificationsForResource": "arn:aws:codebuild:*"
}
}
},
{
"Sid": "CodeStarNotificationsListAccess",
"Effect": "Allow",
"Action": [
"codestar-notifications:ListNotificationRules",
"codestar-notifications:ListEventTypes",
"codestar-notifications:ListTargets"
],
"Resource": "*"
}
],
"Version": "2012-10-17"
}
CodeBuild políticas y notificaciones gestionadas
CodeBuild admite las notificaciones, que pueden notificar a los usuarios los cambios importantes en los proyectos de construcción. Las políticas gestionadas CodeBuild incluyen declaraciones de políticas para la funcionalidad de notificación. Para obtener más información, consulte ¿Qué son las notificaciones?
Permisos relacionados con las notificaciones en políticas administradas de acceso total
La política administrada AWSCodeBuildFullAccess
incluye las siguientes instrucciones para permitir el acceso completo a las notificaciones. Los usuarios a los que se aplique esta política gestionada también pueden crear y gestionar SNS temas de Amazon para las notificaciones, suscribir y cancelar la suscripción de los usuarios a los temas, enumerar temas para seleccionarlos como objetivos de las reglas de notificación y enumerar AWS Chatbot
los clientes configurados para Slack.
{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" }
Permisos relacionados con las notificaciones en políticas administradas de solo lectura
La política administrada AWSCodeBuildReadOnlyAccess
incluye las siguientes instrucciones para permitir el acceso de solo lectura a las notificaciones. Los usuarios con esta política administrada aplicada pueden ver notificaciones de recursos, pero no pueden crearlas, administrarlas ni suscribirse a ellas.
{ "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" }
Permisos relacionados con las notificaciones en otras políticas administradas
La política AWSCodeBuildDeveloperAccess
administrada incluye las siguientes instrucciones para que los usuarios puedan crear notificaciones, editarlas y suscribirse a ellas. Los usuarios no pueden eliminar reglas de notificación ni administrar etiquetas para recursos.
{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" }
Para obtener más información IAM y notificaciones, consulta Identity and Access Management for AWS CodeStar Notificaciones.
CodeBuild actualizaciones de las políticas AWS gestionadas
Consulte los detalles sobre las actualizaciones de las políticas AWS administradas CodeBuild desde que este servicio comenzó a rastrear estos cambios. Para recibir alertas automáticas sobre los cambios en esta página, suscríbase al RSS feed enAWS CodeBuild Historial de documentos de la Guía del usuario .
Cambio | Descripción | Fecha |
---|---|---|
|
CodeBuild agregó un recurso a estas políticas para respaldar el cambio de AWS CodeConnections marca. Las |
18 de abril de 2024 |
|
CodeBuild agregó un permiso a estas políticas para admitir el uso de un tipo de notificación adicional AWS Chatbot. Las políticas de |
16 de mayo de 2023 |
CodeBuild comenzó a rastrear los cambios |
CodeBuild comenzó a realizar un seguimiento de los cambios de sus políticas AWS gestionadas. |
16 de mayo de 2021 |
Ejemplos de políticas administradas por los clientes
En esta sección, encontrará ejemplos de políticas de usuario que conceden permisos para acciones de AWS CodeBuild . Estas políticas funcionan cuando se utiliza CodeBuild API AWS SDKs, o. AWS CLI Cuando se utiliza la consola, se deben conceder permisos adicionales específicos de la consola. Para obtener más información, consulte Permisos necesarios para usar la consola de AWS CodeBuild.
Puede utilizar los siguientes ejemplos de IAM políticas para limitar el CodeBuild acceso de sus usuarios y funciones.
Temas
- Permitir que un usuario obtenga información sobre los proyectos de compilación
- Permite a un usuario obtener información sobre las flotas
- Permitir que un usuario obtenga información sobre los grupos de informes
- Permitir que un usuario obtenga información sobre los informes
- Permitir que un usuario pueda crear proyectos de compilación
- Permita a un usuario crear una flota
- Permitir que un usuario pueda crear un grupo de informes
- Permitir a un usuario eliminar una flota
- Permitir que un usuario pueda eliminar un grupo de informes
- Permitir que un usuario pueda eliminar un informe
- Permitir que un usuario pueda eliminar proyectos de compilación
- Permitir que un usuario pueda obtener una lista con los nombres de los proyectos de compilación
- Permitir que un usuario pueda cambiar la información de los proyectos de compilación
- Permitir a un usuario cambiar una flota
- Permitir que un usuario pueda cambiar un grupo de informes
- Permitir que un usuario obtenga información sobre las compilaciones
- Permite a un usuario obtener una lista de compilaciones IDs para un proyecto de compilación
- Permitir a un usuario obtener una lista de compilaciones IDs
- Permita que un usuario obtenga una lista de flotas
- Permitir que a un usuario pueda obtener una lista de grupos de informes
- Permitir que un usuario pueda obtener una lista de informes
- Permitir que un usuario pueda obtener una lista con los informes de un grupo de informes
- Permitir que un usuario pueda obtener una lista con los casos de prueba de un informe
- Permitir que un usuario pueda comenzar a ejecutar compilaciones
- Permitir que un usuario pueda intentar detener las compilaciones
- Permitir que un usuario pueda intentar eliminar compilaciones
- Permita que un usuario obtenga información sobre las imágenes de Docker administradas por CodeBuild
- Permitir a un usuario añadir una política de permisos para un rol de servicio de flota
- Permita el CodeBuild acceso a AWS los servicios necesarios para crear una interfaz VPC de red
- Utilice una declaración de denegación para evitar la desconexión AWS CodeBuild de los proveedores de origen
Permitir que un usuario obtenga información sobre los proyectos de compilación
A continuación se muestra una instrucción de política de ejemplo que permite a un usuario obtener información acerca de los proyectos de compilación en la región us-east-2
de la cuenta 123456789012
para cualquier proyecto de compilación que empiece con el nombre my
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetProjects", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }
Permite a un usuario obtener información sobre las flotas
El siguiente ejemplo de declaración de política permite al usuario obtener información sobre las flotas de la us-east-2
región para su cuenta: 123456789012
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetFleets", "Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*" } ] }
Permitir que un usuario obtenga información sobre los grupos de informes
El ejemplo siguiente de instrucción de política permite a un usuario obtener información sobre grupos de informes en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetReportGroups", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }
Permitir que un usuario obtenga información sobre los informes
El ejemplo siguiente de instrucción de política permite a un usuario obtener información sobre informes en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetReports", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }
Permitir que un usuario pueda crear proyectos de compilación
El siguiente ejemplo de declaración de política permite a un usuario crear proyectos de construcción con cualquier nombre, pero solo en la us-east-2
región por cuenta 123456789012
y únicamente utilizando la función de CodeBuild servicio especificada:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/CodeBuildServiceRole" } ] }
El siguiente ejemplo de declaración de política permite a un usuario crear proyectos de construcción con cualquier nombre, pero solo en la us-east-2
región como cuenta 123456789012
y únicamente con el rol de CodeBuild servicio especificado. También establece que el usuario solo puede usar el rol de servicio especificado con AWS CodeBuild ningún otro AWS servicio.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/CodeBuildServiceRole", "Condition": { "StringEquals": {"iam:PassedToService": "codebuild.amazonaws.com"} } } ] }}
Permita a un usuario crear una flota
El siguiente ejemplo de declaración de política permite a un usuario crear una flota en la us-east-2
región para su cuenta123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateFleet", "Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*" } ] }
Permitir que un usuario pueda crear un grupo de informes
El ejemplo siguiente de la instrucción de una política permite a un usuario crear un grupo de informes en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }
Permitir a un usuario eliminar una flota
El siguiente ejemplo de declaración de política permite a un usuario eliminar una flota de la us-east-2
región por cuenta123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteFleet", "Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*" } ] }
Permitir que un usuario pueda eliminar un grupo de informes
El ejemplo siguiente de instrucción de política permite a un usuario eliminar un grupo de informes en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }
Permitir que un usuario pueda eliminar un informe
El ejemplo siguiente de instrucción de política permite a un usuario eliminar un informe en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteReport", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }
Permitir que un usuario pueda eliminar proyectos de compilación
A continuación se muestra una instrucción de política de ejemplo que permite a un usuario eliminar proyectos de compilación en la región us-east-2
de la cuenta 123456789012
para cualquier proyecto de compilación que empiece con el nombre my
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }
Permitir que un usuario pueda obtener una lista con los nombres de los proyectos de compilación
La siguiente instrucción de política de ejemplo permite a un usuario obtener una lista de nombres de proyectos de compilación de la misma cuenta:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListProjects", "Resource": "*" } ] }
Permitir que un usuario pueda cambiar la información de los proyectos de compilación
La siguiente instrucción de política de ejemplo permite a un usuario cambiar la información de los proyectos de compilación con cualquier nombre, pero solo en la región us-east-2
de la cuenta 123456789012
y solo mediante el rol de servicio de AWS CodeBuild especificado:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:UpdateProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/CodeBuildServiceRole" } ] }
Permitir a un usuario cambiar una flota
El siguiente ejemplo de declaración de política permite a un usuario cambiar una flota de la us-east-2
región por cuenta123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:UpdateFleet", "Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*" } ] }
Permitir que un usuario pueda cambiar un grupo de informes
El ejemplo siguiente de instrucción de política permite a un usuario cambiar un grupo de informes en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:UpdateReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }
Permitir que un usuario obtenga información sobre las compilaciones
La siguiente instrucción de política de ejemplo permite a un usuario obtener información acerca de las compilaciones en la región us-east-2
de la cuenta 123456789012
para los proyectos de compilación denominados my-build-project
y my-other-build-project
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetBuilds", "Resource": [ "arn:aws:codebuild:us-east-2:123456789012:project/my-build-project", "arn:aws:codebuild:us-east-2:123456789012:project/my-other-build-project" ] } ] }
Permite a un usuario obtener una lista de compilaciones IDs para un proyecto de compilación
El siguiente ejemplo de declaración de política permite al usuario obtener una lista de las compilaciones de la us-east-2
región 123456789012
para tener IDs en cuenta los proyectos de construcción nombrados my-build-project
ymy-other-build-project
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListBuildsForProject", "Resource": [ "arn:aws:codebuild:us-east-2:123456789012:project/my-build-project", "arn:aws:codebuild:us-east-2:123456789012:project/my-other-build-project" ] } ] }
Permitir a un usuario obtener una lista de compilaciones IDs
El siguiente ejemplo de declaración de política permite al usuario obtener una lista de todas las IDs compilaciones de la misma cuenta:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListBuilds", "Resource": "*" } ] }
Permita que un usuario obtenga una lista de flotas
El siguiente ejemplo de declaración de política permite al usuario obtener una lista de las flotas de la us-east-2
región a modo de cuenta: 123456789012
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListFleets", "Resource": "*" } ] }
Permitir que a un usuario pueda obtener una lista de grupos de informes
El ejemplo siguiente de instrucción de política permite a un usuario obtener una lista de los grupos de informes en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListReportGroups", "Resource": "*" } ] }
Permitir que un usuario pueda obtener una lista de informes
El ejemplo siguiente de instrucción de política permite a un usuario obtener una lista de los informes en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListReports", "Resource": "*" } ] }
Permitir que un usuario pueda obtener una lista con los informes de un grupo de informes
El ejemplo siguiente de instrucción de política permite a un usuario obtener una lista de informes de un grupos de informes en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListReportsForReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }
Permitir que un usuario pueda obtener una lista con los casos de prueba de un informe
La siguiente instrucción de política de ejemplo permite a un usuario obtener una lista de casos de prueba para un informe en la región us-east-2
para la cuenta 123456789012
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DescribeTestCases", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }
Permitir que un usuario pueda comenzar a ejecutar compilaciones
La siguiente instrucción de política de ejemplo permite a un usuario ejecutar compilaciones en la región us-east-2
de la cuenta 123456789012
para proyectos de compilación que empiezan con el nombre my
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:StartBuild", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }
Permitir que un usuario pueda intentar detener las compilaciones
A continuación se muestra una instrucción de política de ejemplo que permite a un usuario intentar detener la ejecución de compilaciones únicamente en la región us-east-2
de la cuenta 123456789012
para cualquier proyecto de compilación que empiece con el nombre my
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:StopBuild", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }
Permitir que un usuario pueda intentar eliminar compilaciones
La siguiente instrucción de la política de ejemplo permite que un usuario pueda intentar eliminar compilaciones únicamente en la región us-east-2
de la cuenta 123456789012
para cualquier proyecto de compilación que empiece con el nombre my
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchDeleteBuilds", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }
Permita que un usuario obtenga información sobre las imágenes de Docker administradas por CodeBuild
El siguiente ejemplo de declaración de política permite al usuario obtener información sobre todas las imágenes de Docker que administra: CodeBuild
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListCuratedEnvironmentImages", "Resource": "*" } ] }
Permitir a un usuario añadir una política de permisos para un rol de servicio de flota
El siguiente ejemplo de declaración de política de recursos permite a un usuario añadir una política de VPC permisos para un rol de servicio de flota:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildFleetVpcCreateNI", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:
region
:account-id
:subnet/subnet-id-1", "arn:aws:ec2:region
:account-id
:security-group/security-group-id-1", "arn:aws:ec2:region
:account-id
:network-interface/*" ] }, { "Sid": "CodeBuildFleetVpcPermission", "Effect": "Allow", "Action": [ "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Sid": "CodeBuildFleetVpcNIPermission", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission" ], "Resource": "arn:aws:ec2:region
:account-id
:network-interface/*", "Condition": { "StringEquals": { "ec2:Subnet": [ "arn:aws:ec2:region
:account-id
:subnet/subnet-id-1" ] } } } ] }
El siguiente ejemplo de declaración de política de recursos permite a un usuario añadir una política de permisos de Amazon Managed Image (AMI) personalizada para un rol de servicio de flota:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeImages", "Resource": "*" } ] }
El siguiente ejemplo de declaración de política de confianza permite a un usuario añadir una política de permisos para un rol de servicio de flota:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildFleetVPCTrustPolicy", "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" } } } ] }
Permita el CodeBuild acceso a AWS los servicios necesarios para crear una interfaz VPC de red
El siguiente ejemplo de declaración de política concede AWS CodeBuild permiso para crear una interfaz de red en un VPC con dos subredes:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission" ], "Resource": "arn:aws:ec2:
region
:account-id
:network-interface/*", "Condition": { "StringEquals": { "ec2:AuthorizedService": "codebuild.amazonaws.com" }, "ArnEquals": { "ec2:Subnet": [ "arn:aws:ec2:region
:account-id
:subnet/subnet-id-1", "arn:aws:ec2:region
:account-id
:subnet/subnet-id-2" ] } } } ] }
Utilice una declaración de denegación para evitar la desconexión AWS CodeBuild de los proveedores de origen
La siguiente instrucción de política de ejemplo utiliza una instrucción de denegación para evitar que AWS CodeBuild se desconecte de los proveedores de código fuente. Utiliza codebuild:DeleteOAuthToken
, que es lo contrario de codebuild:PersistOAuthToken
y codebuild:ImportSourceCredentials
, para establecer conexión con los proveedores de código fuente. Para obtener más información, consulte Permisos necesarios para que la AWS CodeBuild consola se conecte a los proveedores de origen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "codebuild:DeleteOAuthToken", "Resource": "*" } ] }