

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 管理對 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 Regex：***arn：\$1\$1Partition\$1：braket：\$1\$1Region\$1：\$1\$1Account\$1：quantum-task/\$1\$1RandomId\$1* 

## 筆記本和角色
<a name="notebooks-and-roles"></a>

您可以在 Braket 中使用 noteboook 資源類型。筆記本是 Braket 可以共用的 Amazon SageMaker AI 資源。若要搭配 Braket 使用筆記本，您必須指定名稱開頭為 的 IAM 角色`AmazonBraketServiceSageMakerNotebook`。

若要建立筆記本，您必須使用具有管理員許可或具有下列內嵌政策的角色。

------
#### [ 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 服務 啟動或新的 API 操作可用於現有服務時， AWS 最有可能更新 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 筆記本** – 建立和管理範圍為資源的SageMaker筆記本執行個體，來源為 "arn：aws：sagemaker：：notebook-instance/amazon-braket-"。
+  ** 驗證服務配額** – 若要建立 SageMaker AI 筆記本和 Amazon Braket Hybrid 任務，您的資源計數不得超過[您帳戶的配額](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 混合任務中使用的執行角色許可，如下所示：
+  **從 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 角色傳遞至 CreateJobAPI。角色必須符合 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 受管政策更新的詳細資訊。


|  **變更**  |  **Description**  |  **日期**  | 
| --- | --- | --- | 
|   [ AmazonBraketServiceRolePolicy](#about-amazonbraketservicerolepolicy) - 資源管理政策  |   已將**「aws：ResourceAccount」：「\$1\$1aws：PrincipalAccount\$1」**條件範圍新增至 Amazon S3 和 CloudWatch 日誌動作。  |  2025 年 7 月 11 日  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket 的完整存取政策   |   新增**「pricing：GetProducts」**動作。  |  2025 年 4 月 14 日  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket 的完整存取政策   |   已將**「aws：ResourceAccount」：「\$1\$1aws：PrincipalAccount\$1」**條件範圍新增至 S3 動作。  |  2025 年 3 月 7 日  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket 的完整存取政策   |  新增 **servicequotas：GetServiceQuota** 和 **cloudwatch：GetMetricData** 動作。  |  2023 年 3 月 24 日  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket 的完整存取政策   |  新增 **s3：ListAllMyBuckets** 許可，以檢視和檢查使用的 Amazon S3 儲存貯體。  |  2022 年 3 月 31 日  | 
|   [AmazonBraketFullAccess](#about-amazonbraketfullaccess) - Braket 的完整存取政策   |   AmazonBraketFullAccess 的 Braket 調整 iam：PassRole 許可，以包含 `service-role/` 路徑。  |  2021 年 11 月 29 日  | 
|   [AmazonBraketJobsExecutionPolicy](#about-amazonbraketjobsexecution) - Amazon Braket 混合任務的混合任務執行政策  |   Braket 更新了混合任務執行角色 ARN，以包含 `service-role/` 路徑。  |  2021 年 11 月 29 日  | 
|   Braket 已開始追蹤變更  |   Braket 開始追蹤其 AWS 受管政策的變更。  |  2021 年 11 月 29 日  | 

# 限制使用者存取特定裝置
<a name="restrict-access"></a>

若要限制特定 Braket 裝置的使用者存取，您可以將*拒絕許可*政策新增至特定IAM角色。

下列動作可以受到限制：
+ `CreateQuantumTask` - 拒絕在指定裝置上建立量子任務。
+ `CreateJob` - 拒絕在特定裝置上建立混合任務。
+ `GetDevice` - 拒絕取得指定裝置的詳細資訊。

下列範例限制存取 的所有 QPUs AWS 帳戶 `123456789012`。

------
#### [ 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:GetDevice`動作，以透過 Braket 主控台啟用使用者對裝置屬性的讀取存取權，例如裝置可用性、校正資料和定價。

若要調整此程式碼，請將受限裝置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>` 

 **以下是各種裝置存取類型的範例** 
+ 若要選取所有區域的所有 QPUs： `arn:aws:braket:*:*:device/qpu/*`
+ 僅選取 us-west-2 區域中的所有 QPUs： `arn:aws:braket:us-west-2:*:device/qpu/*`
+ 相當於，若要選取 us-west-2 區域中的所有 QPUs （因為裝置是服務資源，而不是客戶資源）： `arn:aws:braket:us-west-2:*:device/qpu/*`
+ 若要限制對所有隨需模擬器裝置的存取： `arn:aws:braket:*:*:device/quantum-simulator/*`
+ 若要限制從特定提供者存取裝置 （例如，存取RigettiQPU裝置）： `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/*"
      ]
    }
  ]
}
```

------

若要限制存取特定筆記本執行個體的儲存貯體，您可以將上述政策新增至筆記本執行角色。