

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

# IAM：以程式設計方式和在主控台中允許和拒絕對多個服務的存取
<a name="reference_policies_examples_iam_multiple-services-console"></a>

此範例會示範如何建立身分型政策，允許完整存取 IAM 中的多項服務和有限的自我管理存取權限。此政策也拒絕對 Amazon S3 `logs` 儲存貯體或 Amazon EC2 `i-1234567890abcdef0` 執行個體的存取權限。此政策定義了程式設計和主控台存取的許可。若要使用此政策，請將範例政策中的*斜體預留位置文字*取代為您自己的資訊。然後，遵循[建立政策](access_policies_create.md)或[編輯政策](access_policies_manage-edit.md)中的指示進行操作。

**警告**  
此政策允許在多個服務中對每個動作和資源的完整存取。此政策應該僅適用於信任的管理員。

您可以將此政策用作為許可界線，來定義以身分為基礎的政策可以授予 IAM 使用者的許可上限。如需詳細資訊，請參閱 [使用許可界限委派責任給他人](access_policies_boundaries.md#access_policies_boundaries-delegate)。將此政策用作為使用者的許可界線時，此陳述式會定義以下界線：
+ 此 `AllowServices` 陳述式會允許對指定 AWS 服務的完整存取。這表示使用者在這些服務的動作，僅受限於連接到使用者的許可政策。
+ `AllowIAMConsoleForCredentials` 陳述式允許列出所有 IAM 使用者的存取權。這個存取權是導覽 AWS 管理主控台中 **Users (使用者)** 頁面的必要條件。它也允許檢視帳戶的密碼要求，對於要變更自身密碼的使用者來說這是必要的程序。
+ `AllowManageOwnPasswordAndAccessKeys` 陳述式允許使用者僅管理自己的主控台密碼和程式設計存取金鑰。這很重要，因為如果另一個政策提供使用者完整的 IAM 存取權，則該使用者便可以變更自己或其他使用者的許可。此陳述式可避免此種情況發生。
+ `DenyS3Logs` 陳述式明確拒絕存取 `logs` 儲存貯體。此政策會向該使用者強制執行公司限制。
+ `DenyEC2Production` 陳述式明確拒絕存取 `i-1234567890abcdef0` 執行個體。

此政策不允許存取其他服務或動作。當政策用作使用者的許可界限時，即使連接到使用者的其他政策允許這些動作， 也會 AWS 拒絕請求。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowServices",
            "Effect": "Allow",
            "Action": [
                "s3:*",
                "cloudwatch:*",
                "ec2:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowIAMConsoleForCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:GetAccountPasswordPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnPasswordAndAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:*AccessKey*",
                "iam:ChangePassword",
                "iam:GetUser",
                "iam:*LoginProfile*"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "DenyS3Logs",
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::logs",
                "arn:aws:s3:::logs/*"
            ]
        },
        {
            "Sid": "DenyEC2Production",
            "Effect": "Deny",
            "Action": "ec2:*",
            "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0"
        }
    ]
}
```

------