

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Braket에 대한 액세스 관리
<a name="braket-manage-access"></a>

이 장에서는 Amazon Braket을 실행하거나 특정 사용자 및 역할의 액세스를 제한하는 데 필요한 권한을 설명합니다. 계정의 모든 사용자 또는 역할에 필요한 권한을 부여(또는 거부)할 수 있습니다. 이렇게 하려면 다음 섹션에 설명된 대로 계정의 해당 사용자 또는 역할에 적절한 Amazon Braket 정책을 연결합니다.

사전 조건으로, [Amazon Braket을 활성화](https://docs.aws.amazon.com/braket/latest/developerguide/braket-enable-overview.html)해야 합니다. Braket을 활성화하려면 (1) 관리자 권한이 있거나 (2) **AmazonBraketFullAccess** 정책이 할당되고 Amazon Simple Storage Service(Amazon S3) 버킷을 생성할 권한이 있는 사용자 또는 역할로 로그인해야 합니다.

**Topics**
+ [Amazon Braket 리소스](#resources)
+ [노트북 및 역할](#notebooks-and-roles)
+ [AWS Amazon Braket에 대한 관리형 정책](security-iam-aws-managed-policies.md)
+ [특정 디바이스에 대한 사용자 액세스 제한](restrict-access.md)
+ [특정 노트북 인스턴스에 대한 사용자 액세스 제한](restrict-access-notebook-instances.md)
+ [특정 S3 버킷에 대한 사용자 액세스 제한](restrict-access-s3-buckets.md)

## Amazon Braket 리소스
<a name="resources"></a>

 Braket은 *quantum-task* 리소스라는 한 가지 유형의 리소스를 생성합니다. 이 AWS 리소스 유형의 리소스 이름(ARN)은 다음과 같습니다.
+  **리소스 이름:** *AWS::Service::Braket* 
+  **ARN 정규식:** *arn:\$1\$1Partition\$1:braket:\$1\$1Region\$1:\$1\$1Account\$1:quantum-task/\$1\$1RandomId\$1* 

## 노트북 및 역할
<a name="notebooks-and-roles"></a>

Braket에서 노트북 리소스 유형을 사용할 수 있습니다. 노트북은 Braket이 공유할 수 있는 Amazon SageMaker AI 리소스입니다. Braket에서 노트북을 사용하려면 이름이 `AmazonBraketServiceSageMakerNotebook`으로 시작하는 IAM 역할을 지정해야 합니다.

노트북을 생성하려면 관리자 권한이 있거나 다음과 같은 인라인 정책이 연결된 역할을 사용해야 합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateTheRole",
      "Effect": "Allow",
      "Action": "iam:CreateRole",
      "Resource": "arn:aws:iam::*:role/service-role/AmazonBraketServiceSageMakerNotebookRole*"
    },
    {
      "Sid": "CreateThePolicy",
      "Effect": "Allow",
      "Action": "iam:CreatePolicy",
      "Resource": [
        "arn:aws:iam::*:policy/service-role/AmazonBraketServiceSageMakerNotebookAccess*",
        "arn:aws:iam::*:policy/service-role/AmazonBraketServiceSageMakerNotebookRole*"
      ]
    },
    {
      "Sid": "AttachTheRolePolicy",
      "Effect": "Allow",
      "Action": "iam:AttachRolePolicy",
      "Resource": "arn:aws:iam::*:role/service-role/AmazonBraketServiceSageMakerNotebookRole*",
      "Condition": {
        "ArnLike": {
          "iam:PolicyARN": [
            "arn:aws:iam::aws:policy/AmazonBraketFullAccess",
            "arn:aws:iam::*:policy/service-role/AmazonBraketServiceSageMakerNotebookAccess*",
            "arn:aws:iam::*:policy/service-role/AmazonBraketServiceSageMakerNotebookRole*"
          ]
        }
      }
    }
  ]
}
```

------

역할을 생성하려면 [노트북 생성](https://docs.aws.amazon.com/braket/latest/developerguide/braket-get-started-create-notebook.html) 페이지에 제공된 단계를 따르거나 관리자가 자동으로 역할을 생성하도록 하세요. **AmazonBraketFullAccess** 정책이 역할에 연결되었는지 확인합니다.

역할을 생성한 후 나중에 시작하는 모든 노트북에 해당 역할을 재사용할 수 있습니다.

# AWS Amazon Braket에 대한 관리형 정책
<a name="security-iam-aws-managed-policies"></a>

 AWS 관리형 정책은에서 생성하고 관리하는 독립 실행형 정책입니다 AWS. AWS 관리형 정책은 사용자, 그룹 및 역할에 권한 할당을 시작할 수 있도록 많은 일반적인 사용 사례에 대한 권한을 제공하도록 설계되었습니다.

 AWS 관리형 정책은 모든 AWS 고객이 사용할 수 있으므로 특정 사용 사례에 대해 최소 권한을 부여하지 않을 수 있습니다. 사용 사례에 고유한 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)을 정의하여 권한을 줄이는 것이 좋습니다.

 AWS 관리형 정책에 정의된 권한은 변경할 수 없습니다. 가 관리형 정책에 정의된 권한을 AWS 업데이트하는 AWS 경우 업데이트는 정책이 연결된 모든 보안 주체 자격 증명(사용자, 그룹 및 역할)에 영향을 줍니다. AWS AWS 서비스 는 새가 시작되거나 기존 서비스에 새 API 작업을 사용할 수 있게 될 때 AWS 관리형 정책을 업데이트할 가능성이 높습니다.

자세한 내용은 *IAM 사용자 가이드*의 [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)을 참조하세요.

**Topics**
+ [AWS 관리형 정책: AmazonBraketFullAccess](#about-amazonbraketfullaccess)
+ [AWS 관리형 정책: AmazonBraketJobsExecutionPolicy](#about-amazonbraketjobsexecution)
+ [AWS 관리형 정책: AmazonBraketServiceRolePolicy](#about-amazonbraketservicerolepolicy)
+ [AWS 관리형 정책에 대한 Amazon Braket 업데이트](#braket-aws-managed-policy-updates)

## AWS 관리형 정책: AmazonBraketFullAccess
<a name="about-amazonbraketfullaccess"></a>

**AmazonBraketFullAccess** 정책은 다음 작업에 대한 권한을 포함하여 Amazon Braket 작업에 대한 권한을 부여합니다.
+  **Amazon Elastic Container Registry에서 컨테이너 다운로드** - Amazon Braket Hybrid Jobs 기능에 사용되는 컨테이너 이미지를 읽고 다운로드합니다. 컨테이너는 "arn:aws:ecr:::repository/amazon-braket" 형식을 따라야 합니다.
+  ** AWS CloudTrail 로그 유지** - 쿼리 시작 및 중지, 지표 필터 테스트, 로그 이벤트 필터링 외에도 모든 *설명*, *가져오기* 및 *나열* 작업에 적용됩니다. AWS CloudTrail 로그 파일에는 계정에서 발생하는 모든 Amazon Braket API 활동에 대한 레코드가 포함되어 있습니다.
+  **역할을 활용하여 리소스 제어** - 계정에서 서비스 연결 역할을 생성합니다. 서비스 연결 역할은 사용자를 대신하여 AWS 리소스에 액세스할 수 있습니다. Amazon Braket 서비스에서만 사용할 수 있습니다. 또한 IAM 역할을 Amazon Braket `CreateJob` API에 전달하고 역할을 생성하여 해당 역할에 AmazonBraketFullAccess로 범위가 지정된 정책을 연결합니다.
+  **로그 그룹, 로그 이벤트 및 쿼리 로그 그룹을 생성하여 계정의 사용 로그 파일 유지** – 계정에서 Amazon Braket 사용에 대한 로깅 정보를 생성, 저장하고 확인합니다. 하이브리드 작업 로그 그룹에 대한 지표를 쿼리합니다. 적절한 Braket 경로를 포함하고 로그 데이터 입력을 허용합니다. CloudWatch에 지표 데이터를 넣습니다.
+  **Amazon S3 버킷에 데이터를 생성 및 저장하고 모든 버킷 나열** - S3 버킷을 생성하고 계정의 S3 버킷을 나열하며 이름이 *amazon-braket-*으로 시작하는 계정의 모든 버킷에 객체를 넣고 가져옵니다. 이러한 권한은 Braket이 처리된 양자 작업의 결과가 포함된 파일을 버킷에 넣고 버킷에서 검색하는 데 필요합니다.
+  **IAM 역할 전달** - IAM 역할을 `CreateJob` API에 전달합니다.
+  ** Amazon SageMaker AI 노트북** - "arn:aws:sagemaker:::notebook-instance/amazon-braket-"에서 리소스로 범위가 지정된 SageMaker 노트북 인스턴스를 생성하고 관리합니다.
+  **서비스 할당량 검증** - SageMaker AI 노트북 및 Amazon Braket Hybrid Jobs를 생성하려면 리소스 수가 [계정의 할당량](braket-quotas.md)을 초과할 수 없습니다.
+  **제품 요금 보기** - 워크로드를 제출하기 전에 양자 하드웨어 비용을 검토하고 계획합니다.

이 정책의 권한을 보려면 *AWS 관리형 정책 참조*에서 [AmazonBraketFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBraketFullAccess.html)를 참조하세요.

## AWS 관리형 정책: AmazonBraketJobsExecutionPolicy
<a name="about-amazonbraketjobsexecution"></a>

**AmazonBraketJobsExecutionPolicy** 정책은 다음과 같이 Amazon Braket Hybrid Jobs에서 사용되는 실행 역할에 대한 권한을 부여합니다.
+  **Amazon Elastic Container Registry에서 컨테이너 다운로드** - Amazon Braket Hybrid Jobs 기능에 사용되는 컨테이너 이미지를 읽고 다운로드할 수 있는 권한입니다. 컨테이너는 "arn:aws:ecr:\$1:\$1:repository/amazon-braket\$1" 형식을 따라야 합니다.
+  **로그 그룹, 로그 이벤트 및 쿼리 로그 그룹을 생성하여 계정의 사용 로그 파일 유지** – 계정에서 Amazon Braket 사용에 대한 로깅 정보를 생성, 저장하고 확인합니다. 하이브리드 작업 로그 그룹에 대한 지표를 쿼리합니다. 적절한 Braket 경로를 포함하고 로그 데이터 입력을 허용합니다. CloudWatch에 지표 데이터를 넣습니다.
+  **Amazon S3 버킷에 데이터 저장** – 계정의 S3 버킷을 나열하고 이름이 *amazon-braket-*으로 시작하는 계정의 모든 버킷에 객체를 넣고 가져옵니다. 이러한 권한은 Braket이 처리된 양자 작업의 결과가 포함된 파일을 버킷에 넣고 버킷에서 검색하는 데 필요합니다.
+  **IAM 역할 전달** - IAM 역할을 CreateJob API에 전달합니다. 역할은 arn:aws:iam::\$1:role/service-role/AmazonBraketJobsExecutionRole\$1 형식을 따라야 합니다.

이 정책의 권한을 보려면 *AWS 관리형 정책 참조*의 [AmazonBraketJobsExecutionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBraketJobsExecutionPolicy.html)를 참조하세요.

## AWS 관리형 정책: AmazonBraketServiceRolePolicy
<a name="about-amazonbraketservicerolepolicy"></a>

**AmazonBraketServiceRolePolicy** 정책은 다음 작업에 대한 권한을 포함하여 Amazon Braket 작업에 대한 권한을 부여합니다.
+  **Amazon S3** - 계정의 버킷을 나열하고 이름이 `amazon-braket-`으로 시작하는 계정의 모든 버킷에 객체를 넣고 가져올 수 있는 권한입니다.
+  **Amazon CloudWatch Logs** - 로그 그룹을 나열 및 생성하고 연결된 로그 스트림을 생성하며 Amazon Braket용으로 생성된 로그 그룹에 이벤트를 넣을 수 있는 권한입니다.

서비스 연결 역할에 대한 자세한 내용은 [Amazon Braket 서비스 연결 역할](braket-slr.md)을 참조하세요.

이 정책의 권한을 보려면 *AWS 관리형 정책 참조*의 [AmazonBraketServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBraketServiceRolePolicy.html)를 참조하세요.

## AWS 관리형 정책에 대한 Amazon Braket 업데이트
<a name="braket-aws-managed-policy-updates"></a>

다음 표에는이 서비스가 이러한 변경 사항을 추적하기 시작한 시점부터 Amazon Braket의 AWS 관리형 정책 업데이트에 대한 세부 정보가 나와 있습니다.


|  **변경 사항**  |  **설명**  |  **날짜**  | 
| --- | --- | --- | 
|   [AmazonBraketServiceRolePolicy](#about-amazonbraketservicerolepolicy) - 리소스 관리 정책  |   Amazon S3 및 CloudWatch 로그 작업에 **"aws:ResourceAccount" : "\$1\$1aws:PrincipalAccount\$1"** 조건 범위를 추가했습니다.  |  2025년 7월 11일  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket에 대한 전체 액세스 정책   |   **"pricing:GetProducts"** 작업을 추가했습니다.  |  2025년 4월 14일  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket에 대한 전체 액세스 정책   |   S3 작업에 **"aws:ResourceAccount": "\$1\$1aws:PrincipalAccount\$1"** 조건 범위를 추가했습니다.  |  2025년 3월 7일  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket에 대한 전체 액세스 정책   |  **servicequotas:GetServiceQuota** 및 **cloudwatch:GetMetricData** 작업을 추가했습니다.  |  2023년 3월 24일  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket에 대한 전체 액세스 정책   |  사용된 Amazon S3 버킷을 보고 검사할 수 있는 **s3:ListAllMyBuckets** 권한을 추가했습니다.  |  2022년 3월 31일  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket에 대한 전체 액세스 정책   |   Braket이 `service-role/` 경로를 포함하도록 AmazonBraketFullAccess에 대한 iam:PassRole 권한을 조정했습니다.  |  2021년 11월 29일  | 
|   [AmazonBraketJobsExecutionPolicy](#about-amazonbraketjobsexecution) - Amazon Braket Hybrid Jobs에 대한 하이브리드 작업 실행 정책  |   Braket이 `service-role/` 경로를 포함하도록 하이브리드 작업 실행 역할 ARN을 업데이트했습니다.  |  2021년 11월 29일  | 
|   Braket, 변경 사항 추적 시작  |   Braket이 AWS 관리형 정책에 대한 변경 사항 추적을 시작했습니다.  |  2021년 11월 29일  | 

# 특정 디바이스에 대한 사용자 액세스 제한
<a name="restrict-access"></a>

특정 Braket 디바이스에 대한 사용자 액세스를 제한하려면 특정 IAM 역할에 *권한 거부* 정책을 추가할 수 있습니다.

다음 작업은 제한될 수 있습니다.
+ `CreateQuantumTask` - 지정된 디바이스에서 양자 작업 생성을 거부합니다.
+ `CreateJob` - 지정된 디바이스에서 하이브리드 작업 생성을 거부합니다.
+ `GetDevice` - 지정된 디바이스의 세부 정보 가져오기를 거부합니다.

다음 예제에서는 AWS 계정 `123456789012`의 모든 QPU 대한 액세스를 제한합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
    "Effect": "Deny",
    "Action": [
      "braket:CreateQuantumTask",
      "braket:CreateJob",
      "braket:GetDevice"
    ],
    "Resource": [
    "arn:aws:braket:*:*:device/qpu/*"
    ],
    "Condition": {
             "StringEquals": {
                 "aws:PrincipalAccount": "123456789012"
             }
      }
    }
  ]
}
```

------

**참고**  
Braket 콘솔을 통해 디바이스 가용성, 보정 데이터 및 요금과 같은 디바이스 속성에 대한 사용자의 읽기 액세스를 활성화하려면 정책에서 `braket:GetDevice` 작업을 제외합니다.

이 코드를 조정하려면 제한된 디바이스의 Amazon 리소스 번호(ARN)를 이전 예제에 표시된 문자열로 대체합니다. 이 문자열은 **리소스** 값을 제공합니다. Braket에서 디바이스는 양자 작업을 실행하기 위해 직접적으로 호출할 수 있는 QPU 또는 시뮬레이터를 나타냅니다. 사용 가능한 디바이스는 [디바이스 페이지](https://docs.aws.amazon.com/braket/latest/developerguide/braket-devices.html)에 나열되어 있습니다. 이러한 디바이스에 대한 액세스를 지정하는 데 사용되는 두 가지 스키마가 있습니다.
+  `arn:aws:braket:<region>:*:device/qpu/<provider>/<device_id>` 
+  `arn:aws:braket:<region>:*:device/quantum-simulator/<provider>/<device_id>` 

 **다음은 다양한 유형의 디바이스 액세스에 대한 예제입니다.**
+ 모든 리전에서 모든 QPU를 선택: `arn:aws:braket:*:*:device/qpu/*` 
+ us-west-2 리전에서만 모든 QPU를 선택: `arn:aws:braket:us-west-2:*:device/qpu/*` 
+ 마찬가지로, us-west-2 리전에서만 모든 QPU를 선택(디바이스는 고객 리소스가 아닌 서비스 리소스이므로): `arn:aws:braket:us-west-2:*:device/qpu/*` 
+ 모든 온디맨드 시뮬레이터 디바이스에 대한 액세스를 제한: `arn:aws:braket:*:*:device/quantum-simulator/*` 
+ 특정 공급자의 디바이스(예: Rigetti QPU 디바이스)에 대한 액세스를 제한: `arn:aws:braket:*:*:device/qpu/rigetti/*` 
+ TN1 디바이스에 대한 액세스를 제한: `arn:aws:braket:*:*:device/quantum-simulator/amazon/tn1` 
+ 모든 `Create` 작업에 대한 액세스를 제한: `braket:Create*`

# 특정 노트북 인스턴스에 대한 사용자 액세스 제한
<a name="restrict-access-notebook-instances"></a>

특정 사용자의 특정 Braket 노트북 인스턴스 액세스를 제한하려면 특정 역할, 사용자 또는 그룹에 *권한 거부* 정책을 추가할 수 있습니다.

다음 예제에서는 [정책 변수를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html) 사용하여 액세스 권한이 필요한 사용자에 따라 AWS 계정 `123456789012`이름이 지정된의 특정 노트북 인스턴스를 시작, 중지 및 액세스할 수 있는 권한을 효율적으로 제한합니다(예: 사용자가 라는 노트북 인스턴스에 액세스할 `Alice` 수 있음`amazon-braket-Alice`).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyCreateDeleteUpdateNotebookInstances",
      "Effect": "Deny",
      "Action": [
        "sagemaker:CreateNotebookInstance",
        "sagemaker:DeleteNotebookInstance",
        "sagemaker:UpdateNotebookInstance",
        "sagemaker:CreateNotebookInstanceLifecycleConfig",
        "sagemaker:DeleteNotebookInstanceLifecycleConfig",
        "sagemaker:UpdateNotebookInstanceLifecycleConfig"
      ],
      "Resource": "*"
    },
    {
      "Sid": "DenyDescribeStartStopNotebookInstances",
      "Effect": "Deny",
      "Action": [
        "sagemaker:DescribeNotebookInstance",
        "sagemaker:StartNotebookInstance",
        "sagemaker:StopNotebookInstance"
      ],
      "NotResource": [
        "arn:aws:sagemaker:*:123456789012:notebook-instance/amazon-braket-${aws:username}"
      ]
    },
    {
      "Sid": "DenyNotebookInstanceUrl",
      "Effect": "Deny",
      "Action": [
        "sagemaker:CreatePresignedNotebookInstanceUrl"
      ],
      "NotResource": [
        "arn:aws:sagemaker:*:123456789012:notebook-instance/amazon-braket-${aws:username}*"
      ]
    }
  ]
}
```

------

# 특정 S3 버킷에 대한 사용자 액세스 제한
<a name="restrict-access-s3-buckets"></a>

특정 사용자의 특정 Amazon S3 버컷 액세스를 제한하려면 특정 역할, 사용자 또는 그룹에 거부 정책을 추가할 수 있습니다.

다음 예제에서는 객체를 검색하고 특정 S3 버킷(`arn:aws:s3:::amazon-braket-us-east-1-123456789012-Alice`)에 배치하는 권한을 제한하며 해당 객체를 나열하는 것도 제한합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "s3:ListBucket"
      ],
      "NotResource": [
        "arn:aws:s3:::amazon-braket-us-east-1-123456789012-Alice"
      ]
    },
    {
      "Effect": "Deny",
      "Action": [
        "s3:GetObject"
      ],
      "NotResource": [
        "arn:aws:s3:::amazon-braket-us-east-1-123456789012-Alice/*"
      ]
    }
  ]
}
```

------

특정 노트북 인스턴스의 버킷에 대한 액세스를 제한하려면 이전 정책을 노트북 실행 역할에 추가할 수 있습니다.