Uso de etiquetas para controlar el acceso a los recursos de AWS CodeBuild - AWS CodeBuild

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 etiquetas para controlar el acceso a los recursos de AWS CodeBuild

Las condiciones de las declaraciones de política de IAM forman parte de la sintaxis que se puede utilizar para especificar los permisos para las acciones CodeBuild basadas en proyectos. Puede crear una política que permita o deniegue acciones sobre los proyectos en función de las etiquetas asociadas a dichos proyectos y aplicar después esas políticas a los grupos de IAM que configure para administrar usuarios. Para obtener información sobre cómo aplicar etiquetas a un proyecto mediante la consola o consulte AWS CLI. Creación de un proyecto de compilación en AWS CodeBuild Para obtener información sobre cómo aplicar etiquetas mediante el CodeBuild SDK, consulte CreateProject la referencia sobre las etiquetas en la CodeBuild API. Para obtener información sobre el uso de etiquetas para controlar el acceso a AWS los recursos, consulte Control del acceso a AWS los recursos mediante etiquetas de recursos en la Guía del usuario de IAM.

ejemplo Ejemplo 1: Limite las acciones CodeBuild del proyecto en función de las etiquetas de los recursos

En el ejemplo siguiente, se deniegan todas las acciones BatchGetProjects en los proyectos etiquetados con la clave Environment y el valor de clave Production. El administrador de un usuario debe asociar esta política de IAM, junto con la política de usuario administrada, a los usuarios de que no estén autorizados. La clave de condición aws:ResourceTag se utiliza para controlar el acceso a los recursos en función de sus etiquetas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codebuild:BatchGetProjects" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/Environment": "Production" } } } ] }
ejemplo Ejemplo 2: Limitar las acciones CodeBuild del proyecto en función de las etiquetas de solicitud

La siguiente política deniega a los usuarios el permiso para la acción CreateProject si la solicitud contiene una etiqueta con la clave Environment y el valor de clave Production. Además, la política impide que estos usuarios no autorizados puedan modificar los proyectos utilizando la clave de condición aws:TagKeys y no permite UpdateProject si la solicitud contiene una etiqueta con la clave Environment. Un administrador debe asociar esta política de IAM, junto con la política de usuario administrada, a los usuarios que no estén autorizados para realizar estas acciones. (La clave de condición aws:RequestTag se utiliza para controlar qué etiquetas se pueden pasar en una solicitud de IAM).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codebuild:CreateProject" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:RequestTag/Environment": "Production" } } }, { "Effect": "Deny", "Action": [ "codebuild:UpdateProject" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["Environment"] } } } ] }
ejemplo Ejemplo 3: Denegar o permitir acciones en grupos de informes en función de etiquetas de recursos

Puede crear una política que permita o deniegue acciones en CodeBuild los recursos (proyectos y grupos de informes) en función de las AWS etiquetas asociadas a esos recursos y, a continuación, aplicar esas políticas a los grupos de IAM que configure para administrar los usuarios. Por ejemplo, puede crear una política que deniegue todas CodeBuild las acciones en cualquier grupo de informes con la clave de AWS etiqueta Status y el valor clave de ySecret, a continuación, aplicar esa política al grupo de IAM que creó para desarrolladores generales (desarrolladores). Tendrá que asegurarse de que los desarrolladores que trabajan en esos grupos de informes etiquetados no sean miembros de ese grupo de Desarrolladores general, pero pertenezcan en su lugar a un grupo de IAM distinto que no tiene la política restrictiva aplicada (SecretDevelopers).

En el siguiente ejemplo, se CodeBuild deniegan todas las acciones en los grupos de informes etiquetados con la clave Status y el valor clave deSecret:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Deny", "Action" : [ "codebuild:BatchGetReportGroups," "codebuild:CreateReportGroup", "codebuild:DeleteReportGroup", "codebuild:ListReportGroups", "codebuild:ListReportsForReportGroup", "codebuild:UpdateReportGroup" ] "Resource" : "*", "Condition" : { "StringEquals" : "aws:ResourceTag/Status": "Secret" } } ] }
ejemplo Ejemplo 4: Limitar CodeBuild las acciones AWSCodeBuildDeveloperAccess a las etiquetas de recursos

Puede crear políticas que permitan CodeBuild realizar acciones en todos los grupos de informes y proyectos que no estén etiquetados con etiquetas específicas. Por ejemplo, la siguiente política permite el equivalente de permisos AWSCodeBuildDeveloperAccess para todos los grupos de informes y proyectos excepto los etiquetados con las etiquetas especificadas:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codebuild:StartBuild", "codebuild:StopBuild", "codebuild:BatchGet*", "codebuild:GetResourcePolicy", "codebuild:DescribeTestCases", "codebuild:List*", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:ListBranches", "cloudwatch:GetMetricStatistics", "events:DescribeRule", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "logs:GetLogEvents", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/Status": "Secret", "aws:ResourceTag/Team": "Saanvi" } } } ] }