本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
簡化程式設計存取 AWS 服務 的資訊
AWS 提供 JSON 格式的服務參考資訊,以簡化政策管理工作流程的自動化。透過 服務參考資訊,您可以從 AWS 服務 機器可讀取的檔案跨 存取可用的動作、資源和條件索引鍵。安全管理員可以建立護欄,開發人員可以透過識別每個 的可用動作、資源和條件索引鍵來確保應用程式的適當存取 AWS 服務。 AWS 提供 的服務參考資訊 AWS 服務 ,可讓您將中繼資料納入政策管理工作流程。
如需用於 IAM 政策的動作、資源和條件索引鍵的庫存,請參閱 的服務授權參考頁面 AWS 服務。
服務授權參考中的共用服務字首之服務的動作、資源和條件索引鍵可以分割為多個頁面。
服務授權參考中呈現的內容可能會以不同方式呈現,或包含不同的中繼資料。如需詳細資訊,請參閱其他欄位定義。
注意
服務參考資訊的變更最多可能需要 24 小時才會反映在服務的中繼資料清單中。
存取 AWS 服務 參考資訊
-
導覽至服務參考資訊
,以存取可用的 AWS 服務 參考資訊的 清單。 下列範例顯示其個別參考資訊的部分服務和 URLs 清單:
[ { "service": "s3", "url": "https://servicereference.us-east-1.amazonaws.com/v1/s3/s3.json" }, { "service": "dynamodb", "url": "https://servicereference.us-east-1.amazonaws.com/v1/dynamodb/dynamodb.json" }, … ]
-
選擇服務並導覽至服務
url
欄位中的服務資訊頁面,以檢視服務的動作、資源和條件索引鍵清單。下列範例顯示 Amazon S3 的部分服務參考資訊清單:
{ "Name": "s3", "Actions": [ { "Name": "GetObject", "ActionConditionKeys": [ "s3:AccessGrantsInstanceArn", "s3:AccessPointNetworkOrigin", "s3:DataAccessPointAccount", "s3:DataAccessPointArn", "s3:ExistingObjectTag/key", "s3:ResourceAccount", "s3:TlsVersion", "s3:authType", "s3:if-match", "s3:if-none-match", "s3:signatureAge", "s3:signatureversion", "s3:x-amz-content-sha256" ], "Annotations" : { "Properties" : { "IsList" : false, "IsPermissionManagement" : false, "IsTaggingOnly" : false, "IsWrite" : false } }, "Resources": [ { "Name": "object" } ] }, { "Name": "ListBucket", "ActionConditionKeys": [ "s3:AccessGrantsInstanceArn", "s3:AccessPointNetworkOrigin", "s3:DataAccessPointAccount", "s3:DataAccessPointArn", "s3:ResourceAccount", "s3:TlsVersion", "s3:authType", "s3:delimiter", "s3:max-keys", "s3:prefix", "s3:signatureAge", "s3:signatureversion", "s3:x-amz-content-sha256" ], "Annotations" : { "Properties" : { "IsList" : true, "IsPermissionManagement" : false, "IsTaggingOnly" : false, "IsWrite" : false } }, "Resources": [ { "Name": "bucket" } ] }, ... ], "ConditionKeys": [ { "Name": "s3:TlsVersion", "Types": [ "Numeric" ] }, { "Name": "s3:authType", "Types": [ "String" ] }, ... ], "Resources": [ { "Name": "accesspoint", "ARNFormats": [ "arn:${Partition}:s3:${Region}:${Account}:accesspoint/${AccessPointName}" ] }, { "Name": "bucket", "ARNFormats": [ "arn:${Partition}:s3:::${BucketName}" ] } ... ], "Version": "v1.2" }
-
從服務 URL 下載 JSON 檔案,以用於您的政策撰寫工作流程。
其他欄位定義
動作屬性提供有關服務動作的其他中繼資料,以協助根據其許可範圍進行分類。這些屬性位於每個動作的 Annotations
欄位下。中繼資料包含四個布林值:
-
IsList
– 提供探索和列出資源的許可,包括基本中繼資料,而無需存取資源內容。範例 – 此屬性
true
適用於 Amazon S3ListBucket
動作,允許使用者檢視儲存貯體清單,而無需自行存取物件。 -
IsPermissionManagement
– 提供修改 IAM 許可或存取登入資料的許可。範例 – 此屬性
true
適用於大多數 IAM 和 AWS Organizations 動作,以及PutBucketPolicy
和 等 Amazon S3 動作DeleteBucketPolicy
。 -
IsTaggingOnly
– 僅提供修改標籤的許可。範例 – 此屬性
true
適用於 IAM 動作TagRole
和UntagRole
,而此屬性false
適用於 ,CreateRole
因為它提供超出標記範圍的許可。 -
IsWrite
– 提供修改 資源的許可,其中可能包括標籤修改。範例 – 此屬性
true
適用於 Amazon S3 動作CreateBucket
、 和DeleteBucket
,PutObject
因為它們允許資源修改。
注意
這些屬性不互斥。動作可能將多個屬性設定為 true
。
所有屬性也可能是 false
,如 Amazon S3 GetObject
的動作所示。這表示動作只會授予物件的讀取許可。
這些屬性可用來產生 服務的洞見。下列範例顯示具有 s3
字首的哪些許可允許變更資源:
> curl https://servicereference.us-east-1.amazonaws.com/v1/s3/s3.json | \ jq '.Actions[] | select(.Annotations.Properties.IsWrite == true) | .Name' "AssociateAccessGrantsIdentityCenter" "BypassGovernanceRetention" "CreateAccessGrant" "CreateAccessGrantsInstance" "CreateAccessGrantsLocation" ...
下列範例顯示哪些動作條件索引鍵具有 lambda
字首,您可以用來限制對許可管理動作的存取:
> curl https://servicereference.us-east-1.amazonaws.com/v1/lambda/lambda.json | \ jq '.Actions[] | select(.Annotations.Properties.IsPermissionManagement == true) | {Name: .Name, ActionConditionKeys: (.ActionConditionKeys // [])}' { "Name": "AddLayerVersionPermission", "ActionConditionKeys": [] } { "Name": "AddPermission", "ActionConditionKeys": [ "lambda:FunctionUrlAuthType", "lambda:Principal" ] } { "Name": "DisableReplication", "ActionConditionKeys": [] } { "Name": "EnableReplication", "ActionConditionKeys": [] } { "Name": "RemoveLayerVersionPermission", "ActionConditionKeys": [] } { "Name": "RemovePermission", "ActionConditionKeys": [ "lambda:FunctionUrlAuthType", "lambda:Principal" ] }