如何與 IAMAWS Serverless Application Repository 搭配運作 - AWS Serverless Application Repository

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

如何與 IAMAWS Serverless Application Repository 搭配運作

在您使用 IAM 來管理對的存取之前AWS Serverless Application Repository,您應該先了解可與搭配使用的 IAM 功能有哪些AWS Serverless Application Repository。

若要瞭解 IAM 的運作方式概觀,請參閱 IAM 使用者指南中的了解 IAM 的運作方式。若要取得AWS Serverless Application Repository和其他AWS服務如何使用 IAM 的詳細資訊,請參閱《IAM 使用者指南》中的使用 IAMAWS服務

AWS Serverless Application Repository 以身分為基礎的政策

使用 IAM 身分型政策,您可以指定允許或拒絕的動作和資源,以及在何種條件下允許或拒絕哪些動作。AWS Serverless Application Repository 支援特定動作、資源和條件金鑰。若要了解您在 JSON 政策中使用的所有元素,請參閱《IAM 使用者指南》中的 JSON 政策元素參考

以下顯示許可政策範例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateApplication", "Effect": "Allow", "Action": [ "serverlessrepo:CreateApplication" ], "Resource": "*" }, { "Sid": "CreateApplicationVersion", "Effect": "Allow", "Action": [ "serverlessrepo:CreateApplicationVersion" ], "Resource": "arn:partition:serverlessrepo:region:account-id:applications/application-name" } ] }

此政策具有兩個陳述式:

  • 第一個陳述式授予對所有 AWS Serverless Application Repository 資源執行 AWS Serverless Application Repository 動作 serverlessrepo:CreateApplication 的許可,因為 Resource 值是指定萬用字元 (*)。

  • 第二個陳述AWS Serverless Application Repository式會AWS Serverless Application Repository針serverlessrepo:CreateApplicationVersion對應用程式使用 AmazonAWS 資源名稱 (ARN) 來授予資源動作的權限。應用程式由 Resource 值指定。

此政策不指定 Principal 元素,因為您不會在以身分為基礎的政策中,指定取得許可的主體。當您將政策連接至使用者時,這名使用者即為隱含主體。當您將許可政策連接至 IAM 角色,該角色的信任政策中所識別的主體即取得許可。

如需顯示所有AWS Serverless Application Repository API 作業及其適用AWS資源的表格,請參閱AWS Serverless Application RepositoryAPI 許可:動作和資源參考

動作

管理員可以使用 AWS JSON 政策來指定誰可以存取哪些內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

JSON 政策的 Action 元素描述您可以用來允許或拒絕政策中存取的動作。政策動作的名稱通常會和相關聯的 AWS API 操作相同。有一些例外狀況,例如沒有相符的 API 作業的僅限許可動作。也有一些作業需要政策中的多個動作。這些額外的動作稱為相依動作

政策會使用動作來授予執行相關聯操作的許可。

AWS Serverless Application Repository 中的政策動作會在動作之前使用以下字首:serverlessrepo:。例如,若要授予某人使用 AWS Serverless Application Repository SearchApplications API 操作來執行 AWS Serverless Application Repository 執行個體的許可,請在其政策中加入 serverlessrepo:SearchApplications 動作。政策陳述式必須包含 ActionNotAction 元素。AWS Serverless Application Repository 會定義自己的一組動作,描述您可以使用此服務執行的任務。

若要在單一陳述式中指定多個動作,請用逗號分隔,如下所示:

"Action": [ "serverlessrepo:action1", "serverlessrepo:action2" ]

您也可以使用萬用字元 (*) 來指定多個動作。例如,若要指定開頭是 List 文字的所有動作,請包含以下動作:

"Action": "serverlessrepo:List*"

若要查看 AWS Serverless Application Repository 動作的清單,請參閱《IAM 使用者指南》AWS Serverless Application Repository 定義的動作

資源

管理員可以使用 AWS JSON 政策來指定誰可以存取哪些內容。也就是說,哪個主體在什麼条件下可以對什麼資源執行哪些動作

Resource JSON 政策元素可指定要套用動作的物件。陳述式必須包含 ResourceNotResource 元素。最佳實務是使用其 Amazon Resource Name (ARN) 來指定資源。您可以針對支援特定資源類型的動作 (稱為資源層級許可) 來這麼做。

對於不支援資源層級許可的動作 (例如列出作業),請使用萬用字元 (*) 來表示陳述式適用於所有資源。

"Resource": "*"

在中AWS Serverless Application Repository,主要AWS資源是AWS Serverless Application Repository應用程式。 AWS Serverless Application Repository應用程式各與唯一的 Amazon 資源名稱 (ARN) 相關聯,如下表所示。

AWS資源類型 Amazon Resource Name (ARN) 格式
應用

arn:partition:serverlessrepo:region:account-id:applications/application-name

如需 ARN 格式的詳細資訊,請參閱 Amazon Resource Name (ARN) 和 AWS 服務命名空間

以下是針對所有AWS資源授與serverlessrepo:ListApplications動作權限的範例原則。在目前的實作中,AWS Serverless Application Repository不支援在某些 API 動作中使用AWS資源 ARN (也稱為資源層級許可) 以識別特定AWS資源。所以您必須指定萬用字元 (*)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListExistingApplications", "Effect": "Allow", "Action": [ "serverlessrepo:ListApplications" ], "Resource": "*" } ] }

如需顯示所有AWS Serverless Application Repository API 動作及其套用AWS資源的表格,請參閱AWS Serverless Application RepositoryAPI 許可:動作和資源參考

條件索引鍵

AWS Serverless Application Repository 不提供任何服務專用條件金鑰,但它支援使用一些全域條件金鑰。若要查看 AWS 全域條件索引鍵,請參閱《IAM 使用者指南》中的 AWS 全域條件內容金鑰

範例

若要檢視 AWS Serverless Application Repository 身分型政策範例,請參閱 AWS Serverless Application Repository 身分型政策範例

AWS Serverless Application Repository申請政策

應用程式原則會決定指定的主體或 Principalorg 可以在AWS Serverless Application Repository應用程式上執行的動作。

您可以將許可新增到與 AWS Serverless Application Repository 應用程式相關聯的政策中。附加至AWS Serverless Application Repository應用程式的權限原則稱為應用程式原則應用程式政策IAM 資源型政策的延伸。主要資源是AWS Serverless Application Repository應用程式。您可以使用 AWS Serverless Application Repository 應用程式政策來管理應用程式部署許可。

AWS Serverless Application Repository 應用程式政策主要是由發佈者用來授予使用者部署其應用程式以及相關操作 (例如搜尋和檢視這些應用程式的詳細資料) 的許可。發佈者可以將應用程式許可設定為下列三種類別:

  • 私人 — 使用相同帳戶建立且尚未與任何其他帳戶共用的應用程式。您有權限部署使用您的AWS帳戶建立的應用程式。

  • 私下共用 — 發行者已明確與特定AWS帳戶集或 OrganAWS izations 共用的應用程式。您有權限部署已與您的AWS帳戶或AWS組織共用的應用程式。

  • 公開共用 — 發行者已與所有人共用的應用程式。您有權部署任何公開共用的應用程式。

您可以使用AWS CLI、AWS SDK 或AWS Management Console.

範例

若要檢視管理AWS Serverless Application Repository應用程式原則的範例,請參閱AWS Serverless Application Repository應用政策範例

以 AWS Serverless Application Repository 標籤為基礎的授權

AWS Serverless Application Repository 不支援根據標籤來控制對資源或動作的存取。

AWS Serverless Application RepositoryIAM 角色

IAM 角色是您 AWS 帳戶中具備特定許可的實體。

使用暫時登入資料搭配 AWS Serverless Application Repository

您可以使用暫時憑證來以聯合身分登入、擔任 IAM 角色,或是擔任跨帳戶角色。您取得暫時安全憑證的方式是透過呼叫AssumeRole或等AWS STS API 操作GetFederationToken

AWS Serverless Application Repository 支援使用臨時登入資料。

服務連結角色

AWS Serverless Application Repository 不支援服務連結角色。

服務角色

AWS Serverless Application Repository 不支援服務角色。