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.
Administrar el acceso a Amazon Braket
En este capítulo se describen los permisos necesarios para ejecutarAmazon Braket o para restringir el acceso de usuarios y roles específicos. Puedes conceder (o denegar) los permisos necesarios a cualquier usuario o rol de tu cuenta. Para ello, adjunta la política de Amazon Braket correspondiente a ese usuario o rol de tu cuenta, tal y como se describe en las siguientes secciones.
Como requisito previo, debes habilitar Amazon Braket. Para habilitar Braket, asegúrese de iniciar sesión como usuario o rol que tenga (1) permisos de administrador o (2) tenga asignados la AmazonBraketFullAccesspolítica y los permisos para crear cubos de Amazon Simple Storage Service (Amazon S3).
En esta sección:
- Recursos de de Amazon Braket
- Cuadernos y roles
- Acerca de la AmazonBraketFullAccess política
- Acerca de la AmazonBraketJobsExecutionPolicy política
- Restringir el acceso de los usuarios a ciertos dispositivos
- Actualizaciones de Amazon Braket a las políticasAWS gestionadas
- Restrinja el acceso de los usuarios a determinadas instancias de cuaderno
- Restringir el acceso de los usuarios a ciertos buckets de S3
Recursos de de Amazon Braket
Braket crea un tipo de recurso: el recurso de tareas cuánticas. El nombre de recurso de Amazon (ARN) para este tipo de recurso de Amazon es el siguiente:
-
Nombre del recursoAWS:: :Service: :Braket
-
Regex de ARN: arn: $ {Partition} :braket: $ {Region} :$ {Account} :quantum-task/$ {RandomId}
Cuadernos y roles
Puede utilizar el tipo de recurso del cuaderno en Braket. Un cuaderno es un SageMaker recurso de Amazon que Braket puede compartir. Para usar un bloc de notas con Braket, debe especificar un rol de IAM con un nombre que comience porAmazonBraketServiceSageMakerNotebook
.
Para crear un bloc de notas, debe utilizar un rol con permisos de administrador o que tenga adjunta la siguiente política integrada.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateRole", "Resource": "arn:aws:iam::*:role/service-role/AmazonBraketServiceSageMakerNotebookRole-*" }, { "Effect": "Allow", "Action": "iam:CreatePolicy", "Resource": "arn:aws:iam::*:policy/service-role/AmazonBraketServiceSageMakerNotebookAccess-*" }, { "Effect": "Allow", "Action": "iam:AttachRolePolicy", "Resource": "arn:aws:iam::*:role/service-role/AmazonBraketServiceSageMakerNotebookRole-*", "Condition": { "StringLike": { "iam:PolicyARN": [ "arn:aws:iam::aws:policy/AmazonBraketFullAccess", "arn:aws:iam::*:policy/service-role/AmazonBraketServiceSageMakerNotebookAccess-*" ] } } } ] }
Para crear el rol, siga los pasos que se indican en la página Crear un cuaderno o pídale a su administrador que lo cree por usted. Asegúrese de adjuntar la AmazonBraketFullAccesspolítica.
Una vez que haya creado el rol, podrá volver a usarlo en todos los blocs de notas que lance en el future.
Acerca de la AmazonBraketFullAccess política
La AmazonBraketFullAccesspolítica otorga permisos para las operaciones de Amazon Braket, incluidos los permisos para estas tareas:
-
Amazon Elastic Container Registry: para leer y descargar las imágenes de contenedores que se utilizan para la funciónAmazon Braket Hybrid Jobs. Los contenedores deben tener el formato «arn:aws:ecr: ::repository/amazon-braket».
-
MantengaAWS CloudTrail registros: describa, obtenga y enumere las acciones, además de iniciar y detener consultas, probar los filtros de métricas y filtrar los eventos del registro. El archivo deAWS CloudTrail registro contiene un registro de toda laAPI actividad de Amazon Braket que se produce en tu cuenta.
-
Utilice los roles para controlar los recursos: para crear un rol vinculado a un servicio en su cuenta. El rol vinculado a servicio tiene acceso aAWS los recursos en su nombre. Solo lo puede utilizar el servicio Amazon Braket. Además, transferir las funciones de IAM a Amazon Braket
CreateJob
API y crear una función y adjuntar una política con alcance AmazonBraketFullAccess a la función. -
Crea grupos de registro, registra eventos y grupos de registro de consultas para mantener los archivos de registro de uso de tu cuenta, para crear, almacenar y ver la información de registro sobre el uso de Amazon Braket en tu cuenta. Consulte las métricas de los grupos de registros de trabajos. Incluya la ruta de frenado adecuada y permita colocar los datos de registro. Introduzca los datos métricos CloudWatch.
-
Cree y almacene datos en depósitos de Amazon S3 y haga una lista de todos los depósitos: para crear depósitos de S3, enumere los depósitos de S3 en su cuenta y coloque objetos en cualquier depósito de su cuenta cuyo nombre comience por amazon-braket-. Estos permisos son necesarios para que Braket coloque los archivos que contengan los resultados de las tareas procesadas en el bucket y los recupere del bucket.
-
Transferir funciones de IAM: para transferir funciones de IAM al
CreateJob
API. -
Amazon SageMaker Notebook: para crear y administrarSageMaker instancias de cuadernos incluidas en el recurso desde «arn:aws:sagemaker: ::notebook-instance/amazon-braket-».
Contenido de la Políticas
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:CreateBucket", "s3:PutBucketPublicAccessBlock", "s3:PutBucketPolicy" ], "Resource": "arn:aws:s3:::amazon-braket-*" }, { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "arn:aws:ecr:*:*:repository/amazon-braket*" }, { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/braket*" }, { "Effect": "Allow", "Action": [ "iam:ListRoles", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sagemaker:ListNotebookInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:CreateNotebookInstance", "sagemaker:DeleteNotebookInstance", "sagemaker:DescribeNotebookInstance", "sagemaker:StartNotebookInstance", "sagemaker:StopNotebookInstance", "sagemaker:UpdateNotebookInstance", "sagemaker:ListTags", "sagemaker:AddTags", "sagemaker:DeleteTags" ], "Resource": "arn:aws:sagemaker:*:*:notebook-instance/amazon-braket-*" }, { "Effect": "Allow", "Action": [ "sagemaker:DescribeNotebookInstanceLifecycleConfig", "sagemaker:CreateNotebookInstanceLifecycleConfig", "sagemaker:DeleteNotebookInstanceLifecycleConfig", "sagemaker:ListNotebookInstanceLifecycleConfigs", "sagemaker:UpdateNotebookInstanceLifecycleConfig" ], "Resource": "arn:aws:sagemaker:*:*:notebook-instance-lifecycle-config/amazon-braket-*" }, { "Effect": "Allow", "Action": "braket:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/braket.amazonaws.com/AWSServiceRoleForAmazonBraket*", "Condition": { "StringEquals": { "iam:AWSServiceName": "braket.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/service-role/AmazonBraketServiceSageMakerNotebookRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "sagemaker.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/service-role/AmazonBraketJobsExecutionRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "braket.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "logs:GetQueryResults" ], "Resource": [ "arn:aws:logs:*:*:log-group:*" ] }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream", "logs:CreateLogGroup" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/braket*" }, { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "/aws/braket" } } } ] }
Acerca de la AmazonBraketJobsExecutionPolicy política
La AmazonBraketJobsExecutionPolicypolítica otorga permisos para las funciones de ejecución utilizadas en Amazon Braket Hybrid Jobs de la siguiente manera:
-
Amazon Elastic Container Registry: permisos para leer y descargar imágenes de contenedores que se utilizan en la función Amazon Braket Hybrid Jobs. Los contenedores deben tener el formato «arn:aws:ecr: *:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:repository/
-
Cree grupos de registro y registre eventos y grupos de registro de consultas para mantener los archivos de registro de uso de su cuenta: cree, almacene y vea la información de registro sobre el uso de Amazon Braket en su cuenta. Consulte las métricas de los grupos de registros de trabajos. Incluya la ruta de frenado adecuada y permita colocar los datos de registro. Introduzca los datos métricos CloudWatch.
-
Almacene datos en depósitos de Amazon S3: enumere los depósitos de S3 de su cuenta, coloque objetos y obtenga objetos de cualquier depósito de su cuenta que comience por amazon-braket- en su nombre. Estos permisos son necesarios para que Braket coloque los archivos que contengan los resultados de las tareas procesadas en el bucket y los recupere del bucket.
-
Transferir funciones de IAM: transferir funciones de IAM al CreateJob API. Los roles deben tener el formato arn:aws:iam::role/service-role/AmazonBraketJobsExecutionRole :*.
"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:CreateBucket", "s3:PutBucketPublicAccessBlock", "s3:PutBucketPolicy" ], "Resource": "arn:aws:s3:::amazon-braket-*" }, { "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "arn:aws:ecr:*:*:repository/amazon-braket*" }, { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "braket:CancelJob", "braket:CancelQuantumTask", "braket:CreateJob", "braket:CreateQuantumTask", "braket:GetDevice", "braket:GetJob", "braket:GetQuantumTask", "braket:SearchDevices", "braket:SearchJobs", "braket:SearchQuantumTasks", "braket:ListTagsForResource", "braket:TagResource", "braket:UntagResource" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/service-role/AmazonBraketJobsExecutionRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "braket.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "iam:ListRoles" ], "Resource": "arn:aws:iam::*:role/*" }, { "Effect": "Allow", "Action": [ "logs:GetQueryResults" ], "Resource": [ "arn:aws:logs:*:*:log-group:*" ] }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream", "logs:CreateLogGroup", "logs:GetLogEvents", "logs:DescribeLogStreams", "logs:StartQuery", "logs:StopQuery" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/braket*" }, { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "/aws/braket" } } } ] }
Restringir el acceso de los usuarios a ciertos dispositivos
Para restringir el acceso de ciertos usuarios a ciertos dispositivos Braket, puedes añadir una política de denegación de permisos a unIAM rol específico.
El siguiente ejemplo restringe el acceso a todas las QPU deCuenta de AWS012345678901
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "braket:CreateQuantumTask", "braket:CancelQuantumTask", "braket:GetQuantumTask", "braket:SearchQuantumTasks", "braket:GetDevice", "braket:SearchDevices" ], "Resource": [ "arn:aws:braket:*:*:device/qpu/*" ] } ] }
Para adaptar este código, sustituya la cadena que se muestra en el ejemplo anterior por el número deAmazon recurso (ARN) del dispositivo restringido. Esta cadena proporciona el valor del recurso. En Braket, un dispositivo representa una QPU o un simulador al que puedes llamar para ejecutar tareas cuánticas. Los dispositivos disponibles aparecen en la página Dispositivos. Se utilizan dos esquemas para especificar el acceso a estos dispositivos:
-
arn:aws:braket:<region>:<account id>:device/qpu/<provider>/<device_id>
-
arn:aws:braket:<region>:<account id>:device/quantum-simulator/<provider>/<device_id>
Estos son algunos ejemplos de varios tipos de acceso a dispositivos
-
Para seleccionar todas las QPU de todas las regiones:
arn:aws:braket:*:*:device/qpu/*
-
Para seleccionar únicamente todas las QPU de la región us-west-2:
arn:aws:braket:us-west-2:012345678901:device/qpu/*
-
De manera equivalente, para seleccionar ÚNICAMENTE todas las QPU de la región us-west-2 (ya que los dispositivos son un recurso de servicio, no un recurso del cliente):
arn:aws:braket:us-west-2:* :device/qpu/*
-
Para restringir el acceso a todos los dispositivos de simulador bajo demanda:
arn:aws:braket:* :012345678901:device/quantum-simulator/*
-
Para restringir el acceso alIonQ dispositivo en la región us-east-1:
arn:aws:braket:us-east-1:012345678901:device/ionq/ionQdevice
-
Para restringir el acceso a los dispositivos de un determinado proveedor (por ejemplo, aRigettiQPU los dispositivos):
arn:aws:braket:* :012345678901:device/qpu/rigetti/*
-
Para restringir el acceso alTN1 dispositivo:
arn:aws:braket:* :012345678901:device/quantum-simulator/amazon/tn1
Actualizaciones de Amazon Braket a las políticasAWS gestionadas
En la siguiente tabla se proporcionan detalles sobre las actualizaciones de las actualizaciones de las actualizaciones deAWS las actualizaciones de las actualizaciones de las actualizaciones de las actualizaciones de las actualizaciones de las actualizaciones de las actualizaciones de estas actualizaciones.
Cambio | Descripción | Fecha |
---|---|---|
AmazonBraketFullAccess- Política de acceso completo a Braket |
Se agregó s3:ListAllMyBuckets permisos que permiten a los usuarios ver e inspeccionar los cubos creados y utilizados para Braket. |
31 de marzo de 2022 |
AmazonBraketFullAccess- Política de acceso completo a Braket |
Iam ajustado por corchetes:PassRole permisos AmazonBraketFullAccess para incluir la |
29 de noviembre de 2021 |
AmazonBraketJobsExecutionPolicy- Política de ejecución de trabajos paraAmazon Braket Hybrid Jobs |
Braket actualizó el ARN del rol de ejecución de trabajos para incluir la |
29 de noviembre de 2021 |
Braket comenzó a realizar el seguimiento de los cambios |
Braket comenzó a realizar el seguimiento de los cambios de las actualizaciones de las políticasAWS administradas por. |
29 de noviembre de 2021 |
Restrinja el acceso de los usuarios a determinadas instancias de cuaderno
Para restringir el acceso de ciertos usuarios a instancias específicas de Braket Notebook, puedes añadir una política de denegación de permisos a un rol, usuario o grupo específicos.
El siguiente ejemplo utiliza variables de política para restringir de manera eficiente los permisos para iniciar, detener y acceder a instancias específicas de bloc de notas enCuenta de AWS012345678901
, que se denomina según el usuario que debe tener acceso (por ejemplo, el usuarioAlice
tendría acceso a una instancia de bloc de notas llamadaamazon-braket-Alice
).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "sagemaker:CreateNotebookInstance", "sagemaker:DeleteNotebookInstance", "sagemaker:UpdateNotebookInstance", "sagemaker:CreateNotebookInstanceLifecycleConfig", "sagemaker:DeleteNotebookInstanceLifecycleConfig", "sagemaker:UpdateNotebookInstanceLifecycleConfig" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "sagemaker:DescribeNotebookInstance", "sagemaker:StartNotebookInstance", "sagemaker:StopNotebookInstance", ], "NotResource": [ "arn:aws:sagemaker:*:012345678901:notebook-instance/amazon-braket-${aws:username}" ] }, { "Effect": "Deny", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl" ], "NotResource": [ "arn:aws:sagemaker:*:012345678901:notebook-instance/amazon-braket-${aws:username}*" ] } ] }
Restringir el acceso de los usuarios a ciertos buckets de S3
Para restringir el acceso de ciertos usuarios a buckets específicos de Amazon S3, puede agregar una política de denegación a un rol, usuario o grupo específicos.
El siguiente ejemplo restringe los permisos para recuperar y colocar objetos en unS3 depósito específico (arn:aws:s3:::amazon-braket-us-east-1-012345678901-Alice
) y también restringe la lista de esos objetos.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "s3:ListBucket" ], "NotResource": [ "arn:aws:s3:::amazon-braket-us-east-1-012345678901-Alice" ] }, { "Effect": "Deny", "Action": [ "s3:GetObject" ], "NotResource": [ "arn:aws:s3:::amazon-braket-us-east-1-012345678901-Alice/*" ] } ] }
Para restringir el acceso al bucket para una instancia de bloc de notas determinada, puede agregar la política anterior a la función de ejecución del bloc de notas.