

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

# Amazon ECR 中的私有儲存庫政策
<a name="repository-policies"></a>

Amazon ECR 使用資源型許可來控制儲存庫的存取。資源型許可可讓您指定哪些使用者或角色可存取儲存庫，以及他們可以對儲存庫執行哪些動作。根據預設，只有建立儲存庫 AWS 的帳戶可以存取儲存庫。您可以套用儲存庫政策，以允許對儲存庫進行其他存取。

**Topics**
+ [儲存庫政策與 IAM 政策的比較](#repository-policy-vs-iam-policy)
+ [Amazon ECR 中的私有儲存庫政策範例](repository-policy-examples.md)
+ [在 Amazon ECR 中設定私有儲存庫政策陳述式](set-repository-policy.md)

## 儲存庫政策與 IAM 政策的比較
<a name="repository-policy-vs-iam-policy"></a>

Amazon ECR 儲存庫政策是 IAM 政策的子集，其範圍和專門用於控制對單個 Amazon ECR 儲存庫的存取。IAM 政策通常用於套用整個 Amazon ECR 服務的許可，但也可用於控制對特定資源的存取。

在決定特定使用者或角色可以對儲存庫執行哪些動作時，Amazon ECR 儲存庫政策和 IAM 政策都會用到。如果使用者或角色透過儲存庫政策獲准執行某個動作，但是透過 IAM 政策被拒絕許可 (反之亦然)，則該動作將被拒絕。透過儲存庫政策或 IAM 政策任何一個即可允許使用者或角色的動作許可，但不需要兩者都允許。

**重要**  
Amazon ECR 要求使用者擁有透過 IAM 政策呼叫 `ecr:GetAuthorizationToken` API 的許可，然後才能對登錄檔進行身分驗證，並從任何 Amazon ECR 儲存庫推送或提取任何映像。Amazon ECR 提供多種受管 IAM 政策，以控制不同層級的使用者存取。如需詳細資訊，請參閱[Amazon Elastic Container Registry 身分型政策的範例](security_iam_id-based-policy-examples.md)。

您可以使用這些政策類型的任何一個，來控制對您儲存庫的存取，如下列範例所示。

此範例顯示一個 Amazon ECR 儲存庫政策，允許特定使用者描述儲存庫和儲存庫中的映像。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ECRRepositoryPolicy",
            "Effect": "Allow",
            "Principal": {"AWS": "arn:aws:iam::{{111122223333}}:user/{{username}}"},
            "Action": [
                "ecr:DescribeImages",
                "ecr:DescribeRepositories"
            ],
            "Resource": "*"
        }
    ]
}
```

------

此範例顯示一個 IAM 政策，透過使用資源參數將政策的範圍限定在儲存庫 (以儲存庫的完整 ARN 指定)，可達成上述相同的目標。如需有關 Amazon 資源名稱 (ARN) 格式的詳細資訊，請參閱 [Resources](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribeRepoImage",
            "Effect": "Allow",
            "Action": [
                "ecr:DescribeImages",
                "ecr:DescribeRepositories"
            ],
            "Resource": ["arn:aws:ecr:us-east-1:{{111122223333}}:repository/{{repository-name}}"]
        }
    ]
}
```

------