

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

# AWS CodeStar Notifications 的許可和範例
<a name="security_iam_id-based-policy-examples-notifications"></a>

下列政策陳述式和範例可協助您管理 AWS CodeStar Notifications。

## 完整存取受管政策中的通知相關許可
<a name="notifications-fullaccess"></a>

**AWSCodeCommitFullAccess**、**AWSCodeBuildAdminAccess**、**AWSCodeDeployFullAccess** 和 **AWSCodePipeline\_FullAccess** 受管政策包括下列陳述式，允許完整存取開發人員工具主控台中的通知。已套用上述其中一個受管政策的使用者，也可以建立和管理通知的 Amazon SNS 主題、讓使用者訂閱和取消訂閱主題，以及列出可選擇作為通知規則目標的主題。

**注意**  
在受管理政策中，條件金鑰 `codestar-notifications:NotificationsForResource` 具有服務的資源類型所特有的值。例如，在 CodeCommit 的完整存取政策中，值為 `arn:aws:codecommit:*`。

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:<vendor-code>:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsSNSTopicCreateAccess",
        "Effect": "Allow",
        "Action": [
            "sns:CreateTopic",
            "sns:SetTopicAttributes"
        ],
        "Resource": "arn:aws:sns:*:*:codestar-notifications*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

## 唯讀受管政策中的通知相關許可
<a name="notifications-readonly"></a>

**AWSCodeCommitReadOnlyAccess**、**AWSCodeBuildReadOnlyAccess**、**AWSCodeDeployReadOnlyAccess** 和 **AWSCodePipeline\_ReadOnlyAccess** 受管政策包括下列陳述式，允許唯讀存取通知。例如，他們可以在開發人員主控台中檢視資源的通知，但無法建立、管理或訂閱通知。

**注意**  
在受管理政策中，條件金鑰 `codestar-notifications:NotificationsForResource` 具有服務的資源類型所特有的值。例如，在 CodeCommit 的完整存取政策中，值為 `arn:aws:codecommit:*`。

```
   {
        "Sid": "CodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:DescribeNotificationRule"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:<vendor-code>:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListEventTypes",
            "codestar-notifications:ListTargets"
        ],
        "Resource": "*"
    }
```

## 其他受管政策中的通知相關許可
<a name="notifications-otheraccess"></a>

**AWSCodeCommitPowerUser**、**AWSCodeBuildDeveloperAccess** 和 **AWSCodeBuildDeveloperAccess** 受管政策括下列陳述式，允許已套用上述其中一個受管政策的開發人員，建立、編輯和訂閱通知。他們無法刪除通知規則或管理資源的標籤。

**注意**  
在受管理政策中，條件金鑰 `codestar-notifications:NotificationsForResource` 具有服務的資源類型所特有的值。例如，在 CodeCommit 的完整存取政策中，值為 `arn:aws:codecommit:*`。

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:<vendor-code>:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:ListEventTypes"
        ],
        "Resource": "*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsChatbotAccess",
        "Effect": "Allow",
        "Action": [
            "chatbot:DescribeSlackChannelConfigurations",
            "chatbot:ListMicrosoftTeamsChannelConfigurations"
          ],
       "Resource": "*"
    }
```

## 範例：管理 AWS CodeStar Notifications 的管理員層級政策
<a name="security_iam_id-based-policy-examples-notifications-full-access"></a>

在此範例中，您想要授予 AWS 帳戶中的 IAM 使用者 AWS CodeStar Notifications 的完整存取權，讓使用者可以檢閱通知規則的詳細資訊，並列出通知規則、目標和事件類型。您也希望允許使用者新增、更新和刪除通知規則。這是完整存取政策，相當於納入 **AWSCodeBuildAdminAccess**、**AWSCodeCommitFullAccess**、**AWSCodeDeployFullAccess** 和 **AWSCodePipeline\_FullAccess** 受管政策中的通知許可。如同這些受管政策，您應該只將這類政策陳述式連接到需要完整管理存取 AWS 您帳戶間通知和通知規則的 IAM 使用者、群組或角色。

**注意**  
此政策包含 `CreateNotificationRule`。將此政策套用至其 IAM 使用者或角色的任何使用者，將能夠為 AWS 帳戶中 AWS CodeStar Notifications 支援的任何和所有資源類型建立通知規則，即使該使用者本身無法存取這些資源。例如，具有此政策的使用者可以建立 CodeCommit 儲存庫的通知規則，而沒有存取 CodeCommit 本身的許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "AWSCodeStarNotificationsFullAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe",
            "codestar-notifications:DeleteTarget",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource",
            "codestar-notifications:TagResource",
            "codestar-notifications:UntagResource"
        ],
        "Resource": "*"
     }
   ]
}
```

------

## 範例：使用 AWS CodeStar Notifications 的貢獻者層級政策
<a name="security_iam_id-based-policy-examples-notifications-contributor"></a>

在此範例中，您想要授予 AWS CodeStar Notifications day-to-day使用存取權，例如建立和訂閱通知，但不要授予更具破壞性的動作，例如刪除通知規則或目標。這相當於 **AWSCodeBuildDeveloperAccess**、**AWSCodeDeployDeveloperAccess** 和 **AWSCodeCommitPowerUser** 受管政策中提供的存取權。

**注意**  
此政策包含 `CreateNotificationRule`。將此政策套用至其 IAM 使用者或角色的任何使用者，將能夠為 AWS 帳戶中 AWS CodeStar Notifications 支援的任何和所有資源類型建立通知規則，即使該使用者本身無法存取這些資源。例如，具有此政策的使用者可以建立 CodeCommit 儲存庫的通知規則，而沒有存取 CodeCommit 本身的許可。

```
{
    "Version": "2012-10-17",		 	 	 
    "Sid": "AWSCodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource"
        ],
        "Resource": "*"
        }
    ]
}
```

## 範例：使用 AWS CodeStar Notifications 的read-only-level政策
<a name="security_iam_id-based-policy-examples-notifications-read-only"></a>

在此範例中，您希望授予您帳戶中 IAM 使用者對 AWS 帳戶中的通知規則、目標和事件類型的唯讀存取權。此範例會示範如何建立允許檢視這些項目的政策。這相當於納入 **AWSCodeBuildReadOnlyAccess**、**AWSCodeCommitReadOnly** 和 **AWSCodePipeline\_ReadOnlyAccess** 受管政策中的許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "CodeNotificationforReadOnly",
    "Statement": [
        {
            "Sid": "ReadsAccess",
            "Effect": "Allow",
            "Action": [
                "codestar-notifications:DescribeNotificationRule",
                "codestar-notifications:ListNotificationRules",
                "codestar-notifications:ListTargets",
                "codestar-notifications:ListEventTypes"
            ],
            "Resource": "*"
        }
    ]
}
```

------