AWS Lambda 的動作、資源和條件索引鍵 - 服務授權參考

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

AWS Lambda 的動作、資源和條件索引鍵

AWS Lambda (服務前置詞:lambda) 提供下列服務特定資源、動作和條件內容金鑰,供 IAM 許可政策使用。

參考資料:

AWS Lambda 定義的動作

您可在 IAM 政策陳述式的 Action 元素中指定以下動作。使用政策來授予在 AWS中執行操作的許可。在政策中使用動作時,通常會允許或拒絕存取相同名稱的 API 操作或 CLI 命令。不過,在某些情況下,單一動作可控制對多個操作的存取。或者,某些操作需要多種不同的動作。

「動作」資料表的資源類型欄會指出每個動作是否支援資源層級的許可。如果此欄沒有值,您必須在政策陳述式的 Resource 元素中指定政策適用的所有資源 ("*")。如果資料欄包含資源類型,則您可以在具有該動作的陳述式中指定該類型的 ARN。如果動作具有一或多個必要資源,呼叫者必須具有對這些資源使用動作的許可。表格中的必要資源會以星號 (*) 表示。如果您使用 IAM 政策中的 Resource 元素限制資源存取,則每種必要的資源類型必須要有 ARN 或模式。某些動作支援多種資源類型。如果資源類型是選用 (未顯示為必要),則您可以選擇使用其中一種選用資源類型。

「動作」資料表的條件索引鍵欄包含您可以在政策陳述式的 Condition 元素中指定的索引鍵。如需有關與服務資源相關聯之條件索引鍵的詳細資訊,請參閱「資源類型」資料表的條件索引鍵欄。

注意

資源條件索引鍵會列在資源類型資料表中。您可以在「動作」資料表的資源類型 (*必填) 欄中找到適用於動作的資源類型連結。「資源類型」資料表中的資源類型包括條件索引鍵欄,其中包含套用至「動作」資料表中動作的資源條件索引鍵。

如需下表各欄的詳細資訊,請參閱動作資料表

動作 描述 存取層級 資源類型 (*必填項目) 條件索引鍵 相依動作
AddLayerVersionPermission 授予將權限新增至 AWS Lambda 層版本的以資源為基礎的政策 許可管理

layerVersion*

AddPermission 授與授予 AWS 服務或其他帳戶使用 AWS Lambda 函數的權限 許可管理

function*

lambda:Principal

lambda:FunctionUrlAuthType

CreateAlias 授予建立 Lambda 函數版本別名的許可 寫入

function*

CreateCodeSigningConfig 授予建立 AWS Lambda 程式碼簽章設定的權限 寫入
CreateEventSourceMapping 授予在事件來源和 AWS Lambda 函數之間建立對應的權限 寫入

lambda:FunctionArn

CreateFunction 授予建立 AWS Lambda 函數的權限 寫入

function*

iam:PassRole

lambda:Layer

lambda:VpcIds

lambda:SubnetIds

lambda:SecurityGroupIds

lambda:CodeSigningConfigArn

aws:RequestTag/${TagKey}

aws:TagKeys

CreateFunctionUrlConfig 准許針對 Lambda 函數建立函數 URL 組態 寫入

function*

lambda:FunctionUrlAuthType

lambda:FunctionArn

DeleteAlias 授予刪除 AWS Lambda 函數別名的權限 寫入

function*

DeleteCodeSigningConfig 授予刪除 AWS Lambda 程式碼簽章設定的權限 寫入

code signing config*

DeleteEventSourceMapping 授予刪除 AWS Lambda 事件來源對應的權限 寫入

eventSourceMapping*

lambda:FunctionArn

DeleteFunction 授予刪除 AWS Lambda 函數的權限 寫入

function*

DeleteFunctionCodeSigningConfig 授予從 AWS Lambda 函數中分離程式碼簽章設定的權限 寫入

function*

DeleteFunctionConcurrency 授予從 AWS Lambda 函數移除並行執行限制的權限 寫入

function*

DeleteFunctionEventInvokeConfig 授予刪除 AWS Lambda 函數、版本或別名之非同步叫用組態的權限 寫入

function*

DeleteFunctionUrlConfig 准許刪除 Lambda 函數的函數 URL 組態 寫入

function*

lambda:FunctionUrlAuthType

lambda:FunctionArn

DeleteLayerVersion 授予刪除 AWS Lambda 層版本的權限 寫入

layerVersion*

DeleteProvisionedConcurrencyConfig 授予刪除 AWS Lambda 函數佈建並行設定的權限 寫入

function alias

function version

DisableReplication [僅限許可] 授予停用 Lambda @Edge 函數複寫的許可 許可管理

function*

EnableReplication [僅限許可] 授予啟用 Lambda @Edge 函數複寫的許可 許可管理

function*

GetAccountSettings 授予查看有關帳戶限制和使用情況的詳細信息的權限 AWS 區域 讀取
GetAlias 授予檢視 AWS Lambda 函數別名詳細資料的權限 讀取

function*

GetCodeSigningConfig 授予檢視 AWS Lambda 程式碼簽章設定詳細資料的權限 讀取

code signing config*

GetEventSourceMapping 授予檢視 AWS Lambda 事件來源對應詳細資料的權限 讀取

eventSourceMapping*

lambda:FunctionArn

GetFunction 授予檢視 AWS Lambda 函數詳細資料的權限 讀取

function*

GetFunctionCodeSigningConfig 授予檢視連接至 AWS Lambda 函數的程式碼簽章設定 arn 的權限 讀取

function*

GetFunctionConcurrency 授予檢視函數之保留並行組態詳細資訊的許可 讀取

function*

GetFunctionConfiguration 授予檢視 AWS Lambda 函數或版本之版本特定設定詳細資料的權限 讀取

function*

GetFunctionEventInvokeConfig 授予檢視函數、版本或別名的非同步叫用組態的許可 讀取

function*

GetFunctionUrlConfig 准許讀取 Lambda 函數的函數 URL 組態 讀取

function*

lambda:FunctionUrlAuthType

lambda:FunctionArn

GetLayerVersion 授予檢視 AWS Lambda 層版本詳細資料的權限。請注意,此動作也支援 GetLayerVersionByArn API 讀取

layerVersion*

GetLayerVersionPolicy 授予檢視 AWS Lambda 層版本之資源型政策的權限 讀取

layerVersion*

GetPolicy 授予檢視 AWS Lambda 函數、版本或別名以資源為基礎的政策的權限 讀取

function*

GetProvisionedConcurrencyConfig 授予檢視 AWS Lambda 函數別名或版本佈建並行設定的權限 讀取

function alias

function version

GetRuntimeManagementConfig 授予檢視 AWS Lambda 函數執行階段管理組態的權限 讀取

function*

InvokeAsync 准許非同步叫用函數 (已取代) 寫入

function*

InvokeFunction 授予叫用 AWS Lambda 函數的權限 寫入

function*

lambda:EventSourceToken

InvokeFunctionUrl [僅限許可] 授予透過網址叫用 AWS Lambda 函數的權限 寫入

function*

lambda:FunctionUrlAuthType

lambda:FunctionArn

lambda:EventSourceToken

ListAliases 授予擷取 AWS Lambda 函數別名清單的權限 清單

function*

ListCodeSigningConfigs 授予擷取 AWS Lambda 程式碼簽章設定清單的權限 清單
ListEventSourceMappings 授予擷取 AWS Lambda 事件來源對應清單的權限 清單
ListFunctionEventInvokeConfigs 准許擷取函數的非同步叫用之組態清單 清單

function*

ListFunctionUrlConfigs 准許讀取函數的函數 URL 組態 清單

function*

lambda:FunctionUrlAuthType

ListFunctions 授予擷取 AWS Lambda 函數清單的權限,以及每個函數的版本特定組態 清單
ListFunctionsByCodeSigningConfig 授予透過指派的程式碼簽章組態擷取 AWS Lambda 函數清單的權限 清單

code signing config*

ListLayerVersions 授予擷取 AWS Lambda 層版本清單的權限 清單
ListLayers 授予擷取 AWS Lambda 層清單的權限,以及每個層最新版本的詳細資料 清單
ListProvisionedConcurrencyConfigs 授與擷取 AWS Lambda 函數佈建並行設定清單的權限 清單

function*

ListTags 授予擷取 AWS Lambda 函數標籤清單的權限 讀取

function*

ListVersionsByFunction 授予擷取 AWS Lambda 函數版本清單的權限 清單

function*

PublishLayerVersion 授予建立 AWS Lambda 層的權限 寫入

layer*

PublishVersion 授予建立 AWS Lambda 函數版本的權限 寫入

function*

PutFunctionCodeSigningConfig 授予將程式碼簽章設定附加至 AWS Lambda 函數的權限 寫入

code signing config*

function*

lambda:CodeSigningConfigArn

PutFunctionConcurrency 授予為 AWS Lambda 函數設定保留並行的權限 寫入

function*

PutFunctionEventInvokeConfig 授予在 AWS Lambda 函數、版本或別名上設定非同步叫用選項的權限 寫入

function*

PutProvisionedConcurrencyConfig 授予為 AWS Lambda 函數別名或版本設定佈建並行的權限 寫入

function alias

function version

PutRuntimeManagementConfig 授予更新 AWS Lambda 函數執行階段管理組態的權限 寫入

function*

RemoveLayerVersionPermission 授予從 AWS Lambda 層版本的許可政策中移除陳述式的權限 許可管理

layerVersion*

RemovePermission 授予撤銷 AWS 服務或其他帳戶的功能使用權限的權限 許可管理

function*

lambda:Principal

lambda:FunctionUrlAuthType

TagResource 授予將標籤新增至 AWS Lambda 函數的權限 標記

function*

aws:RequestTag/${TagKey}

aws:TagKeys

UntagResource 授予從 AWS Lambda 函數移除標籤的權限 標記

function*

aws:TagKeys

UpdateAlias 授予更新 AWS Lambda 函數別名組態的權限 寫入

function*

UpdateCodeSigningConfig 授予更新 AWS Lambda 程式碼簽章設定的權限 寫入

code signing config*

UpdateEventSourceMapping 授予更新 AWS Lambda 事件來源對應組態的權限 寫入

eventSourceMapping*

lambda:FunctionArn

UpdateFunctionCode 授予更新 AWS Lambda 函數程式碼的權限 寫入

function*

UpdateFunctionCodeSigningConfig 授予更新 AWS Lambda 函數之程式碼簽章設定的權限 寫入

code signing config*

function*

UpdateFunctionConfiguration 授予修改 Lambda 函數之版本特定設定的 AWS 權限 寫入

function*

lambda:Layer

lambda:VpcIds

lambda:SubnetIds

lambda:SecurityGroupIds

UpdateFunctionEventInvokeConfig 授予修改 AWS Lambda 函數、版本或別名之非同步叫用組態的權限 寫入

function*

UpdateFunctionUrlConfig 准許針對 Lambda 函數更新函數 URL 組態 寫入

function*

lambda:FunctionUrlAuthType

lambda:FunctionArn

AWS Lambda 定義的資源類型

此服務會定義下列資源類型,並可用在 IAM 許可政策陳述式的 Resource 元素中。動作資料表中的每個動作都會指明可使用該動作指定的資源類型。資源類型也能定義您可以在政策中包含哪些條件索引鍵。這些索引鍵都會顯示在「資源類型」資料表的最後一欄。如需下表各欄的詳細資訊,請參閱資源類型資料表

資源類型 ARN 條件索引鍵
code signing config arn:${Partition}:lambda:${Region}:${Account}:code-signing-config:${CodeSigningConfigId}
eventSourceMapping arn:${Partition}:lambda:${Region}:${Account}:event-source-mapping:${UUID}
function arn:${Partition}:lambda:${Region}:${Account}:function:${FunctionName}

aws:ResourceTag/${TagKey}

function alias arn:${Partition}:lambda:${Region}:${Account}:function:${FunctionName}:${Alias}

aws:ResourceTag/${TagKey}

function version arn:${Partition}:lambda:${Region}:${Account}:function:${FunctionName}:${Version}

aws:ResourceTag/${TagKey}

layer arn:${Partition}:lambda:${Region}:${Account}:layer:${LayerName}
layerVersion arn:${Partition}:lambda:${Region}:${Account}:layer:${LayerName}:${LayerVersion}

AWS Lambda 的條件索引鍵

AWS Lambda 會定義下列可用於 IAM 政策Condition元素的條件金鑰。您可以使用這些索引鍵來縮小套用政策陳述式的條件。如需下表各欄的詳細資訊,請參閱條件索引鍵資料表

若要檢視所有服務都可使用的全域條件索引鍵,請參閱可用全域條件索引鍵

條件索引鍵 描述 類型
aws:RequestTag/${TagKey} 依要求中傳遞的標籤來篩選存取權 字串
aws:ResourceTag/${TagKey} 依與資源關聯的標籤來篩選存取權 字串
aws:TagKeys 依要求中傳遞的標籤索引鍵來篩選存取權 ArrayOfString
lambda:CodeSigningConfigArn 透過 AWS Lambda 程式碼簽章設定的 ARN 篩選存取 ARN
lambda:EventSourceToken 從針對 AWS Lambda 函數設定的非AWS 事件來源,依 ID 篩選存取 字串
lambda:FunctionArn 透過 AWS Lambda 函數的 ARN 篩選存取 ARN
lambda:FunctionUrlAuthType 依請求中指定的授權類型篩選存取權。在 CreateFunctionUrlConfig、、、 UpdateFunctionUrlConfig DeleteFunctionUrlConfig GetFunctionUrlConfig、 ListFunctionUrlConfig AddPermission 和 RemovePermission 作業期間可用 字串
lambda:Layer 根據 AWS Lambda 層的某個版本的 ARN 篩選存取 ArrayOfString
lambda:Principal 限制可以叫用函數的 AWS 服務或帳戶來篩選存取 字串
lambda:SecurityGroupIds 依據針對 AWS Lambda 函數設定的安全群組識別碼篩選存取 ArrayOfString
lambda:SourceFunctionArn 依據要求產生來源之 AWS Lambda 函數的 ARN 篩選存取 ARN
lambda:SubnetIds 依據針對 AWS Lambda 函數設定的子網路識別碼篩選存取 ArrayOfString
lambda:VpcIds 依據針對 AWS Lambda 函數設定的 VPC 識別碼篩選存取 字串